info:
  description: VMware NSX-T Manager REST API
  title: NSX-T Manager API
  version: 3.1.0.0.0
schemes:
- https
produces:
- application/json
securityDefinitions:
  BasicAuth:
    description: HTTP Basic Authentication
    type: basic
host: nsxmanager.your.domain
security:
- BasicAuth: []
swagger: '2.0'
basePath: /api/v1
paths:
  /aaa/features-with-properties:
    get:
      consumes:
      - application/json
      description: |
        List features
      operationId: ListFeatures
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeaturePermissionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List feature permissions
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/registration-token:
    post:
      consumes:
      - application/json
      description: |-
        The privileges of the registration token will be the same as the caller.
      operationId: CreateRegistrationToken
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RegistrationToken'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create registration access token
      tags:
      - System Administration, Settings, User Management, Access Token
      x-vmw-nsx-module: RegistrationTokenEndPoint
  /aaa/registration-token/{token}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete registration access token
      operationId: DeleteRegistrationToken
      parameters:
      - description: |-
          Registration token
        in: path
        name: token
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete registration access token
      tags:
      - System Administration, Settings, User Management, Access Token
      x-vmw-nsx-module: RegistrationTokenEndPoint
    get:
      consumes:
      - application/json
      description: |-
        Get registration access token
      operationId: GetRegistrationToken
      parameters:
      - description: |-
          Registration token
        in: path
        name: token
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RegistrationToken'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get registration access token
      tags:
      - System Administration, Settings, User Management, Access Token
      x-vmw-nsx-module: RegistrationTokenEndPoint
  /aaa/role-bindings:
    get:
      consumes:
      - application/json
      description: |-
        Get all users and groups with their roles
      operationId: GetAllRoleBindings
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Identity source ID
        in: query
        name: identity_source_id
        required: false
        type: string
      - description: Identity source type
        enum:
        - VIDM
        - LDAP
        - OIDC
        in: query
        name: identity_source_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: User/Group name
        in: query
        name: name
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Role ID
        in: query
        name: role
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Type
        enum:
        - remote_user
        - remote_group
        - local_user
        - principal_identity
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleBindingListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all users and groups with their roles
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
    post:
      consumes:
      - application/json
      description: |
        When assigning a user role, specify the user name with the same
        case as it appears in vIDM to access the NSX-T user interface.
        For example, if vIDM has the user name User1@example.com then
        the name attribute in the API call must be be User1@example.com
        and cannot be user1@example.com.
      operationId: CreateRoleBinding
      parameters:
      - in: body
        name: RoleBinding
        required: true
        schema:
          $ref: '#/definitions/RoleBinding'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Assign roles to User or Group
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/role-bindings/{binding-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete user/group's roles assignment
      operationId: DeleteRoleBinding
      parameters:
      - description: |-
          User/Group's id
        in: path
        name: binding-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete user/group's roles assignment
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
    get:
      consumes:
      - application/json
      description: |-
        Get user/group's role information
      operationId: GetRoleBinding
      parameters:
      - description: |-
          User/Group's id
        in: path
        name: binding-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get user/group's role information
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
    put:
      consumes:
      - application/json
      description: |-
        Update User or Group's roles
      operationId: UpdateRoleBinding
      parameters:
      - description: |-
          User/Group's id
        in: path
        name: binding-id
        required: true
        type: string
      - in: body
        name: RoleBinding
        required: true
        schema:
          $ref: '#/definitions/RoleBinding'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update User or Group's roles
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/role-bindings?action=delete_stale_bindings:
    post:
      consumes:
      - application/json
      description: |-
        Delete all stale role assignments
      operationId: DeleteAllStaleRoleBindingsDelete_stale_bindings
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete all stale role assignments
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/roles:
    get:
      consumes:
      - application/json
      description: |-
        Get information about all roles
      operationId: GetAllRolesInfo
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get information about all roles
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/roles-with-feature-permissions:
    get:
      consumes:
      - application/json
      description: |-
        Get information about all roles with features and their permissions
      operationId: ListRolesInfo
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleWithFeaturesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get information about all roles with features and their permissions
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/roles/{role}:
    delete:
      consumes:
      - application/json
      description: |
        If a role is assigned to a role binding then the deletion of
        the role is not allowed. Precanned roles cannot be deleted.
      operationId: DeleteRole
      parameters:
      - description: |-
          Custom role id
        in: path
        name: role
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete custom role
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
    get:
      consumes:
      - application/json
      description: |-
        Get role information
      operationId: GetRoleInfo
      parameters:
      - description: |-
          Role id
        in: path
        name: role
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleWithFeatures'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get role information
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
    put:
      consumes:
      - application/json
      description: |
        Creates a new role with id as <role> if there does not exist any
        role with id <role>, else updates the existing role.
      operationId: CreateOrUpdateRole
      parameters:
      - description: |-
          Custom role id
        in: path
        name: role
        required: true
        type: string
      - in: body
        name: RoleWithFeatures
        required: true
        schema:
          $ref: '#/definitions/RoleWithFeatures'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoleWithFeatures'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update custom role
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/roles/{role}?action=clone:
    post:
      consumes:
      - application/json
      description: |
        The role with id <role> is cloned and the new id, name and description are
        the ones provided in the request body.
      operationId: CloneRoleClone
      parameters:
      - description: |-
          Role id
        in: path
        name: role
        required: true
        type: string
      - in: body
        name: NewRole
        required: true
        schema:
          $ref: '#/definitions/NewRole'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NewRole'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Clone an already present role
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/roles?action=validate:
    post:
      consumes:
      - application/json
      description: |
        Validate the permissions of an incoming role. Also, recommend the
        permissions which need to be corrected.
      operationId: ValidateAndRecommendPermissionsValidate
      parameters:
      - in: body
        name: FeaturePermissionArray
        required: true
        schema:
          $ref: '#/definitions/FeaturePermissionArray'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RecommendedFeaturePermissionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Validate a new feature permission set
      tags:
      - System Administration, Settings, User Management, Roles
      x-vmw-nsx-module: AAA
  /aaa/user-info:
    get:
      consumes:
      - application/json
      description: |
        This API will return the name and role information of the user
        invoking this API request. This API is available for all NSX users
        no matter their authentication method (Local account, VIDM, LDAP etc).
        The permissions parameter of the NsxRole has been deprecated.
      operationId: GetCurrentUserInfo
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UserInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the name and role information of the user.
      tags:
      - System Administration, Settings, User Management, Users
      x-vmw-nsx-module: AAA
  /aaa/vidm/groups:
    get:
      consumes:
      - application/json
      description: |-
        Get all the User Groups where vIDM display name matches the search key case insensitively. The search key is checked to be a substring of display name. This is a non paginated API.
      operationId: GetGroupVidmSearchResult
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: 'Search string to search for.

          '
        in: query
        name: search_string
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VidmInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all the User Groups where vIDM display name matches the search key case insensitively. The search key is checked to be a substring of display name. This is a non paginated API.
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: AAA
  /aaa/vidm/search:
    post:
      consumes:
      - application/json
      description: |-
        Get all the users and groups from vIDM matching the search key case insensitively. The search key is checked to be a substring of name or given name or family name of user and display name of group. This is a non paginated API.
      operationId: GetVidmSearchResult
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: 'Search string to search for.

          '
        in: query
        name: search_string
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VidmInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all the users and groups from vIDM matching the search key case insensitively. The search key is checked to be a substring of name or given name or family name of user and display name of group. This is a non paginated API.
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: AAA
  /aaa/vidm/users:
    get:
      consumes:
      - application/json
      description: |-
        Get all the users from vIDM whose userName, givenName or familyName matches the search key case insensitively. The search key is checked to be a substring of name or given name or family name. This is a non paginated API.
      operationId: GetUserVidmSearchResult
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: 'Search string to search for.

          '
        in: query
        name: search_string
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VidmInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all the users from vIDM whose userName, givenName or familyName matches the search key case insensitively. The search key is checked to be a substring of name or given name or family name. This is a non paginated API.
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: AAA
  /administration/audit-logs:
    post:
      consumes:
      - application/json
      description: |
        This API is executed on a manager node to display audit logs from all nodes
        inside the management plane cluster. An audit log collection will be
        triggered if the local master audit log is outdated.
      operationId: CollectAuditLogs
      parameters:
      - in: body
        name: AuditLogRequest
        required: true
        schema:
          $ref: '#/definitions/AuditLogRequest'
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        format: int64
        in: query
        name: cursor
        type: integer
      - description: Fields to include in query results
        in: query
        name: fields
        type: string
      - default: 100
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 100
        minimum: 0
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AuditLogListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Collect audit logs from registered manager nodes
      tags:
      - System Administration, Monitoring, Logs, Audit Logs
      x-vmw-nsx-module: NodeAuditLog
  /administration/support-bundles?action=collect:
    post:
      consumes:
      - application/json
      description: |-
        Collect support bundles from registered cluster and fabric nodes.
      operationId: CollectSupportBundlesCollect
      parameters:
      - in: body
        name: SupportBundleRequest
        required: true
        schema:
          $ref: '#/definitions/SupportBundleRequest'
      - default: false
        description: Override any existing support bundle async response
        in: query
        name: override_async_response
        type: boolean
      - default: false
        description: Suppress auto-deletion of generated support bundle
        in: query
        name: require_delete_or_override_async_response
        type: boolean
      produces:
      - application/json
      - application/octet-stream
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SupportBundleResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Collect support bundles from registered cluster and fabric nodes
      tags:
      - System Administration, Settings, Support Bundle
      x-vmw-nsx-module: NodeSupportBundle
  /administration/support-bundles?action=delete_async_response:
    post:
      consumes:
      - application/json
      description: |-
        Delete existing support bundles waiting to be downloaded.
      operationId: DeleteSupportBundlesAsyncResponseDelete_async_response
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete existing support bundles waiting to be downloaded
      tags:
      - System Administration, Settings, Support Bundle
      x-vmw-nsx-module: NodeSupportBundle
  /alarms:
    get:
      consumes:
      - application/json
      description: |-
        Returns a list of all Alarms currently known to the system.
      operationId: GetAlarms
      parameters:
      - description: Timestamp in milliseconds since epoch
        format: int64
        in: query
        name: after
        required: false
        type: integer
      - description: Timestamp in milliseconds since epoch
        format: int64
        in: query
        name: before
        required: false
        type: integer
      - description: Cursor for pagination
        in: query
        name: cursor
        required: false
        type: string
      - description: Event Type Filter
        in: query
        name: event_type
        required: false
        type: string
      - description: Feature Name
        in: query
        name: feature_name
        required: false
        type: string
      - description: Alarm ID
        in: query
        name: id
        required: false
        type: string
      - description: Intent Path for entity ID
        in: query
        name: intent_path
        required: false
        type: string
      - description: Node ID
        in: query
        name: node_id
        required: false
        type: string
      - description: Node Resource Type
        in: query
        name: node_resource_type
        required: false
        type: string
      - description: Page Size for pagination
        format: int64
        in: query
        name: page_size
        required: false
        type: integer
      - description: Severity
        in: query
        name: severity
        required: false
        type: string
      - default: true
        description: Represents order of sorting the values
        in: query
        name: sort_ascending
        required: false
        type: boolean
      - description: Key for sorting on this column
        in: query
        name: sort_by
        required: false
        type: string
      - description: Status
        in: query
        name: status
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AlarmsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of all Alarms currently known to the system.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /alarms/{alarm-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns alarm associated with alarm-id. If HTTP status 404 is returned,
        this means the specified alarm-id is invalid or the alarm with alarm-id
        has been deleted. An alarm is deleted by the system if it is RESOLVED
        and older than eight days. The system can also delete the remaining
        RESOLVED alarms sooner to free system resources when too many alarms
        are being generated. When this happens the oldest day's RESOLVED alarms
        are deleted first.
      operationId: GetAlarm
      parameters:
      - in: path
        name: alarm-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Alarm'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Alarm identified by alarm-id.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /alarms/{alarm-id}?action=set_status:
    post:
      consumes:
      - application/json
      description: |-
        Update status of an Alarm. The new_status value can be OPEN, ACKNOWLEDGED, SUPPRESSED, or RESOLVED. If new_status is SUPPRESSED, the suppress_duration query parameter must also be specified.
      operationId: UpdateAlarmStatusSet_status
      parameters:
      - in: path
        name: alarm-id
        required: true
        type: string
      - description: Status
        enum:
        - OPEN
        - ACKNOWLEDGED
        - SUPPRESSED
        - RESOLVED
        in: query
        name: new_status
        required: true
        type: string
      - description: Duration in hours for which Alarm should be suppressed
        format: int64
        in: query
        name: suppress_duration
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Alarm'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update staus of alarm identified by alarm-id.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /alarms?action=set_status:
    post:
      consumes:
      - application/json
      description: |-
        Bulk update the status of zero or more Alarms that match the specified filters. The new_status value can be OPEN, ACKNOWLEDGED, SUPPRESSED, or RESOLVED. If new_status is SUPPRESSED, the suppress_duration query parameter must also be specified.
      operationId: BulkUpdateAlarmsSet_status
      parameters:
      - description: Timestamp in milliseconds since epoch
        format: int64
        in: query
        name: after
        required: false
        type: integer
      - description: Timestamp in milliseconds since epoch
        format: int64
        in: query
        name: before
        required: false
        type: integer
      - description: Cursor for pagination
        in: query
        name: cursor
        required: false
        type: string
      - description: Event Type Filter
        in: query
        name: event_type
        required: false
        type: string
      - description: Feature Name
        in: query
        name: feature_name
        required: false
        type: string
      - description: Alarm ID
        in: query
        name: id
        required: false
        type: string
      - description: Intent Path for entity ID
        in: query
        name: intent_path
        required: false
        type: string
      - description: Status
        enum:
        - OPEN
        - ACKNOWLEDGED
        - SUPPRESSED
        - RESOLVED
        in: query
        name: new_status
        required: true
        type: string
      - description: Node ID
        in: query
        name: node_id
        required: false
        type: string
      - description: Node Resource Type
        in: query
        name: node_resource_type
        required: false
        type: string
      - description: Page Size for pagination
        format: int64
        in: query
        name: page_size
        required: false
        type: integer
      - description: Severity
        in: query
        name: severity
        required: false
        type: string
      - default: true
        description: Represents order of sorting the values
        in: query
        name: sort_ascending
        required: false
        type: boolean
      - description: Key for sorting on this column
        in: query
        name: sort_by
        required: false
        type: string
      - description: Status
        in: query
        name: status
        required: false
        type: string
      - description: Duration in hours for which Alarm should be suppressed
        format: int64
        in: query
        name: suppress_duration
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Bulk update the status of zero or more Alarms.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /associations:
    get:
      consumes:
      - application/json
      description: |
        Returns information about resources that are associated with the given
        resource. Id and type of the resource for which associated resources are
        to be fetched are to be specified as query parameter in the URI. Resource
        type of the associated resources must be specified as query
        parameter.
      operationId: GetAssociations
      parameters:
      - description: Resource type valid for use as target in association API
        enum:
        - NSGroup
        in: query
        name: associated_resource_type
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: 'Fetch complete list of associated resources considering

          containment and nesting

          '
        in: query
        name: fetch_ancestors
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: The resource for which associated resources are to be fetched
        in: query
        name: resource_id
        required: true
        type: string
      - description: Resource type valid for use as source in association API
        enum:
        - NSGroup
        - IPSet
        - MACSet
        - LogicalSwitch
        - LogicalPort
        - VirtualMachine
        - DirectoryGroup
        - VirtualNetworkInterface
        - TransportNode
        - IPAddress
        - CloudNativeServiceInstance
        - PhysicalServer
        in: query
        name: resource_type
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AssociationListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get ResourceReference objects to which the given resource belongs to
      tags:
      - Management Plane API, Associations
      x-vmw-nsx-module: Association
  /automatic-health-check-toggle:
    get:
      consumes:
      - application/json
      description: |-
        Get detailed info for automatic health check toggle.
      operationId: GetAutomaticHealthCheckToggle
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AutomaticHealthCheckToggle'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get automatic health check toggle
      tags:
      - System Administration, Monitoring, Health Checks
      x-vmw-nsx-module: HealthCheck
    put:
      consumes:
      - application/json
      description: |-
        Change status of automatic health check toggle to enabled/disabled.
      operationId: UpdateAutomaticHealthCheckToggle
      parameters:
      - in: body
        name: AutomaticHealthCheckToggle
        required: true
        schema:
          $ref: '#/definitions/AutomaticHealthCheckToggle'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AutomaticHealthCheckToggle'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update automatic health check toggle
      tags:
      - System Administration, Monitoring, Health Checks
      x-vmw-nsx-module: HealthCheck
  /automatic-health-checks:
    get:
      consumes:
      - application/json
      description: |
        Query automatic health checks with list parameters.
      operationId: ListAutomaticHealthChecks
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AutomaticHealthCheckListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List automatic health checks
      tags:
      - System Administration, Monitoring, Health Checks
      x-vmw-nsx-module: HealthCheck
  /automatic-health-checks/transport-zones/{transport-zone-id}:
    get:
      consumes:
      - application/json
      description: |
        Get health check performed by system automatically for specific transport
        zone.
      operationId: GetAutomaticHealthCheck
      parameters:
      - in: path
        name: transport-zone-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AutomaticHealthCheck'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an automatic health check
      tags:
      - System Administration, Monitoring, Health Checks
      x-vmw-nsx-module: HealthCheck
  /batch:
    post:
      consumes:
      - application/json
      description: |
        Enables you to make multiple API requests using a single request. The batch
        API takes in an array of logical HTTP requests represented as JSON arrays.
        Each request has a method (GET, PUT, POST, or DELETE), a relative_url (the
        portion of the URL after https://&lt;nsx-mgr&gt;/api/), optional headers
        array (corresponding to HTTP headers) and an optional body (for POST and PUT
        requests). The batch API returns an array of logical HTTP responses
        represented as JSON arrays. Each response has a status code, an optional
        headers array and an optional body (which is a JSON-encoded string).
      operationId: RegisterBatchRequest
      parameters:
      - in: body
        name: BatchRequest
        required: true
        schema:
          $ref: '#/definitions/BatchRequest'
      - default: false
        description: transactional atomicity for the batch of requests embedded in
          the batch list
        in: query
        name: atomic
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BatchResponse'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register a Collection of API Calls at a Single End Point
      tags:
      - System Administration, Configuration, NSX Managers, API Services, API Request
        Batching
      x-vmw-nsx-module: Batch
  /bridge-clusters:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all configured bridge clusters
      operationId: ListBridgeClusters
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeClusterListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Bridge Clusters
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: BridgeCluster
    post:
      consumes:
      - application/json
      description: |
        Creates a bridge cluster. It is collection of transport nodes
        that will do the bridging for overlay network to vlan networks.
        Bridge cluster may have one or more transport nodes
      operationId: CreateBridgeCluster
      parameters:
      - in: body
        name: BridgeCluster
        required: true
        schema:
          $ref: '#/definitions/BridgeCluster'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BridgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Bridge Cluster
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: BridgeCluster
  /bridge-clusters/{bridgecluster-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Removes the specified Bridge Cluster.
      operationId: DeleteBridgeCluster
      parameters:
      - in: path
        name: bridgecluster-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Bridge Cluster
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: BridgeCluster
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified bridge cluster.
      operationId: GetBridgeCluster
      parameters:
      - in: path
        name: bridgecluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Information about a bridge cluster
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: BridgeCluster
    put:
      consumes:
      - application/json
      description: |
        Modifies a existing bridge cluster. One of more transport nodes
        can be added or removed from the bridge cluster using this API.
      operationId: UpdateBridgeCluster
      parameters:
      - in: path
        name: bridgecluster-id
        required: true
        type: string
      - in: body
        name: BridgeCluster
        required: true
        schema:
          $ref: '#/definitions/BridgeCluster'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Bridge Cluster
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: BridgeCluster
  /bridge-clusters/{cluster-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Get the status for the Bridge Cluster of the given cluster id
      operationId: GetBridgeClusterStatus
      parameters:
      - in: path
        name: cluster-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeClusterStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns status of a specified Bridge Cluster
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Clusters
      x-vmw-nsx-module: AggSvcBridging
  /bridge-endpoint-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all configured bridge endoint profiles
      operationId: ListBridgeEndpointProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Edge Cluster Identifier
        in: query
        name: edge_cluster_id
        required: false
        type: string
      - in: query
        name: failover_mode
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Bridge Endpoint Profiles
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoint Profiles
      x-vmw-nsx-module: BridgeEndpointProfile
    post:
      consumes:
      - application/json
      description: |
        Creates a Bridge Endpoint Profile. Profile contains edge cluster id,
        indexes of the member nodes, fialover mode and high availability mode
        for a Bridge EndPoint
      operationId: CreateBridgeEndpointProfile
      parameters:
      - in: body
        name: BridgeEndpointProfile
        required: true
        schema:
          $ref: '#/definitions/BridgeEndpointProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BridgeEndpointProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Bridge Endpoint Profile
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoint Profiles
      x-vmw-nsx-module: BridgeEndpointProfile
  /bridge-endpoint-profiles/{bridgeendpointprofile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified Bridge Endpoint Profile.
      operationId: DeleteBridgeEndpointProfile
      parameters:
      - in: path
        name: bridgeendpointprofile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Bridge Endpoint Profile
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoint Profiles
      x-vmw-nsx-module: BridgeEndpointProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified bridge endpoint profile.
      operationId: GetBridgeEndpointProfile
      parameters:
      - in: path
        name: bridgeendpointprofile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Information about a bridge endpoint Profile
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoint Profiles
      x-vmw-nsx-module: BridgeEndpointProfile
    put:
      consumes:
      - application/json
      description: |
        Modifies a existing bridge endpoint profile.
      operationId: UpdateBridgeEndpointProfile
      parameters:
      - in: path
        name: bridgeendpointprofile-id
        required: true
        type: string
      - in: body
        name: BridgeEndpointProfile
        required: true
        schema:
          $ref: '#/definitions/BridgeEndpointProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Bridge Endpoint Profile
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoint Profiles
      x-vmw-nsx-module: BridgeEndpointProfile
  /bridge-endpoints:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all configured bridge endoints
      operationId: ListBridgeEndpoints
      parameters:
      - description: Bridge Cluster Identifier
        in: query
        name: bridge_cluster_id
        required: false
        type: string
      - description: Bridge endpoint profile used by the edge cluster
        in: query
        name: bridge_endpoint_profile_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Logical Switch Identifier
        in: query
        name: logical_switch_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: VLAN transport zone id used by the edge cluster
        in: query
        name: vlan_transport_zone_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Bridge Endpoints
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: BridgeEndpoint
    post:
      consumes:
      - application/json
      description: |
        Creates a Bridge Endpoint. It describes the physical attributes of the
        bridge like vlan. A logical port can be attached to a vif providing
        bridging functionality from the logical overlay network to the physical
        vlan network
      operationId: CreateBridgeEndpoint
      parameters:
      - in: body
        name: BridgeEndpoint
        required: true
        schema:
          $ref: '#/definitions/BridgeEndpoint'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BridgeEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Bridge Endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: BridgeEndpoint
  /bridge-endpoints/{bridgeendpoint-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified Bridge Endpoint.
      operationId: DeleteBridgeEndpoint
      parameters:
      - in: path
        name: bridgeendpoint-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Bridge Endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: BridgeEndpoint
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified bridge endpoint.
      operationId: GetBridgeEndpoint
      parameters:
      - in: path
        name: bridgeendpoint-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Information about a bridge endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: BridgeEndpoint
    put:
      consumes:
      - application/json
      description: |
        Modifies a existing bridge endpoint.
      operationId: UpdateBridgeEndpoint
      parameters:
      - in: path
        name: bridgeendpoint-id
        required: true
        type: string
      - in: body
        name: BridgeEndpoint
        required: true
        schema:
          $ref: '#/definitions/BridgeEndpoint'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Bridge Endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: BridgeEndpoint
  /bridge-endpoints/{endpoint-id}/statistics:
    get:
      consumes:
      - application/json
      description: |-
        Get the statistics for the Bridge Endpoint of the given Endpoint id (endpoint-id)
      operationId: GetBridgeEndpointStatistics
      parameters:
      - in: path
        name: endpoint-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns statistics of a specified Bridge Endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: AggSvcBridging
  /bridge-endpoints/{endpoint-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Get the status for the Bridge Endpoint of the given Endpoint id
      operationId: GetBridgeEndpointStatus
      parameters:
      - in: path
        name: endpoint-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BridgeEndpointStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns status of a specified Bridge Endpoint
      tags:
      - Management Plane API, Networking, Logical Bridging, Bridge Endpoints
      x-vmw-nsx-module: AggSvcBridging
  /capacity/threshold:
    get:
      consumes:
      - application/json
      description: |-
        Returns warning threshold(s) set for NSX Objects.
      operationId: GetProtonCapacityThresholds
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CapacityThresholdList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns warning threshold(s) set for NSX Objects.
      tags:
      - System Administration, Monitoring, Dashboards, Capacity Dashboard
      x-vmw-nsx-module: ProtonCapacityDashboard
    put:
      consumes:
      - application/json
      description: |
        Updates the warning threshold(s) for NSX Objects specified, and returns
        new threshold(s). Threshold list in the request must contain value for GLOBAL_DEFAULT
        threshold_type which represents global thresholds.
      operationId: UpdateProtonCapacityThresholds
      parameters:
      - in: body
        name: CapacityThresholdList
        required: true
        schema:
          $ref: '#/definitions/CapacityThresholdList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CapacityThresholdList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Updates the warning threshold(s) for NSX Objects.
      tags:
      - System Administration, Monitoring, Dashboards, Capacity Dashboard
      x-vmw-nsx-module: ProtonCapacityDashboard
  /capacity/usage:
    get:
      consumes:
      - application/json
      description: |-
        Returns capacity usage data for NSX objects
      operationId: GetProtonCapacityUsage
      parameters:
      - in: query
        name: category
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: true
        in: query
        name: force
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CapacityUsageResponse'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns capacity usage data for NSX objects
      tags:
      - System Administration, Monitoring, Dashboards, Capacity Dashboard
      x-vmw-nsx-module: ProtonCapacityDashboard
  /cluster:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the NSX cluster configuration. An NSX cluster has
        two functions or purposes, commonly referred to as "roles." These two roles
        are control and management. Each NSX installation has a single cluster.
        Separate NSX clusters do not share data. In other words, a given data-plane
        node is attached to only one cluster, not to multiple clusters.
      operationId: ReadClusterConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Cluster Configuration
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
  /cluster-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of cluster profiles
        Cluster profiles define policies for edge cluster and bridge cluster.
      operationId: ListClusterProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: true
        description: Whether the list result contains system resources
        in: query
        name: include_system_owned
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Supported cluster profiles.
        enum:
        - EdgeHighAvailabilityProfile
        - BridgeHighAvailabilityClusterProfile
        in: query
        name: resource_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Cluster Profiles
      tags:
      - System Administration, Configuration, Fabric, Profiles, Cluster Profiles
      x-vmw-nsx-module: ClusterProfile
    post:
      consumes:
      - application/json
      description: |
        Create a cluster profile. The resource_type is required.
      operationId: CreateClusterProfile
      parameters:
      - in: body
        name: ClusterProfile
        required: true
        schema:
          $ref: '#/definitions/ClusterProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ClusterProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Cluster Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Cluster Profiles
      x-vmw-nsx-module: ClusterProfile
  /cluster-profiles/{cluster-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specified cluster profile.
      operationId: DeleteClusterProfile
      parameters:
      - in: path
        name: cluster-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a cluster profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Cluster Profiles
      x-vmw-nsx-module: ClusterProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified cluster profile.
      operationId: GetClusterProfile
      parameters:
      - in: path
        name: cluster-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get cluster profile by Id
      tags:
      - System Administration, Configuration, Fabric, Profiles, Cluster Profiles
      x-vmw-nsx-module: ClusterProfile
    put:
      consumes:
      - application/json
      description: |
        Modifie a specified cluster profile. The body of the PUT request must
        include the resource_type.
      operationId: UpdateClusterProfile
      parameters:
      - in: path
        name: cluster-profile-id
        required: true
        type: string
      - in: body
        name: ClusterProfile
        required: true
        schema:
          $ref: '#/definitions/ClusterProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a cluster profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Cluster Profiles
      x-vmw-nsx-module: ClusterProfile
  /cluster/api-certificate:
    get:
      consumes:
      - application/json
      description: |
        Returns the ID of the certificate that is used as the cluster certificate for MP
      operationId: GetClusterCertificateId
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterCertificateId'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster certificate ID
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Certificate
      x-vmw-nsx-module: ClusterCertificate
  /cluster/api-certificate?action=clear_cluster_certificate:
    post:
      consumes:
      - application/json
      description: "Clears the certificate used for the MP cluster.\nThis does not\
        \ affect the certificate itself.\nThis API is deprecated. Instead use the\
        \ \n/api/v1/cluster/api-certificate?action=set_cluster_certificate API to\
        \ set\nthe cluster certificate to a different one.\nIt just means that from\
        \ now on, individual certificates will be used on\neach MP node. This affects\
        \ all nodes in the cluster.\n"
      operationId: ClearClusterCertificateClear_cluster_certificate
      parameters:
      - description: Certificate ID
        in: query
        name: certificate_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterCertificateId'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Clear the cluster certificate
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Certificate
      x-vmw-nsx-module: ClusterCertificate
  /cluster/api-certificate?action=set_cluster_certificate:
    post:
      consumes:
      - application/json
      description: |
        Sets the certificate used for the MP cluster.
        This affects all nodes in the cluster. If the certificate used is a CA signed
        certificate,the request fails if the whole chain(leaf, intermediate, root)
        is not imported.
      operationId: SetClusterCertificateSet_cluster_certificate
      parameters:
      - description: Certificate ID
        in: query
        name: certificate_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterCertificateId'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set the cluster certificate
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Certificate
      x-vmw-nsx-module: ClusterCertificate
  /cluster/api-service:
    get:
      consumes:
      - application/json
      description: |
        Read the configuration of the NSX API service.
      operationId: GetApiServiceConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiServiceConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read API service properties
      tags:
      - System Administration, Configuration, NSX Managers, API Services, Configuration
      x-vmw-nsx-module: ClusterApiServiceModule
    put:
      consumes:
      - application/json
      description: |-
        Read the configuration of the NSX API service. Changes are applied to all nodes in the cluster. The API service on each node will restart after it is updated using this API. There may be a delay of up to a minute or so between the time this API call completes and when the new configuration goes into effect.
      operationId: UpdateApiServiceConfig
      parameters:
      - in: body
        name: ApiServiceConfig
        required: true
        schema:
          $ref: '#/definitions/ApiServiceConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApiServiceConfig'
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/ApiServiceConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update API service properties
      tags:
      - System Administration, Configuration, NSX Managers, API Services, Configuration
      x-vmw-nsx-module: ClusterApiServiceModule
  /cluster/api-virtual-ip:
    get:
      consumes:
      - application/json
      description: |
        Returns the configured cluster virtual IP address or null if not configured.
      operationId: GetClusterVirtualIp
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterVirtualIpProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster virtual IP address
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Virtual
        IP
      x-vmw-nsx-module: ClusterVirtualIp
  /cluster/api-virtual-ip?action=clear_virtual_ip:
    post:
      consumes:
      - application/json
      description: |
        Clears the cluster virtual IP address.
      operationId: ClearClusterVirtualIpClear_virtual_ip
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterVirtualIpProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Clear cluster virtual IP address
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Virtual
        IP
      x-vmw-nsx-module: ClusterVirtualIp
  /cluster/api-virtual-ip?action=set_virtual_ip:
    post:
      consumes:
      - application/json
      description: |
        Sets the cluster virtual IP address. Note, all nodes in the management
        cluster must be in the same subnet. If not, a 409 CONFLICT status is
        returned.
      operationId: SetClusterVirtualIpSet_virtual_ip
      parameters:
      - description: Virtual IP address, 0.0.0.0 if not configured
        in: query
        name: ip_address
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterVirtualIpProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set cluster virtual IP address
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Virtual
        IP
      x-vmw-nsx-module: ClusterVirtualIp
  /cluster/backups/config:
    get:
      consumes:
      - application/json
      description: |
        Get a configuration of a file server and timers for automated backup.
        Fields that contain secrets (password, passphrase) are not returned.
      operationId: GetBackupConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BackupConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get backup configuration
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
    put:
      consumes:
      - application/json
      description: |
        Configure file server and timers for automated backup.
        If secret fields are omitted (password, passphrase)
        then use the previously set value.
      operationId: ConfigureBackupConfig
      parameters:
      - in: body
        name: BackupConfiguration
        required: true
        schema:
          $ref: '#/definitions/BackupConfiguration'
      - default: LOCAL_LOCAL_MANAGER
        description: Frame type
        enum:
        - GLOBAL_MANAGER
        - LOCAL_MANAGER
        - LOCAL_LOCAL_MANAGER
        - NSX_INTELLIGENCE
        in: query
        name: frame_type
        required: false
        type: string
      - default: localhost
        description: Site ID
        in: query
        name: site_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BackupConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Configure backup
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster/backups/history:
    get:
      consumes:
      - application/json
      description: |
        Get history of previous backup operations
      operationId: GetBackupHistory
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BackupOperationHistory'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get backup history
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster/backups/overview:
    get:
      consumes:
      - application/json
      description: |
        Get a configuration of a file server, timers for automated backup,
        latest backup status, backups list for a site.
        Fields that contain secrets (password, passphrase) are not returned.
      operationId: GetBackupOverview
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: LOCAL_LOCAL_MANAGER
        description: Frame type
        enum:
        - GLOBAL_MANAGER
        - LOCAL_MANAGER
        - LOCAL_LOCAL_MANAGER
        - NSX_INTELLIGENCE
        in: query
        name: frame_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: true
        description: Need a list of backups
        in: query
        name: show_backups_list
        required: false
        type: boolean
      - default: localhost
        description: UUID of the site
        in: query
        name: site_id
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BackupOverview'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all backup related information for a site
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster/backups/status:
    get:
      consumes:
      - application/json
      description: |
        Get status of active backup operations
      operationId: GetBackupStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CurrentBackupOperationStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get backup status
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster/backups/ui_frames:
    get:
      consumes:
      - application/json
      description: |
        Returns list of backup frames and some metadata to be used by UI.
      operationId: GetBackupUiFramesInfo
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: LOCAL_MANAGER_TAB
        enum:
        - LOCAL_MANAGER_TAB
        - GLOBAL_MANAGER_TAB
        in: query
        name: ui_tab_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BackupUiFramesInfoList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/BackupUiFramesInfoList'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/BackupUiFramesInfoList'
      summary: |-
        Get backup frames for UI
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterNodeBackupRestore
  /cluster/backups?action=retrieve_ssh_fingerprint:
    post:
      consumes:
      - application/json
      description: |
        Get SHA256 fingerprint of ECDSA key of remote server. The caller should
        independently verify that the key is trusted.
      operationId: GetSshFingerprintOfServerRetrieve_ssh_fingerprint
      parameters:
      - in: body
        name: RemoteServerFingerprintRequest
        required: true
        schema:
          $ref: '#/definitions/RemoteServerFingerprintRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RemoteServerFingerprint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get ssh fingerprint of remote(backup) server
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster/node?action=repo_sync:
    post:
      consumes:
      - application/json
      description: |
        Attempts to synchronize the repository partition on nsx manager. Repository partition contains packages required for the
        install and upgrade of nsx components.Normally there is no need to call this API explicitely by the user.
      operationId: PerformRepoSyncRepo_sync
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Synchronizes the repository data between nsx managers.
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all NSX cluster nodes.
      operationId: ListClusterNodeConfigs
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Cluster Node Configurations
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
    post:
      consumes:
      - application/json
      description: |
        Add a new controller to the NSX cluster.
        Deprecated. Use POST /cluster?action=join_cluster to join a node to cluster.
        The controller comes with the new node.
      operationId: AddClusterNode
      parameters:
      - in: body
        name: AddClusterNodeSpec
        required: true
        schema:
          $ref: '#/definitions/AddClusterNodeSpec'
      - enum:
        - add_cluster_node
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ClusterNodeConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a controller to the cluster
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
  /cluster/nodes/deployments:
    get:
      consumes:
      - application/json
      description: |
        Returns request information for every attempted deployment of a cluster
        node VM.
      operationId: ListClusterNodeVMDeploymentRequests
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeVMDeploymentRequestList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns info for all cluster node VM auto-deployment attempts
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
    post:
      consumes:
      - application/json
      description: |
        Deploys a cluster node VM as specified by the deployment config.
        Once the VM is deployed and powered on, it will automatically join the
        existing cluster.
      operationId: AddClusterNodeVM
      parameters:
      - in: body
        name: AddClusterNodeVMInfo
        required: true
        schema:
          $ref: '#/definitions/AddClusterNodeVMInfo'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ClusterNodeVMDeploymentRequestList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deploy and register a cluster node VM
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes/deployments/{node-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns deployment request information for a specific attempted
        deployment of a cluster node VM.
      operationId: ReadClusterNodeVMDeploymentRequest
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeVMDeploymentRequest'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns info for a cluster-node VM auto-deployment attempt
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes/deployments/{node-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the current deployment or undeployment status for a VM along with
        any other relevant current information, such as error messages.
      operationId: ReadClusterNodeVMDeploymentStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeVMDeploymentStatusReport'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the status of the VM creation/deletion
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes/deployments/{node-id}?action=delete:
    post:
      consumes:
      - application/json
      description: |
        Attempts to unregister and undeploy a specified auto-deployed cluster
        node VM. If it is a member of a cluster, then the VM will be automatically
        detached from the cluster before being unregistered and undeployed.
        Alternatively, if the original deployment attempt failed or the VM is
        not found, cleans up the deployment information associated with the
        deployment attempt.
        Note: If a VM has been successfully auto-deployed, then the associated
        deployment information will not be deleted unless and until the VM is
        successfully deleted.
      operationId: DeleteAutoDeployedClusterNodeVMDelete
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Delete by force
        in: query
        name: force_delete
        type: boolean
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Attempt to delete an auto-deployed cluster node VM
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes/status:
    get:
      consumes:
      - application/json
      description: |
        Read aggregated runtime status of all cluster nodes.
        Deprecated. Use GET /cluster/status instead.
      operationId: ReadClusterNodesAggregateStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClustersAggregateInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster runtime status
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Status
      x-vmw-nsx-module: ClusterManagement
  /cluster/nodes/{node-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes the specified controller from the NSX cluster. Before you can
        remove a controller from the cluster, you must shut down the controller
        service with the "stop service controller" command.
        Deprecated. Use POST /cluster/<node-id>?action=remove_node
        to detach a node from cluster. The controller is removed with the node.
      operationId: DeleteClusterNodeConfig
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove a controller from the cluster
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified NSX cluster node.
        Deprecated. Use GET /cluster/<node-id> to get cluster node configuration.
      operationId: ReadClusterNodeConfig
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Cluster Node Configuration
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
  /cluster/nodes/{node-id}/network/interfaces:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of interfaces on the node and detailed
        information about each interface. Interface information includes MTU,
        broadcast and host IP addresses, link and admin status, MAC address, network
        mask, and the IP configuration method (static or DHCP).
      operationId: ListClusterNodeInterfaces
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfacePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List the specified node's Network Interfaces
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Interfaces
      x-vmw-nsx-module: ApplianceStats
  /cluster/nodes/{node-id}/network/interfaces/{interface-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about the specified interface. Interface
        information includes MTU, broadcast and host IP addresses, link and admin
        status, MAC address, network  mask, and the IP configuration method (static
        or DHCP).
      operationId: ReadClusterNodeInterface
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the node's Network Interface
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Interfaces
      x-vmw-nsx-module: ApplianceStats
  /cluster/nodes/{node-id}/network/interfaces/{interface-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        On the specified interface, returns the number of received (rx), transmitted
        (tx), and dropped packets; the number of bytes and errors received and
        transmitted on the interface; and the number of detected collisions.
      operationId: ReadClusterNodeInterfaceStatistics
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceStatisticsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the NSX Manager/Controller's Network Interface Statistics
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Network
        Interfaces
      x-vmw-nsx-module: ApplianceStats
  /cluster/nodes/{node-id}/repo_sync/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the synchronization status for the manager represented by given <node-id>.
      operationId: GetRepoSyncStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RepoSyncStatusReport'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Synchronizes the repository data between nsx managers.
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Node
        Deployments
      x-vmw-nsx-module: ClusterNodeVMDeployment
  /cluster/nodes/{node-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Read aggregated runtime status of cluster node.
      operationId: ReadClusterNodeStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster node runtime status
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Status
      x-vmw-nsx-module: ClusterManagement
  /cluster/restore/backuptimestamps:
    get:
      consumes:
      - application/json
      description: |
        Returns timestamps for all backup files that are available
        on the SFTP server.
      operationId: ListClusterBackupTimestamps
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterBackupInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List timestamps of all available Cluster Backups.
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore/config:
    get:
      consumes:
      - application/json
      description: |
        Deprecated. Please use API /cluster/backups/config, to get remote file server(where
        backuped-up files are stored) details durign restore. In older versions
        - Get configuration information for the file server used to store backed-up files.
        Fields that contain secrets (password, passphrase) are not returned.
      operationId: GetRestoreConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RestoreConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deprecated. Get Restore configuration
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: BackupConfiguration
    put:
      consumes:
      - application/json
      description: |
        Deprecated. Please use API /cluster/backups/config, to configure
        remote file server(where backed-up files are stored) details
        during restore. In older versions
        - Configure file server where the backed-up files used for the Restore
        operation are available.
      operationId: ConfigureRestoreConfig
      parameters:
      - in: body
        name: RestoreConfiguration
        required: true
        schema:
          $ref: '#/definitions/RestoreConfiguration'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RestoreConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deprecated. Configure Restore SFTP server credentials
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: BackupConfiguration
  /cluster/restore/instruction-resources:
    get:
      consumes:
      - application/json
      description: |
        For restore operations requiring user input e.g. performing an action,
        accepting/rejecting an action, etc. the information to be conveyed to users
        is provided in this call.
      operationId: ListRestoreInstructionResources
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Id of the instruction set whose instructions are to be returned
        in: query
        name: instruction_id
        required: true
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ActionableResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        List resources for a given instruction, to be
        shown to/executed by users.
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore/status:
    get:
      consumes:
      - application/json
      description: |
        Returns status information for the specified NSX cluster restore request.
      operationId: QueryClusterRestoreStatus
      parameters:
      - default: LOCAL_MANAGER
        enum:
        - LOCAL_MANAGER
        - GLOBAL_MANAGER
        in: query
        name: restore_component
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          description: Service Unavailable
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
      summary: |-
        Query Restore Request Status
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterNodeBackupRestore
  /cluster/restore?action=advance:
    post:
      consumes:
      - application/json
      description: |
        Advance any currently suspended restore operation. The operation might
        have been suspended because (1) the user had suspended it previously, or
        (2) the operation is waiting for user input, to be provided as a
        part of the POST request body. This operation is only valid
        when a GET cluster/restore/status returns a status with value SUSPENDED.
        Otherwise, a 409 response is returned.
      operationId: AdvanceClusterRestoreAdvance
      parameters:
      - in: body
        name: AdvanceClusterRestoreRequest
        required: true
        schema:
          $ref: '#/definitions/AdvanceClusterRestoreRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Advance any suspended restore operation
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore?action=cancel:
    post:
      consumes:
      - application/json
      description: |
        This operation is only valid when a restore is in suspended state. The UI user
        can cancel any restore operation when the restore is suspended either due
        to an error, or for a user input. The API user would need to monitor the
        progression of a restore by calling periodically
        "/api/v1/cluster/restore/status" API. The response object
        (ClusterRestoreStatus), contains a field "endpoints". The API user can cancel
        the restore process if 'cancel' action is shown in the endpoint field. This
        operation is only valid when a GET cluster/restore/status returns a status
        with value SUSPENDED.
      operationId: CancelClusterRestoreCancel
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Cancel any running restore operation
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore?action=retry:
    post:
      consumes:
      - application/json
      description: |
        Retry any currently in-progress, failed restore operation. Only the last
        step of the multi-step restore operation would have failed,and only that
        step is retried. This operation is only valid when a
        GET cluster/restore/status returns a status with value FAILED. Otherwise,
        a 409 response is returned.
      operationId: RetryClusterRestoreRetry
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retry any failed restore operation
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore?action=start:
    post:
      consumes:
      - application/json
      description: |
        Start the restore of an NSX cluster, from some previously
        backed-up configuration. This operation is only valid
        when a GET cluster/restore/status returns a status with value NOT_STARTED.
        Otherwise, a 409 response is returned.
      operationId: InitiateClusterRestoreStart
      parameters:
      - in: body
        name: InitiateClusterRestoreRequest
        required: true
        schema:
          $ref: '#/definitions/InitiateClusterRestoreRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Initiate a restore operation
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/restore?action=suspend:
    post:
      consumes:
      - application/json
      description: |
        Suspend any currently running restore operation. The restore operation is
        made up of a number of steps. When this call is issued, any currently
        running step is allowed to finish (successfully or with errors), and the
        next step (and therefore the entire restore operation) is suspended until
        a subsequent resume or cancel call is issued. This operation is only valid
        when a GET cluster/restore/status returns a status with value RUNNING.
        Otherwise, a 409 response is returned.
      operationId: SuspendClusterRestoreSuspend
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/ClusterRestoreStatus'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Suspend any running restore operation
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Restore
      x-vmw-nsx-module: ClusterRestore
  /cluster/status:
    get:
      consumes:
      - application/json
      description: |
        Returns status information for the NSX cluster control role and management
        role.
      operationId: ReadClusterStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Cluster Status
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Status
      x-vmw-nsx-module: ClusterManagement
  /cluster/{node-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified NSX cluster node.
      operationId: GetClusterNodeConfig
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterNodeInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          description: Service Unavailable
      summary: |-
        Read cluster node configuration
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterManagement
  /cluster/{node-id}?action=remove_node:
    post:
      consumes:
      - application/json
      description: |-
        Detach a node from the Cluster
      operationId: DetachClusterNodeRemove_node
      parameters:
      - description: |-
          UUID of the node
        in: path
        name: node-id
        required: true
        type: string
      - enum:
        - 'true'
        - 'false'
        in: query
        name: force
        type: string
      - default: 'false'
        enum:
        - 'true'
        - 'false'
        in: query
        name: graceful-shutdown
        required: false
        type: string
      - default: 'false'
        enum:
        - 'true'
        - 'false'
        in: query
        name: ignore-repository-ip-check
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          description: Service Unavailable
      summary: |-
        Detach a node from the Cluster
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterModule
  /cluster/{target-node-id}/{target-uri}:
    delete:
      consumes:
      - application/json
      description: |-
        Invoke DELETE request on target cluster node
      operationId: InvokeDeleteClusterCentralAPI
      parameters:
      - description: |-
          Target node UUID or keyword self
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke DELETE request on target cluster node
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: CentralApiModule
    get:
      consumes:
      - application/json
      description: |-
        Invoke GET request on target cluster node
      operationId: InvokeGetClusterCentralAPI
      parameters:
      - description: |-
          Target node UUID or keyword self
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke GET request on target cluster node
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: CentralApiModule
    post:
      consumes:
      - application/json
      description: |-
        Invoke POST request on target cluster node
      operationId: InvokePostClusterCentralAPI
      parameters:
      - description: |-
          Target node UUID or keyword self
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke POST request on target cluster node
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: CentralApiModule
    put:
      consumes:
      - application/json
      description: |-
        Invoke PUT request on target cluster node
      operationId: InvokePutClusterCentralAPI
      parameters:
      - description: |-
          Target node UUID or keyword self
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke PUT request on target cluster node
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: CentralApiModule
  /cluster?action=backup_to_remote:
    post:
      consumes:
      - application/json
      description: |
        Request one-time backup. The backup will be uploaded using the
        same server configuration as for automatic backup.
      operationId: RequestOnetimeBackupBackup_to_remote
      parameters:
      - default: LOCAL_LOCAL_MANAGER
        description: Frame type
        enum:
        - GLOBAL_MANAGER
        - LOCAL_MANAGER
        - LOCAL_LOCAL_MANAGER
        - NSX_INTELLIGENCE
        in: query
        name: frame_type
        required: false
        type: string
      - default: localhost
        description: Site ID
        in: query
        name: site_id
        required: false
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Request one-time backup
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /cluster?action=join_cluster:
    post:
      consumes:
      - application/json
      description: |-
        Join this node to a NSX Cluster
      operationId: JoinClusterJoin_cluster
      parameters:
      - in: body
        name: JoinClusterParameters
        required: true
        schema:
          $ref: '#/definitions/JoinClusterParameters'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ClusterConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          description: Service Unavailable
      summary: |-
        Join this node to a NSX Cluster
      tags:
      - System Administration, Configuration, NSX Managers, Clusters, Cluster Configuration
      x-vmw-nsx-module: ClusterModule
  /cluster?action=summarize_inventory_to_remote:
    post:
      consumes:
      - application/json
      description: |
        Request one-time inventory summary. The backup will be uploaded using the
        same server configuration as for an automatic backup.
      operationId: RequestOnetimeInventorySummarySummarize_inventory_to_remote
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Request one-time inventory summary.
      tags:
      - System Administration, Lifecycle Management, Backup Restore Management, Backup
      x-vmw-nsx-module: BackupConfiguration
  /configs/central-config/node-config-profiles/:
    get:
      consumes:
      - application/json
      description: |
        Returns list of all Central Node Config profiles.
      operationId: ListCentralNodeConfigProfiles
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CentralNodeConfigProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Central Node Config profiles
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: CentralConfig
  /configs/central-config/node-config-profiles/{node-config-profile-id}:
    put:
      consumes:
      - application/json
      description: |
        Updates properties in the specified Central Node Config profile.
      operationId: UpdateCentralNodeConfigProfile
      parameters:
      - in: path
        name: node-config-profile-id
        required: true
        type: string
      - in: body
        name: CentralNodeConfigProfile
        required: true
        schema:
          $ref: '#/definitions/CentralNodeConfigProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CentralNodeConfigProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Configure Node Config profile
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: CentralConfig
  /configs/central-config/node-config-profiles/{profile-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns properties in specified Central Node Config profile. Sensitive data
        (like SNMP v2c community strings) are included only if query parameter
        "show_sensitive_data" is true.
      operationId: ReadCentralNodeConfigProfile
      parameters:
      - description: |-
          Central Node Config profile id
        in: path
        name: profile-id
        required: true
        type: string
      - default: false
        description: Show sensitive data in Central Node Config profile
        in: query
        name: show_sensitive_data
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CentralNodeConfigProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Central Node Config profile
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: CentralConfig
  /configs/inventory:
    get:
      consumes:
      - application/json
      description: |
        Supports retrieving following configuration of inventory module
        1. Soft limit on number of compute managers that can be registered.
      operationId: GetInventoryConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InventoryConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return inventory configuration
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: Inventory
  /configs/management:
    get:
      consumes:
      - application/json
      description: |
        Returns the NSX Management nodes global configuration.
      operationId: ReadManagementConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManagementConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Management nodes global configuration.
      tags:
      - System Administration, Configuration, NSX Managers, Manager Configuration
      x-vmw-nsx-module: ConfigManagement
    put:
      consumes:
      - application/json
      description: |-
        Modifies the NSX Management nodes global configuration.
      operationId: UpdateManagementConfig
      parameters:
      - in: body
        name: ManagementConfig
        required: true
        schema:
          $ref: '#/definitions/ManagementConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManagementConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSX Management nodes global configuration
      tags:
      - System Administration, Configuration, NSX Managers, Manager Configuration
      x-vmw-nsx-module: ConfigManagement
  /configs/node/mode:
    post:
      consumes:
      - application/json
      description: |
        Currently only a switch from "VMC_LOCAL" to "VMC" is supported.
        Returns a new Node Mode, if the request successfuly changed it.
      operationId: ChangeNodeMode
      parameters:
      - in: body
        name: SwitchingToVmcModeParameters
        required: true
        schema:
          $ref: '#/definitions/SwitchingToVmcModeParameters'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeMode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NodeMode
      tags:
      - System Administration, Configuration, NSX Managers, Manager Mode
      x-vmw-nsx-module: ApplianceModes
  /dhcp/relay-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all dhcp relay profiles.
      operationId: ListDhcpRelayProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All DHCP Relay Profiles
      tags:
      - Management Plane API, Networking, Services, DHCP Relay Profiles
      x-vmw-nsx-module: DhcpRelay
    post:
      consumes:
      - application/json
      description: |
        Creates a dhcp relay profile.
      operationId: CreateDhcpRelayProfile
      parameters:
      - in: body
        name: DhcpRelayProfile
        required: true
        schema:
          $ref: '#/definitions/DhcpRelayProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpRelayProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a DHCP Relay Profile
      tags:
      - Management Plane API, Networking, Services, DHCP Relay Profiles
      x-vmw-nsx-module: DhcpRelay
  /dhcp/relay-profiles/{relay-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified dhcp relay profile.
      operationId: DeleteDhcpRelayProfile
      parameters:
      - in: path
        name: relay-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP Relay Profile
      tags:
      - Management Plane API, Networking, Services, DHCP Relay Profiles
      x-vmw-nsx-module: DhcpRelay
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified dhcp relay profile.
      operationId: ReadDhcpRelayProfile
      parameters:
      - in: path
        name: relay-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a DHCP Relay Profile
      tags:
      - Management Plane API, Networking, Services, DHCP Relay Profiles
      x-vmw-nsx-module: DhcpRelay
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified dhcp relay profile.
      operationId: UpdateDhcpRelayProfile
      parameters:
      - in: path
        name: relay-profile-id
        required: true
        type: string
      - in: body
        name: DhcpRelayProfile
        required: true
        schema:
          $ref: '#/definitions/DhcpRelayProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP Relay Profile
      tags:
      - Management Plane API, Networking, Services, DHCP Relay Profiles
      x-vmw-nsx-module: DhcpRelay
  /dhcp/relays:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all configured dhcp relay services.
      operationId: ListDhcpRelays
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all DHCP Relay Services
      tags:
      - Management Plane API, Networking, Services, DHCP Relay
      x-vmw-nsx-module: DhcpRelay
    post:
      consumes:
      - application/json
      description: |
        Creates a dhcp relay service.
      operationId: CreateDhcpRelay
      parameters:
      - in: body
        name: DhcpRelayService
        required: true
        schema:
          $ref: '#/definitions/DhcpRelayService'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpRelayService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a DHCP Relay Service
      tags:
      - Management Plane API, Networking, Services, DHCP Relay
      x-vmw-nsx-module: DhcpRelay
  /dhcp/relays/{relay-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified dhcp relay service.
      operationId: DeleteDhcpRelay
      parameters:
      - in: path
        name: relay-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP Relay Service
      tags:
      - Management Plane API, Networking, Services, DHCP Relay
      x-vmw-nsx-module: DhcpRelay
    get:
      consumes:
      - application/json
      description: |-
        Returns the dhcp relay service information.
      operationId: ReadDhcpRelay
      parameters:
      - in: path
        name: relay-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a DHCP Relay Service
      tags:
      - Management Plane API, Networking, Services, DHCP Relay
      x-vmw-nsx-module: DhcpRelay
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified dhcp relay service.
      operationId: UpdateDhcpRelay
      parameters:
      - in: path
        name: relay-id
        required: true
        type: string
      - in: body
        name: DhcpRelayService
        required: true
        schema:
          $ref: '#/definitions/DhcpRelayService'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpRelayService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP Relay Service
      tags:
      - Management Plane API, Networking, Services, DHCP Relay
      x-vmw-nsx-module: DhcpRelay
  /dhcp/server-profiles:
    get:
      consumes:
      - application/json
      description: |-
        Get a paginated list of DHCP server profiles.
      operationId: ListDhcpProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of DHCP server profiles
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |
        Create a DHCP server profile. If no edge member is specified, edge members
        to run the dhcp servers will be auto-allocated from the edge cluster.
      operationId: CreateDhcpProfile
      parameters:
      - in: body
        name: DhcpProfile
        required: true
        schema:
          $ref: '#/definitions/DhcpProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a DHCP server profile
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/server-profiles/{profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a DHCP server profile specified by the profile id.
      operationId: DeleteDhcpProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP server profile
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |-
        Return the DHCP profile specified by the profile id.
      operationId: ReadDhcpProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP server profile
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |
        If both the edge_cluster_member_indexes in the DhcpProfile are changed in
        a same PUT API, e.g. change from [a,b] to [x,y], the current DHCP server
        leases will be lost, which could cause the network crash due to ip conflicts.
        Hence the suggestion is to change only one member index in one single update,
        e.g. from [a, b] to [a,y].

        Please note, the edge_cluster_id in DhcpProfile can NOT be changed by this
        PUT operation because all existing DHCP leases will lost. If losing leases
        is not a problem, a dedicated re-allocation API is suggested to modify the
        edge-cluster-id, i.e. "POST /api/v1/dhcp/dhcp-profiles/<profileId>?action=reallocate".

        Meanwhile, if the edge_cluster_member_indexes was specified currently but
        now is changed to none (not specified) via a PUT operation, the edge nodes
        will not be auto-selected from edge cluster. Instead, the previously-allocated
        edge nodes will continue to be used by the DHCP server. This is because
        changing both edge nodes of a DHCP server will lose all existing leases.
        In case re-allocation is required and leases lost is not a problem (or can
        be recovered), please invoke the reallocate API mentioned above with new
        DhcpProfile to accomplish the intent.
      operationId: UpdateDhcpProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      - in: body
        name: DhcpProfile
        required: true
        schema:
          $ref: '#/definitions/DhcpProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP server profile
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/server-profiles/{server-profile-id}?action=reallocate:
    post:
      consumes:
      - application/json
      description: |
        As changing edge-cluster-id of a DhcpProfile by a PUT is disallowed,
        this re-allocate API is used to modify the edge-cluster-id and members
        of a given DhcpProfile.

        Only the edge-cluster-id and the edge-cluster-member-indexes fields will
        be picked up by this re-allication API. The othere fields in the payload
        will be ignored.

        If the edge-cluster-id in the payload DhcpProfile is different from the
        current edge-cluster-id of the profile, the referencing DHCP server(s) will
        be re-allocated to the new edge cluster. If the edge-cluster-id is not
        changed, the referencing DHCP server(s) will be re-allocated to the
        given edge members in the edge cluster. In this case, this REST API will
        act same as that of updating a DhcpProfile.

        If the edge cluster member indexes are provided, they should exist in the
        given edge cluster. If the indexes are not specified in the DhcpProfile,
        edge members will be auto-allocated from the given edge cluster.

        Please note that re-allocating edge-cluster will cause lose of all exisitng
        DHCP lease information. This API is used only when loosing DHCP leases is
        not a real problem, e.g. cross-site migration or failover and all client
        hosts will be reboot and get new IP addresses.
      operationId: ReallocateDhcpProfileEdgeClusterReallocate
      parameters:
      - in: path
        name: server-profile-id
        required: true
        type: string
      - in: body
        name: DhcpProfile
        required: true
        schema:
          $ref: '#/definitions/DhcpProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reallocate edge cluster and members of given DHCP profile.
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers:
    get:
      consumes:
      - application/json
      description: |-
        List logical DHCP servers with pagination support.
      operationId: ListDhcpServers
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalDhcpServerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of DHCP servers
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |
        Create a logical DHCP server with v4 and/or v6 servers.
      operationId: CreateDhcpServer
      parameters:
      - in: body
        name: LogicalDhcpServer
        required: true
        schema:
          $ref: '#/definitions/LogicalDhcpServer'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LogicalDhcpServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a DHCP server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a logical DHCP server specified by server id.
      operationId: DeleteDhcpServer
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |-
        Retrieve a logical DHCP server specified by server id.
      operationId: ReadDhcpServer
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalDhcpServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP server with v4 and/or v6 servers
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |-
        Update a logical DHCP server with new configurations.
      operationId: UpdateDhcpServer
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: LogicalDhcpServer
        required: true
        schema:
          $ref: '#/definitions/LogicalDhcpServer'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalDhcpServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP server with v4 and/or v6 servers
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ip-pools:
    get:
      consumes:
      - application/json
      description: |
        List the ip pools of a logical DHCP server with pagination support.
      operationId: ListDhcpIpPools
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpIpPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of a DHCP server's IP pools
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |-
        Create an ip pool for a local DHCP server
      operationId: CreateDhcpIpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: DhcpIpPool
        required: true
        schema:
          $ref: '#/definitions/DhcpIpPool'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpIpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create an ip pool for a DHCP server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ip-pools/{pool-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific ip pool of a given logical DHCP server.
      operationId: DeleteDhcpIpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP server's IP pool
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |-
        Return a specific ip pool of a given logical DHCP server.
      operationId: ReadDhcpIpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpIpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP server's IP pool with the specified pool ID
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |-
        Update a specific ip pool of a given logical DHCP server.
      operationId: UpdateDhcpIpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: DhcpIpPool
        required: true
        schema:
          $ref: '#/definitions/DhcpIpPool'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpIpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP server's IP pool
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ip-pools/{pool-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a dhcp ip pool.
        After a dhcp ip pool is created or updated, you can invoke this API to get
        the realization information of the ip pool.
      operationId: GetDhcpIpPoolState
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state of a dhcp ip pool
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ipv6-ip-pools:
    get:
      consumes:
      - application/json
      description: |
        List the ip pools of a logical DHCP IPv6 server with pagination support.
      operationId: ListDhcpV6IpPools
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6IpPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of a DHCP IPv6 server's IP pools
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |-
        Create an ip pool for a local DHCP IPv6 server
      operationId: CreateDhcpV6IpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: DhcpV6IpPool
        required: true
        schema:
          $ref: '#/definitions/DhcpV6IpPool'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpV6IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create an ip pool for a DHCP IPv6 server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ipv6-ip-pools/{pool-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific ip pool of a given logical DHCP IPv6 server.
      operationId: DeleteDhcpV6IpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a DHCP IPv6 server's IP pool
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |-
        Return a specific ip pool of a given logical DHCP IPv6 server.
      operationId: ReadDhcpV6IpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP IPv6 server's IP pool with the specified pool ID
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |-
        Update a specific ip pool of a given logical DHCP IPv6 server.
      operationId: UpdateDhcpV6IpPool
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: DhcpV6IpPool
        required: true
        schema:
          $ref: '#/definitions/DhcpV6IpPool'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP IPv6 server's IP pool
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ipv6-static-bindings:
    get:
      consumes:
      - application/json
      description: |
        Return a paginated list of a static bindings of a given logical DHCP IPv6 server.
      operationId: ListDhcpV6StaticBindings
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6StaticBindingListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of a DHCP IPv6 server's static bindings
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |-
        Create a static binding for a logical DHCP IPv6 server.
      operationId: CreateDhcpV6StaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: DhcpV6StaticBinding
        required: true
        schema:
          $ref: '#/definitions/DhcpV6StaticBinding'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpV6StaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a static binding for a DHCP IPv6 server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/ipv6-static-bindings/{binding-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific static binding of a given logical DHCP IPv6 server.
      operationId: DeleteDhcpV6StaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a static binding for DHCP IPv6 server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |
        Return a specific static binding of a given logical DHCP IPv6 server.
      operationId: ReadDhcpV6StaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6StaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP IPv6 server's static binding with the specified binding ID
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |-
        Update a specific static binding of a given local DHCP IPv6 server.
      operationId: UpdateDhcpV6StaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      - in: body
        name: DhcpV6StaticBinding
        required: true
        schema:
          $ref: '#/definitions/DhcpV6StaticBinding'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpV6StaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP IPv6 server's static binding
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/leases:
    delete:
      consumes:
      - application/json
      description: |
        Delete a single DHCP lease entry specified by ip and mac.

        The DHCP server matches the DHCP lease with the given ip address and
        the mac address. The matched lease entry will be deleted. If no lease
        matches, the request is ignored.

        The DHCP lease to be deleted will be removed by the system from both active
        and standby node. The system will report error if the DHCP lease could not
        be removed from both nodes. If the DHCP lease could not be removed on either
        node, please check the DHCP server status. Once the DHCP server status is
        UP, please invoke the deletion API again to ensure the lease gets deleted
        from both nodes.
      operationId: DeleteADhcpLease
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: IPv4 or IPv6 address
        format: ip
        in: query
        name: ip
        required: true
        type: string
      - description: MAC Address
        format: mac-address
        in: query
        name: mac
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a single DHCP lease entry specified by ip and mac.
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |
        Get specific leases of a given dhcp server. As a dhcp server could manage
        millions of leases, the API has to limit the number of the returned
        leases via two mutually-excluded request parameters, i.e. "pool_id" and
        "address". Either a "pool_id" or an "address" can be provided, but not both
        in a same call.

        If a "pool_id" is specified, the leases of the specific pool are returned.
        If an "address" is specified, only the lease(s) represented y this address
        is(are) returned. The "address" can be a single IP, an ip-range, or a mac
        address.
      operationId: GetDhcpLeaseInfo
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: can be an ip address, or an ip range, or a mac address
        in: query
        name: address
        required: false
        type: string
      - description: The uuid of dhcp ip pool
        in: query
        name: pool_id
        required: false
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpLeases'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get specific leases of a given dhcp server
      tags:
      - Management Plane API, Services, DHCP
      x-vmw-nsx-module: AggSvcDhcp
  /dhcp/servers/{server-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a dhcp server.
        After a dhcp server is created or updated, you can invoke this API to get
        the realization information of the server.
      operationId: GetDhcpServerState
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state of a dhcp server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/static-bindings:
    get:
      consumes:
      - application/json
      description: |
        Return a paginated list of a static bindings of a given logical DHCP server.
      operationId: ListDhcpStaticBindings
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpStaticBindingListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of a DHCP server's static bindings
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    post:
      consumes:
      - application/json
      description: |-
        Create a static binding for a logical DHCP server.
      operationId: CreateDhcpStaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: DhcpStaticBinding
        required: true
        schema:
          $ref: '#/definitions/DhcpStaticBinding'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DhcpStaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a static binding for a DHCP server
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/static-bindings/{binding-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific static binding of a given logical DHCP server.
      operationId: DeleteDhcpStaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a static binding
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    get:
      consumes:
      - application/json
      description: |
        Return a specific static binding of a given logical DHCP server.
      operationId: ReadDhcpStaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpStaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a DHCP server's static binding with the specified binding ID
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
    put:
      consumes:
      - application/json
      description: |-
        Update a specific static binding of a given local DHCP server.
      operationId: UpdateDhcpStaticBinding
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      - in: body
        name: DhcpStaticBinding
        required: true
        schema:
          $ref: '#/definitions/DhcpStaticBinding'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpStaticBinding'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a DHCP server's static binding
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/static-bindings/{binding-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a dhcp static binding.
        After a dhcp static binding is created or updated, you can invoke this API to get
        the realization information of the static binding.
      operationId: GetDhcpStaticBindingState
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      - in: path
        name: binding-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state of a dhcp static binding
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: Dhcp
  /dhcp/servers/{server-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the given dhcp server.
      operationId: GetDhcpStatistics
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get DHCP statistics with given dhcp server id
      tags:
      - Management Plane API, Services, DHCP
      x-vmw-nsx-module: AggSvcDhcp
  /dhcp/servers/{server-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the service status of the given dhcp server.
      operationId: GetDhcpStatus
      parameters:
      - in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DhcpServerStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get DHCP service status with given dhcp server id
      tags:
      - Management Plane API, Networking, Services, DHCP
      x-vmw-nsx-module: AggSvcDhcp
  /directory/domain-size:
    post:
      consumes:
      - application/json
      description: |-
        This call scans the size of a directory domain. It may be very | expensive to run this call in some AD domain deployments. Please | use it with caution.
      operationId: ScanDirectoryDomainSize
      parameters:
      - in: body
        name: DirectoryDomain
        required: true
        schema:
          $ref: '#/definitions/DirectoryDomain'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryDomainSize'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Scan  the size of a directory domain
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
  /directory/domains:
    get:
      consumes:
      - application/json
      description: |-
        List all configured domains
      operationId: ListDirectoryDomains
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryDomainListResults'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all configured domains
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
    post:
      consumes:
      - application/json
      description: |-
        Create a directory domain
      operationId: CreateDirectoryDomain
      parameters:
      - in: body
        name: DirectoryDomain
        required: true
        schema:
          $ref: '#/definitions/DirectoryDomain'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DirectoryDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a directory domain
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific domain with given identifier
      operationId: DeleteDirectoryDomain
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific domain with given identifier
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
    get:
      consumes:
      - application/json
      description: |-
        Get a specific domain with given identifier
      operationId: GetDirectoryDomain
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific domain with given identifier
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
    post:
      consumes:
      - application/json
      description: |-
        Invoke full sync or delta sync for a specific domain, with additional delay in seconds if needed.  Stop sync will try to stop any pending sync if any to return to idle state.
      operationId: RequestDirectoryDomainSync
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: Sync type requested
        enum:
        - FULL_SYNC
        - DELTA_SYNC
        - STOP_SYNC
        in: query
        name: action
        required: true
        type: string
      - default: 0
        description: Request to execute the sync with some delay in seconds
        format: int64
        in: query
        minimum: 0
        name: delay
        required: false
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Invoke full sync or delta sync for a specific domain, with additional delay in seconds if needed.  Stop sync will try to stop any pending sync if any to return to idle state.
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
    put:
      consumes:
      - application/json
      description: |-
        Update to any field in the directory domain will trigger a full sync
      operationId: UpdateDirectoryDomain
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - in: body
        name: DirectoryDomain
        required: true
        schema:
          $ref: '#/definitions/DirectoryDomain'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a directory domain
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}/groups:
    get:
      consumes:
      - application/json
      description: |-
        Search for directory groups within a domain based on the substring of a distinguished name. (e.g. CN=User,DC=acme,DC=com) The search filter pattern can optionally support multiple (up to 100 maximum) search pattern separated by '|' (url encoded %7C). In this case, the search results will be returned as the union of all matching criteria. (e.g. CN=Ann,CN=Users,DC=acme,DC=com|CN=Bob,CN=Users,DC=acme,DC=com)
      operationId: SearchDirectoryGroups
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Name search filter value
        in: query
        name: filter_value
        required: true
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryGroupListResults'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Search for directory groups within a domain based on the substring of a distinguished name. (e.g. CN=User,DC=acme,DC=com) The search filter pattern can optionally support multiple (up to 100 maximum) search pattern separated by '|' (url encoded %7C). In this case, the search results will be returned as the union of all matching criteria. (e.g. CN=Ann,CN=Users,DC=acme,DC=com|CN=Bob,CN=Users,DC=acme,DC=com)
      tags:
      - System Administration, Configuration, Directory Service, Groups
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}/groups/{group-id}/member-groups:
    get:
      consumes:
      - application/json
      description: |-
        A member group could be either direct member of the group specified by group_id or nested member of it. Both direct member groups and nested member groups are returned.
      operationId: ListDirectoryGroupMemberGroups
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: |-
          Directory group identifier
        in: path
        name: group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryGroupMemberListResults'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List members of a directory group
      tags:
      - System Administration, Configuration, Directory Service, Groups
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}/ldap-servers:
    get:
      consumes:
      - application/json
      description: |-
        List all configured domain LDAP servers
      operationId: ListDirectoryLdapServers
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryLdapServerListResults'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all configured domain LDAP servers
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
    post:
      consumes:
      - application/json
      description: |-
        More than one LDAP server can be created and only one LDAP server is used to synchronize directory objects. If more than one LDAP server is configured, NSX will try all the servers until it is able to successfully connect to one.
      operationId: CreateDirectoryLdapServer
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - in: body
        name: DirectoryLdapServer
        required: true
        schema:
          $ref: '#/definitions/DirectoryLdapServer'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/DirectoryLdapServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a LDAP server for directory domain
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}/ldap-servers/{server-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a LDAP server for directory domain
      operationId: DeleteDirectoryLdapServer
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: |-
          LDAP server identifier
        in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a LDAP server for directory domain
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
    get:
      consumes:
      - application/json
      description: |-
        Get a specific LDAP server for a given directory domain
      operationId: GetDirectoryLdapServer
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: |-
          LDAP server identifier
        in: path
        name: server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryLdapServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific LDAP server for a given directory domain
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
    post:
      consumes:
      - application/json
      description: |-
        The API tests a LDAP server connection for an already configured domain. If the connection is successful, the response will be HTTP status 200. Otherwise the response will be HTTP status 500 and corresponding error message will be returned.
      operationId: TestDirectoryLdapServer
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: |-
          LDAP server identifier
        in: path
        name: server-id
        required: true
        type: string
      - description: LDAP server test requested
        enum:
        - CONNECTIVITY
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Test a LDAP server connection for directory domain
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
    put:
      consumes:
      - application/json
      description: |-
        Update a LDAP server for directory domain
      operationId: UpdateDirectoryLdapServer
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      - description: |-
          LDAP server identifier
        in: path
        name: server-id
        required: true
        type: string
      - in: body
        name: DirectoryLdapServer
        required: true
        schema:
          $ref: '#/definitions/DirectoryLdapServer'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryLdapServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a LDAP server for directory domain
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
  /directory/domains/{domain-id}/sync-stats:
    get:
      consumes:
      - application/json
      description: |-
        Get domain sync statistics for the given identifier
      operationId: GetDirectoryDomainSyncStats
      parameters:
      - description: |-
          Directory domain identifier
        in: path
        name: domain-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryDomainSyncStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get domain sync statistics for the given identifier
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
  /directory/ldap-server:
    post:
      consumes:
      - application/json
      description: |-
        This API tests a LDAP server connectivity before the actual domain or LDAP server is configured. If the connectivity is good, the response will be HTTP status 200. Otherwise the response will be HTTP status 500 and corresponding error message will be returned.
      operationId: VerifyDirectoryLdapServer
      parameters:
      - in: body
        name: DirectoryLdapServer
        required: true
        schema:
          $ref: '#/definitions/DirectoryLdapServer'
      - description: LDAP server test requested
        enum:
        - CONNECTIVITY
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryLdapServerStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Test a directory domain LDAP server connectivity
      tags:
      - System Administration, Configuration, Directory Service, LDAP Servers
      x-vmw-nsx-module: DirectoryService
  /directory/org-units:
    post:
      consumes:
      - application/json
      description: |-
        Fetch all organization units for a LDAP server.
      operationId: FetchDirectoryOrgUnits
      parameters:
      - in: body
        name: DirectoryLdapServer
        required: true
        schema:
          $ref: '#/definitions/DirectoryLdapServer'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DirectoryOrgUnitListResults'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Fetch all organization units for a LDAP server.
      tags:
      - System Administration, Configuration, Directory Service, Domains
      x-vmw-nsx-module: DirectoryService
  /dns/forwarders:
    get:
      consumes:
      - application/json
      description: |
        Get a paginated list of DNS forwarders.
      operationId: ListDnsForwaders
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarderListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of DNS forwarders
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
    post:
      consumes:
      - application/json
      description: |
        Create a DNS forwader upon a logical router. There is only
        one DNS forwarder can be created upon a given logical router.
      operationId: CreateDnsForwader
      parameters:
      - in: body
        name: DnsForwarder
        required: true
        schema:
          $ref: '#/definitions/DnsForwarder'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarder'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a DNS forwader
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a specific DNS forwarder.
      operationId: DeleteDnsForwarder
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
    get:
      consumes:
      - application/json
      description: |
        Retrieve a DNS forwarder.
      operationId: ReadDnsForwader
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarder'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
    put:
      consumes:
      - application/json
      description: |
        Update a specific DNS forwarder.
      operationId: UpdateDnsForwarder
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      - in: body
        name: DnsForwarder
        required: true
        schema:
          $ref: '#/definitions/DnsForwarder'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarder'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}/failed-queries:
    get:
      consumes:
      - application/json
      description: |
        Return the given count of recent failed DNS queries from DNS forwarder.
        Since the DNS forwarder is running in Acitve/Standby HA mode on transport
        nodes, the given count of queries will be returned from each nodes. Hence
        the total queries returned could be doubled.
        If no count is specified, 100 recent failed queries are returned. If the
        recent failures is less than the given count, all the failures will be
        returned. The maximum count is 1,000.
      operationId: GetFailedDnsQueries
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      - default: 100
        description: The count of the failed DNS queries
        format: int64
        in: query
        maximum: 1000
        minimum: 1
        name: count
        required: false
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsFailedQueries'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the recent failed DNS queries
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}/nslookup:
    get:
      consumes:
      - application/json
      description: |
        Query the nameserver for an ip-address or a FQDN of the given an address optionally using
        an specified DNS server. If the address is a fqdn, nslookup will resolve ip-address with it.
        If the address is an ip-address, do a reverse lookup and answer fqdn(s).
      operationId: LookupAddress
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      - description: IP address or FQDN for nslookup
        in: query
        name: address
        required: false
        type: string
      - description: IPv4 address
        format: ipv4
        in: query
        name: server_ip
        required: false
        type: string
      - description: IPv4 address
        format: ipv4
        in: query
        name: source_ip
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsAnswer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Resolve a given address via the DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return the realized state information of a DNS forwarder.
        After a DNS forwarder was created or updated, you can invoke this API to
        check the realization state of the forwarder.
      operationId: GetDnsForwarderState
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state of a DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the given dns forwarder specified by forwarder id.
      operationId: GetDnsForwarderStatistics
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarderStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get statistics of given dns forwarder
      tags:
      - Management Plane API, Services, DNS
      x-vmw-nsx-module: AggSvcDnsForwarder
  /dns/forwarders/{forwarder-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the current status of the given DNS forwarder.
      operationId: GetDnsForwarderStatus
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DnsForwarderStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get current status of the given DNS forwarder
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: AggSvcDnsForwarder
  /dns/forwarders/{forwarder-id}?action=clear_cache:
    post:
      consumes:
      - application/json
      description: |
        Clear the current cache of the DNS forwarder.
      operationId: ClearDnsForwarderCacheClear_cache
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Clear the current cache of the DNS forwarder.
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}?action=disable:
    post:
      consumes:
      - application/json
      description: |
        Disable the DNS forwarder if the forwarder is currently enbled. If the DNS
        forwarder is already disabled, the forwarder will not be re-disabled.

        Please note, once a DNS forwarder is disabled then enabled, the previous
        DNS forwarder statistics counters will be reset.
      operationId: DisableDnsForwarderDisable
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Disable the DNS forwarder.
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /dns/forwarders/{forwarder-id}?action=enable:
    post:
      consumes:
      - application/json
      description: |
        Enable the DNS forwarder if the forwarder is currently disabled. If the
        DNS forwarder is already enabled, the forwarder will not be re-enabled.

        Please note, once a DNS forwarder is disabled then enabled, the previous
        DNS forwarder statistics counters will be reset.
      operationId: EnableDnsForwarderEnable
      parameters:
      - in: path
        name: forwarder-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Enable the DNS forwarder.
      tags:
      - Management Plane API, Networking, Services, DNS
      x-vmw-nsx-module: DnsForwarder
  /edge-clusters:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the configured edge clusters, which enable you to
        group together transport nodes of the type EdgeNode and apply fabric
        profiles to all members of the edge cluster. Each edge node can participate
        in only one edge cluster.
      operationId: ListEdgeClusters
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeClusterListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Edge Clusters
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
    post:
      consumes:
      - application/json
      description: |
        Creates a new edge cluster.
        It only supports homogeneous members.
        The TransportNodes backed by EdgeNode are only allowed in cluster members.
        DeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these EdgeNodes is
        recommended to be the same. EdgeCluster supports members of different
        deployment types.
      operationId: CreateEdgeCluster
      parameters:
      - in: body
        name: EdgeCluster
        required: true
        schema:
          $ref: '#/definitions/EdgeCluster'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/EdgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create Edge Cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
  /edge-clusters/{edge-cluster-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified edge cluster.
      operationId: DeleteEdgeCluster
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete Edge Cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified edge cluster.
      operationId: ReadEdgeCluster
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Edge Cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified edge cluster. Modifiable parameters include the
        description, display_name, transport-node-id. If the optional
        fabric_profile_binding is included, resource_type and profile_id are required.
        User should do a GET on the edge-cluster and obtain the payload and retain the
        member_index of the existing members as returning in the GET output. For new member
        additions, the member_index cannot be defined by the user, user can read the system
        allocated index to the new member in the output of this API call or by doing a GET call.
        User cannot use this PUT api to replace the transport_node of an existing member because
        this is a disruption action, we have exposed a explicit API for doing so, refer to
        "ReplaceEdgeClusterMemberTransportNode"
        EdgeCluster only supports homogeneous members. The TransportNodes backed by EdgeNode are
        only allowed in cluster members. DeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these
        EdgeNodes is recommended to be the same. EdgeCluster supports members of different
        deployment types.
      operationId: UpdateEdgeCluster
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      - in: body
        name: EdgeCluster
        required: true
        schema:
          $ref: '#/definitions/EdgeCluster'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update Edge Cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
  /edge-clusters/{edge-cluster-id}/allocation-status:
    get:
      consumes:
      - application/json
      description: |
        Returns the allocation details of cluster and its members. Lists the edge
        node members, active and standby services of each node, utilization details
        of configured sub-pools. These allocation details can be monitored by
        customers to trigger migration of certain service contexts to different
        edge nodes, to balance the utilization of edge node resources.
      operationId: GetEdgeClusterAllocationStatus
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeClusterAllocationStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Allocation details of an edge cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
  /edge-clusters/{edge-cluster-id}/inter-site/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the aggregated status for the Edge cluster along with status of
        all edge nodes in the cluster. It always returns cached response.
      operationId: GetEdgeClusterInterSiteStatus
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeClusterInterSiteStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get inter-site status of the edge cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcEdgeCluster
  /edge-clusters/{edge-cluster-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a edge cluster.
        Any configuration update that affects the edge cluster can use this API
        to get its realized state by passing a request_id returned by the
        configuration change operation. e.g. Update configuration of edge cluster.
      operationId: GetEdgeClusterState
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeClusterState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Edge Cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
  /edge-clusters/{edge-cluster-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the aggregated status for the Edge cluster along with status of
        all edge nodes in the cluster. Query parameter "source=realtime" is the
        only supported source.
      operationId: GetEdgeClusterStatus
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeClusterStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status for the Edge cluster of the given id
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: AggSvcEdgeCluster
  /edge-clusters/{edge-cluster-id}?action=replace_transport_node:
    post:
      consumes:
      - application/json
      description: |
        Replace the transport node in the specified member of the edge-cluster.
        This is a disruptive action. This will move all the LogicalRouterPorts(uplink and routerLink)
        host on the old transport_node to the new transport_node. The transportNode cannot be
        present in another member of any edgeClusters.
      operationId: ReplaceEdgeClusterMemberTransportNodeReplace_transport_node
      parameters:
      - in: path
        name: edge-cluster-id
        required: true
        type: string
      - in: body
        name: EdgeClusterMemberTransportNode
        required: true
        schema:
          $ref: '#/definitions/EdgeClusterMemberTransportNode'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EdgeCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Replace the transport node in the specified member of the edge-cluster
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Edge Clusters
      x-vmw-nsx-module: EdgeClusters
  /error-resolver:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of metadata for all the error resolvers registered.
      operationId: ListErrorResolverInfo
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ErrorResolverInfoList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Fetches a list of metadata for all the registered error resolvers
      tags:
      - System Administration, Monitoring, Error Resolver
      x-vmw-nsx-module: ErrorResolver
  /error-resolver/{error_id}:
    get:
      consumes:
      - application/json
      description: |
        Returns some metadata about the given error_id. This includes
        information of whether there is a resolver present for the
        given error_id and its associated user input data
      operationId: GetErrorResolverInfo
      parameters:
      - in: path
        name: error_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ErrorResolverInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Fetches metadata about the given error_id
      tags:
      - System Administration, Monitoring, Error Resolver
      x-vmw-nsx-module: ErrorResolver
  /error-resolver?action=resolve_error:
    post:
      consumes:
      - application/json
      description: |
        Invokes the corresponding error resolver for the
        given error(s) present in the payload
      operationId: ResolveErrorResolve_error
      parameters:
      - in: body
        name: ErrorResolverMetadataList
        required: true
        schema:
          $ref: '#/definitions/ErrorResolverMetadataList'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Resolves the error
      tags:
      - System Administration, Monitoring, Error Resolver
      x-vmw-nsx-module: ErrorResolver
  /eula/accept:
    post:
      consumes:
      - application/json
      description: |
        Accept end user license agreement
      operationId: AcceptEULA
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Accept end user license agreement
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: EULA
  /eula/acceptance:
    get:
      consumes:
      - application/json
      description: |
        Return the acceptance status of end user license agreement
      operationId: GetEULAAcceptance
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EULAAcceptance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Return the acceptance status of end user license agreement
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: EULA
  /eula/content:
    get:
      consumes:
      - application/json
      description: |
        Return the content of end user license agreement in the specified format.
        By default, it's pure string without line break
      operationId: GetEULAContent
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: End User License Agreement content output format
        in: query
        name: value_format
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EULAContent'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Return the content of end user license agreement
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: EULA
  /events:
    get:
      consumes:
      - application/json
      description: |-
        Returns a list of all Events defined in NSX.
      operationId: ListEvents
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EventListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of all Events defined in NSX.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /events/{event-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns event associated with event-id.
      operationId: GetEvent
      parameters:
      - in: path
        name: event-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MonitoringEvent'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Events identified by event-id.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
    put:
      consumes:
      - application/json
      description: |-
        Update event identified by event-id.
      operationId: UpdateEvent
      parameters:
      - in: path
        name: event-id
        required: true
        type: string
      - in: body
        name: MonitoringEvent
        required: true
        schema:
          $ref: '#/definitions/MonitoringEvent'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MonitoringEvent'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update event associated with event-id.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /events/{event-id}?action=set_default:
    post:
      consumes:
      - application/json
      description: |-
        Reset all user configurable values for event identified by event-id to factory defaults.
      operationId: ResetEventValuesSet_default
      parameters:
      - in: path
        name: event-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MonitoringEvent'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset all user configurable values to factory defaults.
      tags:
      - System Administration, Monitoring, Alarms And Events
      x-vmw-nsx-module: Monitoring
  /fabric/cloud-native-service-instances:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all cloud native service instances.
      operationId: ListAllCloudNativeServiceInstances
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Display Name of the cloud native service instance
        in: query
        name: display_name
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Type of cloud native service; possible values are ELB, RDS
        in: query
        name: service_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: NSX node id of the public cloud gateway that reported the service
          instance
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CloudNativeServiceInstanceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the List of cloud native service instances
      tags:
      - System Administration, Configuration, Fabric, Cloud Native Service Instances
      x-vmw-nsx-module: InventoryCloudObj
  /fabric/cloud-native-service-instances/{external-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns information about a particular cloud native service instance
        by external-id.
      operationId: GetCloudNativeServiceInstance
      parameters:
      - in: path
        name: external-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CloudNativeServiceInstance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Returns information about a particular cloud native service instance
        by external-id.
      tags:
      - System Administration, Configuration, Fabric, Cloud Native Service Instances
      x-vmw-nsx-module: InventoryCloudObj
  /fabric/compute-collection-fabric-templates:
    get:
      consumes:
      - application/json
      description: |-
        Returns compute collection fabric templates. This functionality is deprecated. Use Transport Node Profiles instead of this template.
      operationId: ListComputeCollectionFabricTemplates
      parameters:
      - description: Compute collection id
        in: query
        name: compute_collection_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollectionFabricTemplateListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get compute collection fabric templates
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
    post:
      consumes:
      - application/json
      description: |-
        Fabric templates are fabric configurations applied at the compute collection level. This configurations is used to decide what automated operations should be a run when a host membership changes. This functionality is deprecated. Use Transport Node Profiles instead of this template.
      operationId: CreateComputeCollectionFabricTemplate
      parameters:
      - in: body
        name: ComputeCollectionFabricTemplate
        required: true
        schema:
          $ref: '#/definitions/ComputeCollectionFabricTemplate'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ComputeCollectionFabricTemplate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a compute collection fabric template
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
  /fabric/compute-collection-fabric-templates/{fabric-template-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template.
      operationId: DeleteComputeCollectionFabricTemplate
      parameters:
      - in: path
        name: fabric-template-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deletes compute collection fabric template
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
    get:
      consumes:
      - application/json
      description: |-
        Get compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template.
      operationId: GetComputeCollectionFabricTemplate
      parameters:
      - in: path
        name: fabric-template-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollectionFabricTemplate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get compute collection fabric template by id
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
    put:
      consumes:
      - application/json
      description: |-
        Updates compute collection fabric template for the given id. This functionality is deprecated. Use Transport Node Profiles instead of this template.
      operationId: UpdateComputeCollectionFabricTemplate
      parameters:
      - in: path
        name: fabric-template-id
        required: true
        type: string
      - in: body
        name: ComputeCollectionFabricTemplate
        required: true
        schema:
          $ref: '#/definitions/ComputeCollectionFabricTemplate'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollectionFabricTemplate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Updates compute collection fabric template
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
  /fabric/compute-collections:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all compute collections.
      operationId: ListComputeCollections
      parameters:
      - description: Local Id of the compute collection in the Compute Manager
        in: query
        name: cm_local_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: 'Id of the discovered node which belongs to this Compute Collection

          '
        in: query
        name: discovered_node_id
        required: false
        type: string
      - description: Name of the ComputeCollection in source compute manager
        in: query
        name: display_name
        required: false
        type: string
      - description: 'External ID of the ComputeCollection in the source Compute manager,

          e.g. mo-ref in VC

          '
        in: query
        name: external_id
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: 'Id of the fabric node created from a discovered node belonging
          to

          this Compute Collection

          '
        in: query
        name: node_id
        required: false
        type: string
      - description: Id of the compute manager from where this Compute Collection
          was discovered
        in: query
        name: origin_id
        required: false
        type: string
      - description: 'ComputeCollection type like VC_Cluster. Here the Compute Manager

          type prefix would help in differentiating similar named Compute

          Collection types from different Compute Managers

          '
        in: query
        name: origin_type
        required: false
        type: string
      - description: Id of the owner of compute collection in the Compute Manager
        in: query
        name: owner_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Compute Collections
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: InventoryCmObj
  /fabric/compute-collections/{cc-ext-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific compute collection.
      operationId: ReadComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return Compute Collection Information
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: InventoryCmObj
    post:
      consumes:
      - application/json
      description: |-
        Perform action specific to NSX on the compute-collection. cc-ext-id should be of type VC_Cluster.
      operationId: PerformActionOnComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      - description: Supported actions on compute-collection
        enum:
        - remove_nsx
        in: query
        name: action
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform action specific to NSX on the compute-collection. cc-ext-id should be of type VC_Cluster.
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionDeployment
  /fabric/compute-collections/{cc-ext-id}/member-status:
    get:
      consumes:
      - application/json
      description: |-
        Get status of member host nodes of the compute-collection. Only nsx prepared host nodes in the specified compute-collection are included in the response. cc-ext-id should be of type VC_Cluster.
      operationId: GetHostNodeStatusOnComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HostNodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get status of member host nodes of the compute-collection. Only nsx prepared host nodes in the specified compute-collection are included in the response. cc-ext-id should be of type VC_Cluster.
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: ComputeCollectionDeployment
  /fabric/compute-collections/{cc-ext-id}/network/physical-interfaces:
    get:
      consumes:
      - application/json
      description: |
        Returns list of physical network interfaces for all discovered nodes in
        compute collection. Interface information includes PNIC name, hostswitch
        name it's attached to(if any) and MAC address.
      operationId: ListComputeCollectionPhysicalNetworkInterfaces
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeCollectionNetworkInterfacesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List the Physical Network Interface for all discovered nodes
      tags:
      - System Administration, Configuration, Fabric, Compute Collections
      x-vmw-nsx-module: InventoryCmObj
  /fabric/compute-managers:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all compute managers.
      operationId: ListComputeManagers
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Compute manager type like vCenter
        in: query
        name: origin_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: IP address or hostname of compute manager
        format: hostname-or-ip
        in: query
        name: server
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeManagerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Compute managers
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
    post:
      consumes:
      - application/json
      description: |
        Registers compute manager with NSX. Inventory service will collect
        data from the registered compute manager
      operationId: AddComputeManager
      parameters:
      - in: body
        name: ComputeManager
        required: true
        schema:
          $ref: '#/definitions/ComputeManager'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ComputeManager'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register compute manager with NSX
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
  /fabric/compute-managers/{compute-manager-id}:
    delete:
      consumes:
      - application/json
      description: |
        Unregisters a specified compute manager
      operationId: DeleteComputeManager
      parameters:
      - in: path
        name: compute-manager-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Unregister a compute manager
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific compute manager
      operationId: ReadComputeManager
      parameters:
      - in: path
        name: compute-manager-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeManager'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return compute manager Information
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
    put:
      consumes:
      - application/json
      description: |
        Updates a specified compute manager
      operationId: UpdateComputeManager
      parameters:
      - in: path
        name: compute-manager-id
        required: true
        type: string
      - in: body
        name: ComputeManager
        required: true
        schema:
          $ref: '#/definitions/ComputeManager'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeManager'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update compute manager
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
  /fabric/compute-managers/{compute-manager-id}/state:
    get:
      consumes:
      - application/json
      description: |-
        Get the realized state of a compute manager
      operationId: GetComputeManagerState
      parameters:
      - in: path
        name: compute-manager-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state of a compute manager
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
  /fabric/compute-managers/{compute-manager-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns connection and version information about a compute manager
      operationId: ReadComputeManagerStatus
      parameters:
      - in: path
        name: compute-manager-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputeManagerStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return runtime status information for a compute manager
      tags:
      - System Administration, Configuration, Fabric, Compute Managers
      x-vmw-nsx-module: InventoryCmObj
  /fabric/container-application-instances:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all container application instance.
      operationId: ListContainerApplicationInstances
      parameters:
      - description: Identifier of the container application
        in: query
        name: container_application_id
        required: false
        type: string
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Identifier of the container project
        in: query
        name: container_project_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerApplicationInstanceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of container application instance
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Applications
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-application-instances/{container-application-instance-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific container application instance.
      operationId: GetContainerApplicationInstance
      parameters:
      - in: path
        name: container-application-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerApplicationInstance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a container application instance
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Applications
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-applications:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all Container Applications.
      operationId: ListContainerApplications
      parameters:
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Identifier of the container project
        in: query
        name: container_project_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerApplicationListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Container Applications
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Applications
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-applications/{container-application-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific Container Application within a project.
      operationId: GetContainerApplication
      parameters:
      - in: path
        name: container-application-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerApplication'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a Container Application within a container project
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Applications
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-cluster-nodes:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all container cluster nodes.
      operationId: ListContainerClusterNodes
      parameters:
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerClusterNodeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of container cluster nodes
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-cluster-nodes/{container-cluster-node-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific container cluster node.
      operationId: GetContainerClusterNode
      parameters:
      - in: path
        name: container-cluster-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerClusterNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a container cluster node
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-clusters:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all Container Clusters.
      operationId: ListContainerClusters
      parameters:
      - description: Type of container cluster
        enum:
        - PAS
        - PKS
        - Kubernetes
        - Openshift
        - WCP
        - Other
        in: query
        name: cluster_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Type of infrastructure
        enum:
        - vSphere
        - AWS
        - Azure
        - VMC
        - KVM
        - Baremetal
        in: query
        name: infra_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerClusterListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Container Clusters
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-clusters/{container-cluster-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific container cluster
      operationId: GetContainerCluster
      parameters:
      - in: path
        name: container-cluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerCluster'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a container cluster
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-ingress-policies:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all ingress policies.
      operationId: ListContainerIngressPolicies
      parameters:
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Identifier of the container project
        in: query
        name: container_project_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerIngressPolicyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Container Ingress Policies
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-ingress-policies/{ingress-policy-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific ingress policy.
      operationId: GetContainerIngressPolicy
      parameters:
      - in: path
        name: ingress-policy-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerIngressPolicy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns an ingress policy spec
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-network-policies:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all network policies.
      operationId: ListContainerNetworkPolicies
      parameters:
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Identifier of the container project
        in: query
        name: container_project_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerNetworkPolicyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Container Network Policies
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-network-policies/{network-policy-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific network policy.
      operationId: GetContainerNetworkPolicy
      parameters:
      - in: path
        name: network-policy-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerNetworkPolicy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a network policy spec
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Clusters
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-projects:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all container projects
      operationId: ListContainerProjects
      parameters:
      - description: Identifier of the container cluster
        in: query
        name: container_cluster_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerProjectListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of container projects
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Projects
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/container-projects/{container-project-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific project
      operationId: GetContainerProject
      parameters:
      - in: path
        name: container-project-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ContainerProject'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a container project
      tags:
      - System Administration, Configuration, Fabric, Containers, Container Projects
      x-vmw-nsx-module: InventoryContainerObj
  /fabric/discovered-nodes:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all discovered nodes.
      operationId: ListDiscoveredNodes
      parameters:
      - description: Local Id of the discovered node in the Compute Manager
        in: query
        name: cm_local_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Display name of discovered node
        in: query
        name: display_name
        required: false
        type: string
      - description: External id of the discovered node, ex. a mo-ref from VC
        in: query
        name: external_id
        required: false
        type: string
      - description: Discovered node has a parent compute collection or is a standalone
          host
        enum:
        - 'true'
        - 'false'
        in: query
        name: has_parent
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: IP address of the discovered node
        in: query
        name: ip_address
        required: false
        type: string
      - description: Id of the fabric node created from the discovered node
        in: query
        name: node_id
        required: false
        type: string
      - description: Discovered Node type like HostNode
        in: query
        name: node_type
        required: false
        type: string
      - description: Id of the compute manager from where this node was discovered
        in: query
        name: origin_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: External id of the compute collection to which this node belongs
        in: query
        name: parent_compute_collection
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DiscoveredNodeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Discovered Nodes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Discovered Nodes
      x-vmw-nsx-module: InventoryCmObj
  /fabric/discovered-nodes/{node-ext-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific discovered node.
      operationId: ReadDiscoveredNode
      parameters:
      - in: path
        name: node-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DiscoveredNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return Discovered Node Information
      tags:
      - System Administration, Configuration, Fabric, Nodes, Discovered Nodes
      x-vmw-nsx-module: InventoryCmObj
  /fabric/discovered-nodes/{node-ext-id}?action=create_transport_node:
    post:
      consumes:
      - application/json
      description: |-
        NSX components are installaed on host and transport node is created with given configurations.
      operationId: CreateTransportNodeForDiscoveredNodeCreate_transport_node
      parameters:
      - in: path
        name: node-ext-id
        required: true
        type: string
      - in: body
        name: TransportNode
        required: true
        schema:
          $ref: '#/definitions/TransportNode'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Created Transport Node for Discovered Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Discovered Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /fabric/discovered-nodes/{node-ext-id}?action=hostprep:
    post:
      consumes:
      - application/json
      description: |-
        Prepares(hostprep) discovered node for NSX. NSX LCP bundles are installed on this discovered node. This API is deprecated. Use /fabric/discovered-nodes/<node-ext-id>?action=create_transport_node
      operationId: HostPrepDiscoveredNodeHostprep
      parameters:
      - in: path
        name: node-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        (Deprecated) Prepares discovered Node for NSX
      tags:
      - System Administration, Configuration, Fabric, Nodes, Discovered Nodes
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
  /fabric/discovered-nodes/{node-ext-id}?action=reapply_cluster_config:
    post:
      consumes:
      - application/json
      description: |-
        When transport node profile (TNP) is applied to a cluster, if any validation fails (e.g. VMs running on host) then transport node (TN) is not created. In that case after the required action is taken (e.g. VMs powered off), you can call this API to try to create TN for that discovered node.
        Do not call this API if Transport Node already exists for the discovered node. In that case use API on transport node. /transport-nodes/<transport-node-id>?action=restore_cluster_config
      operationId: ReapplyTNProfileOnDiscoveredNodeReapply_cluster_config
      parameters:
      - in: path
        name: node-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Apply cluster level config on Discovered Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Discovered Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /fabric/nodes:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all fabric nodes (hosts and edges).
        This api is deprecated as part of FN+TN unification. Please use Transport Node API
        GET /transport-nodes to list all fabric nodes.
      operationId: ListNodes
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Id of the discovered node which was converted to create this
          node
        in: query
        name: discovered_node_id
        required: false
        type: string
      - description: HostNode display name
        in: query
        name: display_name
        required: false
        type: string
      - description: HostNode external id
        in: query
        name: external_id
        required: false
        type: string
      - description: Hardware Id of the host
        in: query
        name: hardware_id
        required: false
        type: string
      - description: HostNode's Hypervisor type, for example ESXi, RHEL KVM or UBUNTU
          KVM.
        enum:
        - ESXI
        - RHELKVM
        - UBUNTUKVM
        - HYPERV
        - RHELCONTAINER
        - CENTOSCONTAINER
        - RHELSERVER
        - WINDOWSSERVER
        - UBUNTUSERVER
        - CENTOSSERVER
        - CENTOSKVM
        - SLESKVM
        - SLESSERVER
        - OELSERVER
        - RHELSMARTNIC
        - UBUNTUSMARTNIC
        in: query
        name: hypervisor_os_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Management IP address of the node
        in: query
        name: ip_address
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Node type from 'HostNode', 'EdgeNode', 'PublicCloudGatewayNode'
        enum:
        - HostNode
        - EdgeNode
        - PublicCloudGatewayNode
        in: query
        name: resource_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Nodes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
    post:
      consumes:
      - application/json
      description: |
        Creates a host node (hypervisor) or edge node (router) in the transport
        network.

        When you run this command for a host, NSX Manager attempts to install the
        NSX kernel modules, which are packaged as VIB, RPM, or DEB files. For the
        installation to succeed, you must provide the host login credentials and the
        host thumbprint.

        To get the ESXi host thumbprint, SSH to the host and run the
        <b>openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha256 -noout</b>
        command.

        To generate host key thumbprint using SHA-256 algorithm please follow the
        steps below.

        Log into the host, making sure that the connection is not vulnerable to a
        man in the middle attack. Check whether a public key already exists.
        Host public key is generally located at '/etc/ssh/ssh_host_rsa_key.pub'.
        If the key is not present then generate a new key by running the following
        command and follow the instructions.

        <b>ssh-keygen -t rsa</b>

        Now generate a SHA256 hash of the key using the following command. Please
        make sure to pass the appropriate file name if the public key is stored with
        a different file name other than the default 'id_rsa.pub'.

        <b>awk '{print $2}' id_rsa.pub | base64 -d | sha256sum -b | sed 's/ .*$//' | xxd -r -p | base64</b>
        This api is deprecated as part of FN+TN unification. Please use Transport Node API
        POST /transport-nodes to install NSX components on a node.
      operationId: AddNode
      parameters:
      - in: body
        name: Node
        required: true
        schema:
          $ref: '#/definitions/Node'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register and Install NSX Components on a Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/status:
    get:
      consumes:
      - application/json
      description: |
        Returns connectivity, heartbeat, and version information about all fabric nodes
        (host or edge).
        This api is deprecated as part of FN+TN unification. Please use Transport Node
        Status API /transport-nodes/&lt;node-id&gt;/status to get status information of a node
        and to get all transport nodes ids use GET /transport-nodes.
      operationId: ReadNodesStatus
      parameters:
      - description: List of requested Nodes.
        in: query
        name: node_ids
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return Runtime Status Information for given Nodes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes a specified fabric node (host or edge).
        A fabric node may only be deleted when it is no longer referenced
        by a Transport Node. If unprepare_host option is set to false, the
        host will be deleted without uninstalling the NSX components from
        the host.
        This api is deprecated, use Transport Node API
        DELETE /transport-nodes/&lt;transport-node-id&gt; to delete FN.
        DELETE /transport-nodes/<transport-node-id> to delete FN.
      operationId: DeleteNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - default: true
        description: Delete a host and uninstall NSX components
        in: query
        name: unprepare_host
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
    get:
      consumes:
      - application/json
      description: |
        Returns information about a specific fabric node (host or edge).
        This api is deprecated, use Transport Node API
        GET /transport-nodes/&lt;transport-node-id&gt; to get fabric
        node information.
      operationId: ReadNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return Node Information
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
    post:
      consumes:
      - application/json
      description: |
        The supported fabric node actions are enter_maintenance_mode,
        exit_maintenance_mode for EdgeNode.
        This API is deprecated, please call TransportNode maintenance mode API to
        update maintenance mode, refer to "Update transport node maintenance mode".
      operationId: PerformNodeAction
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Supported fabric node actions
        enum:
        - enter_maintenance_mode
        - exit_maintenance_mode
        - get_maintenance_mode_state
        in: query
        name: action
        type: string
      - default: false
        description: Evacuate powered-off vms
        in: query
        name: evacuate_powered_off_vms
        required: false
        type: boolean
      - default: ensure_object_accessibility
        description: Vsan decommission mode
        enum:
        - evacuate_all_data
        - ensure_object_accessibility
        - no_action
        in: query
        name: vsan_mode
        required: false
        type: string
      produces:
      - application/json
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform an Action on Fabric Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
    put:
      consumes:
      - application/json
      description: |
        Modifies attributes of a fabric node (host or edge).
        This api is deprecated as part of FN+TN unification. Please use Transport Node
        API PUT /transport-nodes/&lt;transport-node-id&gt; to update fabric node details.
        API PUT /transport-nodes/<transport-node-id> to update fabric node details.
      operationId: UpdateNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: body
        name: Node
        required: true
        schema:
          $ref: '#/definitions/Node'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}/capabilities:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about capabilities of a single fabric host node. Edge nodes do not have capabilities. This api is deprecated, use GET /transport-nodes/&lt;transportnode-id&gt;/capabilities if FN is converted to TN.
      operationId: ListNodeCapabilities
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeCapabilitiesResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Capabilities of a Single Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}/modules:
    get:
      consumes:
      - application/json
      description: |
        Get the module details of a Fabric Node
        This api is deprecated, use Transport Node API
        GET /transport-nodes/&lt;transportnode-id&gt;/modules to get
        fabric node modules.
      operationId: GetFabricNodeModules
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SoftwareModuleResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get the module details of a Fabric Node
        This api is deprecated, use Transport Node API
        GET /transport-nodes/&lt;transportnode-id&gt;/modules to get
        fabric node modules.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}/network/interfaces:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of interfaces on the node and detailed
        information about each interface. Interface information includes MTU,
        broadcast and host IP addresses, link and admin status, MAC address, network
        mask, and the IP configuration method (static or DHCP).
        This api is deprecated. Please use Transport Node API
        GET /transport-nodes/<transport-node-id>/network/interfaces
        to list node network interfaces for the corresponding TN.
      operationId: ListFabricNodeInterfaces
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Admin status of the interface
        enum:
        - UP
        - DOWN
        in: query
        name: admin_status
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfacePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List the specified node's Network Interfaces
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Interfaces
      x-vmw-nsx-module: ApplianceStats
  /fabric/nodes/{node-id}/network/interfaces/{interface-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about the specified interface. Interface
        information includes MTU, broadcast and host IP addresses, link and admin
        status, MAC address, network  mask, and the IP configuration method (static
        or DHCP).
        This api is deprecated as part of FN+TN unification. Please use Transport
        Node API GET /transport-nodes/<transport-node-id>/network/interfaces/<interface-id>
        to get interface details of a node.
      operationId: ReadFabricNodeInterface
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the node's Network Interface
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Interfaces
      x-vmw-nsx-module: ApplianceStats
  /fabric/nodes/{node-id}/network/interfaces/{interface-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        On the specified interface, returns the number of received (rx), transmitted
        (tx), and dropped packets; the number of bytes and errors received and
        transmitted on the interface; and the number of detected collisions.
        This api is deprecated as part of FN+TN unification. Please use
        /transport-nodes/<transportnode-id>/network/interfaces/<interface-id>/stats to
        read network interface statistics with contraint FN is converted to TN.
      operationId: ReadFabricNodeInterfaceStatistics
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceStatisticsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the NSX Manager's Network Interface Statistics
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Network
        Interfaces
      x-vmw-nsx-module: ApplianceStats
  /fabric/nodes/{node-id}/state:
    get:
      consumes:
      - application/json
      description: |
        For edge nodes, returns the current install
        state when deployment is in progress, NODE_READY
        when deployment is complete and the failure state
        when deployment has failed.
        This api is deprecated. Please use /transport-nodes/&lt;transportnode-id&gt;/state
        to get realized state of a Fabric Node.
      operationId: GetFabricNodeState
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Fabric Node.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns connectivity, heartbeat, and version information about a fabric node
        (host or edge). Note that the LCP connectivity status remains down until
        after the fabric node has been added as a transpot node and the NSX host
        switch has been successfully installed. See POST /api/v1/transport-nodes.
        This api is deprecated, use GET /api/v1/transport-nodes/&lt;node-id&gt;/status to
        get status information of a node with constraint FN is converted to TN.
      operationId: ReadNodeStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return Runtime Status Information for a Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}?action=restart_inventory_sync:
    post:
      consumes:
      - application/json
      description: |
        Restart the inventory sync for the node if it is currently internally paused.
        After this action the next inventory sync coming from the node is processed.
        This api is deprecated as part of FN+TN unification. Please use Transport Node API
        POST /transport-nodes/&lt;transport-node-id&gt;?action=restart_inventory_sync
        to restart inventory sync of node.
      operationId: RestartInventorySyncRestart_inventory_sync
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart the inventory sync for the node if it is paused currently.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: FabricNode
  /fabric/nodes/{node-id}?action=upgrade_infra:
    post:
      consumes:
      - application/json
      description: |-
        Perform a service deployment upgrade on a host node
      operationId: PerformHostNodeUpgradeActionUpgrade_infra
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - default: false
        description: Should VM migration be disabled during upgrade
        in: query
        name: disable_vm_migration
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/Node'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform a service deployment upgrade on a host node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: HostPrepServiceFabric
  /fabric/nodes/{target-node-id}/{target-uri}:
    delete:
      consumes:
      - application/json
      description: |
        Invoke DELETE request on target fabric node. This api is deprecated
        as part of FN+TN unification. Please use Transport Node API
        DELETE /transport-nodes/&lt;transport-node-id&gt;/&lt;target-node-id&gt;/&lt;target-uri&gt;
      operationId: InvokeDeleteFabricCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke DELETE request on target fabric node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: CentralApiModule
    get:
      consumes:
      - application/json
      description: |
        Invoke GET request on target fabric node. This api is deprecated
        as part of FN+TN unification. Please use Transport Node API
        GET /transport-nodes/&lt;transport-node-id&gt;/&lt;target-node-id&gt;/&lt;target-uri&gt;
      operationId: InvokeGetFabricCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke GET request on target fabric node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: CentralApiModule
    post:
      consumes:
      - application/json
      description: |
        Invoke POST request on target fabric node. This api is deprecated
        as part of FN+TN unification. Please use Transport Node API
        POST /transport-nodes/&lt;transport-node-id&gt;/&lt;target-node-id&gt;/&lt;target-uri&gt;
      operationId: InvokePostFabricCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke POST request on target fabric node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: CentralApiModule
    put:
      consumes:
      - application/json
      description: |
        Invoke PUT request on target fabric node. This api is deprecated
        as part of FN+TN unification. Please use Transport Node API
        PUT /transport-nodes/&lt;transport-node-id&gt;/&lt;target-node-id&gt;/&lt;target-uri&gt;
      operationId: InvokePutFabricCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke PUT request on target fabric node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: CentralApiModule
  /fabric/ostypes:
    get:
      consumes:
      - application/json
      description: |-
        Returns names of all supported host OS.
      operationId: GetSupportedHostOSTypes
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SupportedHostOSListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return list of supported host OS types
      tags:
      - System Administration, Configuration, Fabric, Nodes, Fabric Nodes
      x-vmw-nsx-module: HostPrepServiceFabric
  /fabric/physical-servers:
    get:
      consumes:
      - application/json
      description: |-
        Returns information of all physical/bare metal servers registered as TN.
      operationId: ListPhysicalServers
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Display Name of the physical server
        in: query
        name: display_name
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: OS type of the physical server
        enum:
        - RHELSERVER
        - UBUNTUSERVER
        - CENTOSSERVER
        - SLESSERVER
        - WINDOWSSERVER
        - OELSERVER
        in: query
        name: os_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PhysicalServerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of physical servers
      tags:
      - System Administration, Configuration, Fabric, Nodes, Physical Servers
      x-vmw-nsx-module: PhysicalServer
  /fabric/physical-servers/{physical-server-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about physical/bare metal server based on given transport node id.
      operationId: GetPhysicalServer
      parameters:
      - in: path
        name: physical-server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PhysicalServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return a specific physical server
      tags:
      - System Administration, Configuration, Fabric, Nodes, Physical Servers
      x-vmw-nsx-module: PhysicalServer
  /fabric/vifs:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all VIFs. A virtual network interface aggregates
        network interfaces into a logical interface unit that is indistinuishable
        from a physical network interface.
      operationId: ListVifs
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Id of the host where this vif is located.
        in: query
        name: host_id
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: LPort Attachment Id of the virtual network interface.
        in: query
        name: lport_attachment_id
        required: false
        type: string
      - description: External id of the virtual machine.
        in: query
        name: owner_vm_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: External id of the virtual machine.
        in: query
        name: vm_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VirtualNetworkInterfaceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Virtual Network Interfaces (VIFs)
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Interfaces
      x-vmw-nsx-module: Inventory
  /fabric/virtual-machines:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all virtual machines.
      operationId: ListVirtualMachines
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Display Name of the virtual machine
        in: query
        name: display_name
        required: false
        type: string
      - description: External id of the virtual machine
        in: query
        name: external_id
        required: false
        type: string
      - description: Id of the host where this vif is located
        in: query
        name: host_id
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VirtualMachineListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Virtual Machines
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Machines
      x-vmw-nsx-module: Inventory
  /fabric/virtual-machines/tools-info:
    get:
      consumes:
      - application/json
      description: |-
        This API returns the list of tools and agents installed in VMs.
      operationId: ListVmToolsInfo
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VmToolsInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of tools and agents installed in VMs.
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Machines
      x-vmw-nsx-module: VmToolsInfo
  /fabric/virtual-machines?action=add_tags:
    post:
      consumes:
      - application/json
      description: |
        Perform action on a specific virtual machine. External id of the virtual machine needs to be
        provided in the request body. Some of the actions that can be performed are update tags, add
        tags, remove tags.
        To add tags to existing list of tag, use action parameter add_tags.
        To remove tags from existing list of tag, use action parameter remove_tags.
        To replace existing tags with new tags, use action parameter update_tags.
        To clear all tags, provide an empty list and action parameter as update_tags.
        The vmw-async: True HTTP header cannot be used with this API.
      operationId: AddVirtualMachineTagsAdd_tags
      parameters:
      - in: body
        name: VirtualMachineTagUpdate
        required: true
        schema:
          $ref: '#/definitions/VirtualMachineTagUpdate'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform action on specified virtual machine e.g. update tags
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Machines
      x-vmw-nsx-module: InventoryVmTag
  /fabric/virtual-machines?action=remove_tags:
    post:
      consumes:
      - application/json
      description: |
        Perform action on a specific virtual machine. External id of the virtual machine needs to be
        provided in the request body. Some of the actions that can be performed are update tags, add
        tags, remove tags.
        To add tags to existing list of tag, use action parameter add_tags.
        To remove tags from existing list of tag, use action parameter remove_tags.
        To replace existing tags with new tags, use action parameter update_tags.
        To clear all tags, provide an empty list and action parameter as update_tags.
        The vmw-async: True HTTP header cannot be used with this API.
      operationId: RemoveVirtualMachineTagsRemove_tags
      parameters:
      - in: body
        name: VirtualMachineTagUpdate
        required: true
        schema:
          $ref: '#/definitions/VirtualMachineTagUpdate'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform action on specified virtual machine e.g. update tags
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Machines
      x-vmw-nsx-module: InventoryVmTag
  /fabric/virtual-machines?action=update_tags:
    post:
      consumes:
      - application/json
      description: |
        Perform action on a specific virtual machine. External id of the virtual machine needs to be
        provided in the request body. Some of the actions that can be performed are update tags, add
        tags, remove tags.
        To add tags to existing list of tag, use action parameter add_tags.
        To remove tags from existing list of tag, use action parameter remove_tags.
        To replace existing tags with new tags, use action parameter update_tags.
        To clear all tags, provide an empty list and action parameter as update_tags.
        The vmw-async: True HTTP header cannot be used with this API.
      operationId: UpdateVirtualMachineTagsUpdate_tags
      parameters:
      - in: body
        name: VirtualMachineTagUpdate
        required: true
        schema:
          $ref: '#/definitions/VirtualMachineTagUpdate'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform action on specified virtual machine e.g. update tags
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Machines
      x-vmw-nsx-module: InventoryVmTag
  /fabric/virtual-switches:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all virtual switches based on the
        request parameters.
      operationId: ListVirtualSwitches
      parameters:
      - description: Local Id of the virtual switch
        in: query
        name: cm_local_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Discovered node ID
        in: query
        name: discovered_node_id
        required: false
        type: string
      - description: Display name of the virtual switch
        in: query
        name: display_name
        required: false
        type: string
      - description: External id of the virtual switch
        in: query
        name: external_id
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: ID of the compute manager
        in: query
        name: origin_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: UUID of the switch
        in: query
        name: uuid
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VirtualSwitchListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the List of Virtual Switches
      tags:
      - System Administration, Configuration, Fabric, Inventory, Virtual Switches
      x-vmw-nsx-module: InventoryCmObj
  /failure-domains:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about configured failure domains.
      operationId: ListFailureDomains
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FailureDomainListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Failure Domains
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Failure Domains
      x-vmw-nsx-module: FailureDomain
    post:
      consumes:
      - application/json
      description: |
        Creates a new failure domain.
      operationId: CreateFailureDomain
      parameters:
      - in: body
        name: FailureDomain
        required: true
        schema:
          $ref: '#/definitions/FailureDomain'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/FailureDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create Failure Domain
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Failure Domains
      x-vmw-nsx-module: FailureDomain
  /failure-domains/{failure-domain-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes an existing failure domain. You can not delete system generated
        default failure domain.
      operationId: DeleteFailureDomain
      parameters:
      - in: path
        name: failure-domain-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete Failure Domain
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Failure Domains
      x-vmw-nsx-module: FailureDomain
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a single failure domain.
      operationId: GetFailureDomain
      parameters:
      - in: path
        name: failure-domain-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FailureDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Failure Domain
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Failure Domains
      x-vmw-nsx-module: FailureDomain
    put:
      consumes:
      - application/json
      description: |
        Updates an existing failure domain. Modifiable parameters are
        display_name, preferred_active_edge_services flag.
      operationId: UpdateFailureDomain
      parameters:
      - in: path
        name: failure-domain-id
        required: true
        type: string
      - in: body
        name: FailureDomain
        required: true
        schema:
          $ref: '#/definitions/FailureDomain'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FailureDomain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update Failure Domain
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Failure Domains
      x-vmw-nsx-module: FailureDomain
  /firewall/excludelist:
    get:
      consumes:
      - application/json
      description: |-
        Get list of entities in exclude list
      operationId: GetExcludeList
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ExcludeList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get list of entities in exclude list
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: ExcludeList
    put:
      consumes:
      - application/json
      description: |-
        Modify exclude list
      operationId: UpdateExcludeList
      parameters:
      - in: body
        name: ExcludeList
        required: true
        schema:
          $ref: '#/definitions/ExcludeList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ExcludeList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Modify exclude list
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: ExcludeList
  /firewall/excludelist?action=add_member:
    post:
      consumes:
      - application/json
      description: |-
        Add a new object in the exclude list
      operationId: AddMemberAdd_member
      parameters:
      - in: body
        name: ResourceReference
        required: true
        schema:
          $ref: '#/definitions/ResourceReference'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ResourceReference'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a new object in the exclude list
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: ExcludeList
  /firewall/excludelist?action=check_if_exists:
    post:
      consumes:
      - application/json
      description: |-
        Check if the object a member of the exclude list
      operationId: CheckMemberIfExistsCheck_if_exists
      parameters:
      - default: false
        description: Check all parents
        in: query
        name: deep_check
        required: false
        type: boolean
      - description: identifier of the object
        in: query
        maxLength: 64
        name: object_id
        required: true
        type: string
      - description: Object type of an entity
        enum:
        - NSGroup
        - LogicalPort
        - LogicalSwitch
        in: query
        name: object_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ResourceReference'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Check if the object a member of the exclude list
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: ExcludeList
  /firewall/excludelist?action=remove_member:
    post:
      consumes:
      - application/json
      description: |-
        Remove an existing object from the exclude list
      operationId: RemoveMemberRemove_member
      parameters:
      - default: false
        description: Check all parents
        in: query
        name: deep_check
        required: false
        type: boolean
      - description: identifier of the object
        in: query
        maxLength: 64
        name: object_id
        required: true
        type: string
      - description: Object type of an entity
        enum:
        - NSGroup
        - LogicalPort
        - LogicalSwitch
        in: query
        name: object_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ResourceReference'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove an existing object from the exclude list
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: ExcludeList
  /firewall/profiles:
    get:
      consumes:
      - application/json
      description: |
        List all the firewall profiles available by requested resource_type.
      operationId: ListFirewallProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Profile resource type
        in: query
        name: resource_type
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get firewall profiles available.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallProfile
    post:
      consumes:
      - application/json
      description: |
        Create a firewall profile with values provided. It creates profile based
        resource_type in the payload.
      operationId: CreateFirewallProfile
      parameters:
      - in: body
        name: BaseFirewallProfile
        required: true
        schema:
          $ref: '#/definitions/BaseFirewallProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BaseFirewallProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a firewall profile.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallProfile
  /firewall/profiles/{profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes a firewall profile.
      operationId: DeleteFirewallProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a firewall profile.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallProfile
    get:
      consumes:
      - application/json
      description: |
        Return firewall session timer profile.
      operationId: GetFirewallProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseFirewallProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all firewall session timer profiles.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallProfile
    put:
      consumes:
      - application/json
      description: |
        Update user configurable properties of firewall profile.
      operationId: UpdateFirewallProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      - in: body
        name: BaseFirewallProfile
        required: true
        schema:
          $ref: '#/definitions/BaseFirewallProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseFirewallProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a firewall profile.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallProfile
  /firewall/rules/{rule-id}:
    get:
      consumes:
      - application/json
      description: |
        Return existing firewall rule information.
      operationId: ReadFirewallRule
      parameters:
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read an Existing Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/rules/{rule-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a firewall rule. Returned response is same as rule's
        section realization state response.
      operationId: GetRuleState
      parameters:
      - in: path
        name: rule-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RuleState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Firewall Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections:
    get:
      consumes:
      - application/json
      description: |
        List all firewall section in paginated form. A default page size is limited
        to 1000 firewall sections. By default list of section is filtered by LAYER3
        type.
      operationId: ListSections
      parameters:
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Limits results to sections having rules with specific Context
          Profiles.
        in: query
        name: context_profiles
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Toggle to search with direct or indirect references.
        in: query
        name: deep_search
        required: false
        type: boolean
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - description: Type of attachment for logical port; for query only.
        enum:
        - VIF
        - LOGICALROUTER
        - BRIDGEENDPOINT
        - DHCP_SERVICE
        - METADATA_PROXY
        - L2VPN_SESSION
        - NONE
        in: query
        name: enforced_on
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: exclude_applied_to_type
        required: false
        type: string
      - description: Limits results to sections having rules with specific Extended
          Sources.
        in: query
        name: extended_sources
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: include_applied_to_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Limit results to sections which are locked/unlocked
        in: query
        name: locked
        required: false
        type: boolean
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: false
        description: Return invalid references in results.
        in: query
        name: search_invalid_references
        required: false
        type: boolean
      - description: Limit result to sections of a specific enforcement point
        in: query
        name: search_scope
        required: false
        type: string
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      - default: LAYER3
        description: Section Type
        enum:
        - LAYER2
        - LAYER3
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Firewall Sections
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    post:
      consumes:
      - application/json
      description: |
        Creates new empty firewall section in the system.
      operationId: AddSection
      parameters:
      - in: body
        name: FirewallSection
        required: true
        schema:
          $ref: '#/definitions/FirewallSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a New Empty Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/summary:
    get:
      consumes:
      - application/json
      description: |
        List the summary of number of sections and number of rules for each firewall
        category (L2DFW, L3DFW).
      operationId: GetSectionsSummary
      parameters:
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionsSummaryList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the summary of sections in the firewall configuration.
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallSummary
  /firewall/sections/{section-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes firewall section from the system. Firewall section with
        rules can only be deleted by passing "cascade=true" parameter.
      operationId: DeleteSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - default: false
        description: Flag to cascade delete of this object to all it's child objects.
        in: query
        name: cascade
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Section and Its Associated Rules
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    get:
      consumes:
      - application/json
      description: |
        Returns information about firewall section for the identifier.
      operationId: GetSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified section, but does not modify the section's
        associated rules. Simultaneous update (modify) operations on same section
        are not allowed to prevent overwriting stale contents to firewall section.
        If a concurrent update is performed, HTTP response code 409 will be
        returned to the client operating on stale data. That client should retrieve
        the firewall section again and re-apply its update.
      operationId: UpdateSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSection
        required: true
        schema:
          $ref: '#/definitions/FirewallSection'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}/rules:
    get:
      consumes:
      - application/json
      description: |
        Return all firewall rule(s) information for a given firewall section.
      operationId: GetRules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Limits results to sections having rules with specific Context
          Profiles.
        in: query
        name: context_profiles
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Toggle to search with direct or indirect references.
        in: query
        name: deep_search
        required: false
        type: boolean
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - description: Limits results to sections having rules with specific Extended
          Sources.
        in: query
        name: extended_sources
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: false
        description: Return invalid references in results.
        in: query
        name: search_invalid_references
        required: false
        type: boolean
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRuleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get All the Rules for a Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    post:
      consumes:
      - application/json
      description: |
        Adds a new firewall rule in existing firewall section. Adding firewall rule
        to a section modifies parent section entity and simultaneous update (modify)
        operations on same section are not allowed to prevent overwriting stale
        content to firewall section. If a concurrent update is performed, HTTP
        response code 409 will be returned to the client operating on stale data.
        That client should retrieve the firewall section again and re-apply its
        update.
      operationId: AddRuleInSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallRule
        required: true
        schema:
          $ref: '#/definitions/FirewallRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRule'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a Single Rule in a Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}/rules/stats:
    get:
      consumes:
      - application/json
      description: |
        Get aggregated statistics for all rules for a given firewall section. The
        API only supports access to cached (source=cached) statistical data
        collected offline in the system. Data includes total number of packets,
        bytes, sessions counters and popularity index for a firewall rule and
        overall session count, max session count and max popularity index for
        all firewall rules on transport nodes or edge nodes. Aggregated
        statistics like maximum popularity index, maximum session count and
        total session count are computed with lower frequency compared to
        individual generic rule statistics, hence they may have a computation
        delay up to 15 minutes to reflect in response to this API.
      operationId: GetFirewallSectionStats
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallStatsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Firewall section level statistics section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatsRule
  /firewall/sections/{section-id}/rules/{rule-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete existing firewall rule in a firewall section. Deleting firewall rule
        in a section modifies parent section and simultaneous update (modify)
        operations on same section are not allowed to prevent overwriting stale
        contents to firewall section. If a concurrent update is performed, HTTP
        response code 409 will be returned to the client operating on stale data.
        That client should retrieve the firewall section again and re-apply its
        update.
      operationId: DeleteRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    get:
      consumes:
      - application/json
      description: |
        Return existing firewall rule information in a firewall section.
      operationId: GetRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read an Existing Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
    put:
      consumes:
      - application/json
      description: |
        Modifies existing firewall rule in a firewall section. Updating firewall
        rule in a section modifies parent section entity and simultaneous update
        (modify) operations on same section are not allowed to prevent overwriting
        stale contents to firewall section. If a concurrent update is performed,
        HTTP response code 409 will be returned to the client operating on stale
        data. That client should retrieve the firewall section again and re-apply
        its update.
      operationId: UpdateRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: FirewallRule
        required: true
        schema:
          $ref: '#/definitions/FirewallRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}/rules/{rule-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        Get aggregated statistics for a rule for given firewall section. The
        API only supports access to cached (source=cached) statistical data
        collected offline in the system. Data includes total number of packets,
        bytes, sessions counters and popularity index for a firewall rule and
        overall session count, max session count and max popularity index for
        all firewall rules on transport nodes or edge nodes. Aggregated
        statistics like maximum popularity index, maximum session count and
        total session count are computed with lower frequency compared to
        individual generic rule statistics, hence they may have a computation
        delay up to 15 minutes to reflect in response to this API.
      operationId: GetFirewallStats
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Firewall rule level statistics
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatsRule
  /firewall/sections/{section-id}/rules/{rule-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing firewall rule along with relative position among
        other firewall rules inside a firewall section. Revising firewall rule in a
        section modifies parent section entity and simultaneous update (modify)
        operations on same section are not allowed to prevent overwriting stale
        contents to firewall section. If a concurrent update is performed, HTTP
        response code 409 will be returned to the client operating on stale data.
        That client should retrieve the firewall section again and re-apply its
        update.
      operationId: ReviseRuleRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: FirewallRule
        required: true
        schema:
          $ref: '#/definitions/FirewallRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule and Reorder the Rule
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}/rules?action=create_multiple:
    post:
      consumes:
      - application/json
      description: |
        Create multiple firewall rules in existing firewall section bounded by
        limit of 1000 firewall rules per section. Adding multiple firewall rules in
        a section modifies parent section entity and simultaneous update (modify)
        operations on same section are not allowed to prevent overwriting stale
        contents to firewall section. If a concurrent update is performed, HTTP
        response code 409 will be returned to the client operating on stale data.
        That client should retrieve the firewall section again and re-apply its
        update.
      operationId: AddRulesInSectionCreate_multiple
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallRuleList
        required: true
        schema:
          $ref: '#/definitions/FirewallRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallRuleList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Multiple Rules in a Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a firewall section.
      operationId: GetSectionState
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Firewall Section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=list_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Returns firewall section information with rules for a section identifier.
        When invoked on a section with a large number of rules, this API is supported
        only at low rates of invocation (not more than 4-5 times per minute). The
        typical latency of this API with about 1024 rules is about 4-5 seconds. This
        API should not be invoked with large payloads at automation speeds. More than
        50 rules with a large number rule references is not supported.

        Instead, to read firewall rules, use:
        GET /api/v1/firewall/sections/&lt;section-id&gt;/rules with the appropriate
        page_size.
      operationId: GetSectionWithRulesList_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section, Including Rules
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=lock:
    post:
      consumes:
      - application/json
      description: |
        Lock a section
      operationId: LockSectionLock
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSectionLock
        required: true
        schema:
          $ref: '#/definitions/FirewallSectionLock'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '423':
          description: Locked
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Lock a section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing firewall section along with its relative position
        among other firewall sections in the system. Simultaneous update (modify)
        operations on same section are not allowed to prevent overwriting stale
        contents to firewall section. If a concurrent update is performed, HTTP
        response code 409 will be returned to the client operating on stale data.
        That client should retrieve the firewall section again and re-apply its
        update.
      operationId: ReviseSectionRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSection
        required: true
        schema:
          $ref: '#/definitions/FirewallSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, Including Its Position
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=revise_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing firewall section along with its relative position
        among other firewall sections with rules. When invoked on a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 2 times per minute). The typical latency of this API with about 1024
        rules is about 15 seconds in a cluster setup. This API should not be
        invoked with large payloads at automation speeds.

        Instead, to move a section above or below another section, use:
        POST /api/v1/firewall/sections/&lt;section-id&gt;?action=revise

        To modify rules, use:
        PUT /api/v1/firewall/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;

        Simultaneous update (modify) operations on same section are not allowed to
        prevent overwriting stale contents to firewall section. If a concurrent
        update is performed, HTTP response code 409 will be returned to the client
        operating on stale data. That client should retrieve the firewall section
        again and re-apply its update.
      operationId: ReviseSectionWithRulesRevise_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/FirewallSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section with Rules
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=unlock:
    post:
      consumes:
      - application/json
      description: |
        Unlock a section
      operationId: UnlockSectionUnlock
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSectionLock
        required: true
        schema:
          $ref: '#/definitions/FirewallSectionLock'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '423':
          description: Locked
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Unlock a section
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections/{section-id}?action=update_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing firewall section along with its association with rules.
        When invoked on a large number of rules, this API is supported only at low
        rates of invocation (not more than 2 times per minute). The typical latency
        of this API with about 1024 rules is about 15 seconds in a cluster setup.
        This API should not be invoked with large payloads at automation speeds.

        Instead, to update rule content, use:
        PUT /api/v1/firewall/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;

        Simultaneous update (modify) operations on same section are not allowed to
        prevent overwriting stale contents to firewall section. If a concurrent
        update is performed, HTTP response code 409 will be returned to the client
        operating on stale data. That client should retrieve the firewall section
        again and re-apply its update.
      operationId: UpdateSectionWithRulesUpdate_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: FirewallSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/FirewallSectionRuleList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, Including Its Rules
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/sections?action=create_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Creates a new firewall section with rules. The limit on the number of
        rules is defined by maxItems in collection types for FirewallRule
        (FirewallRuleXXXList types). When invoked on a section with a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 4-5 times per minute). The typical latency of this API with about 1024
        rules is about 4-5 seconds. This API should not be invoked with large
        payloads at automation speeds. More than 50 rules with a large number of
        rule references is not supported.

        Instead, to create sections, use:
        POST /api/v1/firewall/sections

        To create rules, use:
        POST /api/v1/firewall/sections/&lt;section-id&gt;/rules
      operationId: AddSectionWithRulesCreate_with_rules
      parameters:
      - in: body
        name: FirewallSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/FirewallSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/FirewallSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Section with Rules
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: Firewall
  /firewall/stats?action=reset:
    post:
      consumes:
      - application/json
      description: |
        Sets firewall rule statistics counter to zero. This operation is supported
        for given category, for example: L3DFW i.e. for all layer3 firewall
        (transport nodes only) rules or L3EDGE i.e. for all layer3 edge firewall
        (edge nodes only) rules or L3BRIDGEPORT i.e. for all layer3 bridge port firewall
        (bridge ports only) rules.
      operationId: ResetFirewallRuleStatsReset
      parameters:
      - description: Aggregation statistic category
        enum:
        - L3DFW
        - L3EDGE
        - L3BRIDGEPORT
        in: query
        name: category
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset firewall rule statistics
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatsRule
  /firewall/status:
    get:
      consumes:
      - application/json
      description: |-
        List all firewall status for supported contexts
      operationId: ListFirewallStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all firewall status for supported contexts
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
  /firewall/status/{context-type}:
    get:
      consumes:
      - application/json
      description: |-
        Get firewall global status for dfw context
      operationId: GetFirewallStatus
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get firewall global status for dfw context
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
    put:
      consumes:
      - application/json
      description: |-
        Update global firewall status for dfw context
      operationId: UpdateFirewallStatus
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      - in: body
        name: FirewallStatus
        required: true
        schema:
          $ref: '#/definitions/FirewallStatus'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FirewallStatus'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update global firewall status for dfw context
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
  /firewall/status/{context-type}/{id}:
    get:
      consumes:
      - application/json
      description: |-
        Get firewall status for target resource in dfw context
      operationId: GetFirewallStatusOnTargetResource
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TargetResourceStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get firewall status for target resource in dfw context
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
  /firewall/status/{context-type}/{id}?action=disable_firewall:
    post:
      consumes:
      - application/json
      description: |-
        Disable firewall on target resource in dfw context
      operationId: DisableFirewallOnTargetResourceDisable_firewall
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TargetResourceStatus'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Disable firewall on target resource in dfw context
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
  /firewall/status/{context-type}/{id}?action=enable_firewall:
    post:
      consumes:
      - application/json
      description: |-
        Enable firewall on target resource in dfw context
      operationId: EnableFirewallOnTargetResourceEnable_firewall
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TargetResourceStatus'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Enable firewall on target resource in dfw context
      tags:
      - Management Plane API, Security, Services, Firewall
      x-vmw-nsx-module: FirewallStatus
  /global-configs:
    get:
      consumes:
      - application/json
      description: |
        Returns global configurations of a NSX domain grouped by the config types.
        These global configurations are valid across NSX domain for their respective
        types unless they are overridden by a more granular configurations.
      operationId: ListGlobalConfigs
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalConfigsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List global configurations of a NSX domain
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: GlobalConfigs
  /global-configs/{config-type}:
    get:
      consumes:
      - application/json
      description: |
        Returns global configurations that belong to the config type
      operationId: GetGlobalConfigs
      parameters:
      - in: path
        name: config-type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalConfigs'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get global configs for a config type
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: GlobalConfigs
    put:
      consumes:
      - application/json
      description: |
        Updates global configurations that belong to a config type. The request must
        include the updated values along with the unmodified values. The values that
        are updated(different) would trigger update to config-type specific state.
        However, the realization of the new configurations is config-type specific.
        Refer to config-type specific documentation for details about the config-
        uration push state.
        Policy api will overwrite the fipsGlobalConfig set using MP api. Always use
        https://<policyIp>/policy/api/v1/infra/global-config to update fips config-
        uration.
      operationId: UpdateGlobalConfigs
      parameters:
      - in: path
        name: config-type
        required: true
        type: string
      - in: body
        name: GlobalConfigs
        required: true
        schema:
          $ref: '#/definitions/GlobalConfigs'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalConfigs'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update global configurations of a config type
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: GlobalConfigs
  /global-configs/{config-type}?action=resync_config:
    put:
      consumes:
      - application/json
      description: |
        It is similar to update global configurations but this request would trigger
        update even if the configs are unmodified. However, the realization of the
        new configurations is config-type specific. Refer to config-type
        specific documentation for details about the configuration push state.
      operationId: ResyncGlobalConfigsResync_config
      parameters:
      - in: path
        name: config-type
        required: true
        type: string
      - in: body
        name: GlobalConfigs
        required: true
        schema:
          $ref: '#/definitions/GlobalConfigs'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalConfigs'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Resyncs global configurations of a config-type
      tags:
      - System Administration, Configuration, Global Configurations
      x-vmw-nsx-module: GlobalConfigs
  /host-switch-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the configured hostswitch profiles. Hostswitch
        profiles define networking policies for hostswitches (sometimes referred to
        as bridges in OVS). Currently, only uplink teaming is supported. Uplink
        teaming allows NSX to load balance traffic across different physical NICs
        (PNICs) on the hypervisor hosts. Multiple teaming policies are supported,
        including LACP active, LACP passive, load balancing based on source ID, and
        failover order.
      operationId: ListHostSwitchProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Supported edge deployment type.
        enum:
        - VIRTUAL_MACHINE
        - PHYSICAL_MACHINE
        - UNKNOWN
        in: query
        name: deployment_type
        required: false
        type: string
      - description: Supported HostSwitch profiles.
        enum:
        - UplinkHostSwitchProfile
        - LldpHostSwitchProfile
        - NiocProfile
        - ExtraConfigHostSwitchProfile
        in: query
        name: hostswitch_profile_type
        required: false
        type: string
      - default: false
        description: Whether the list result contains system resources
        in: query
        name: include_system_owned
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Fabric node type for which uplink profiles are to be listed
        enum:
        - EdgeNode
        - PublicCloudGatewayNode
        in: query
        name: node_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: The host switch profile's uplink teaming policy name
        in: query
        name: uplink_teaming_policy_name
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HostSwitchProfilesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Hostswitch Profiles
      tags:
      - System Administration, Configuration, Fabric, Profiles, Hostswitch Profiles
      x-vmw-nsx-module: BaseHostSwitchProfile
    post:
      consumes:
      - application/json
      description: |
        Creates a hostswitch profile. The resource_type is required. For uplink
        profiles, the teaming and policy parameters are required. By default, the
        mtu is 1600 and the transport_vlan is 0. The supported MTU range is 1280
        through (uplink_mtu_threshold). (uplink_mtu_threshold) is 9000 by default.
        Range can be extended by modifying (uplink_mtu_threshold) in
        SwitchingGlobalConfig to the required upper threshold.
      operationId: CreateHostSwitchProfile
      parameters:
      - in: body
        name: BaseHostSwitchProfile
        required: true
        schema:
          $ref: '#/definitions/BaseHostSwitchProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BaseHostSwitchProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Hostswitch Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Hostswitch Profiles
      x-vmw-nsx-module: BaseHostSwitchProfile
  /host-switch-profiles/{host-switch-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes a specified hostswitch profile.
      operationId: DeleteHostSwitchProfile
      parameters:
      - in: path
        name: host-switch-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Hostswitch Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Hostswitch Profiles
      x-vmw-nsx-module: BaseHostSwitchProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified hostswitch profile.
      operationId: GetHostSwitchProfile
      parameters:
      - in: path
        name: host-switch-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseHostSwitchProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Hostswitch Profile by ID
      tags:
      - System Administration, Configuration, Fabric, Profiles, Hostswitch Profiles
      x-vmw-nsx-module: BaseHostSwitchProfile
    put:
      consumes:
      - application/json
      description: |
        Modifies a specified hostswitch profile. The body of the PUT request must
        include the resource_type. For uplink profiles, the put request must also
        include teaming parameters. Modifiable attributes include display_name, mtu,
        and transport_vlan. For uplink teaming policies, uplink_name and policy are
        also modifiable.
      operationId: UpdateHostSwitchProfile
      parameters:
      - in: path
        name: host-switch-profile-id
        required: true
        type: string
      - in: body
        name: BaseHostSwitchProfile
        required: true
        schema:
          $ref: '#/definitions/BaseHostSwitchProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseHostSwitchProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Hostswitch Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Hostswitch Profiles
      x-vmw-nsx-module: BaseHostSwitchProfile
  /hpm/alarms:
    get:
      consumes:
      - application/json
      description: |
        This API is executed on a manager node to return current alarms from all NSX nodes.
        This API is deprecated as part of alarm framework enhancements.
        Please use below new APIs:
        GET /alarms
        GET /alarms/&lt;alarm-id&gt;
        POST /alarms/&lt;alarm-id&gt;?action=set_status
        POST /alarms?action=set_status
        GET /events
        GET /events/&lt;event-id&gt;
        PUT /events/&lt;event-id&gt;
        POST /events/&lt;event-id&gt;?action=set_default
      operationId: CollectAlarms
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        format: int64
        in: query
        name: cursor
        type: integer
      - description: Fields to include in query results
        in: query
        name: fields
        type: string
      - default: 100
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 100
        minimum: 0
        name: page_size
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AlarmListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Collect alarms from all NSX nodes
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: NodeAuditLog
  /hpm/features:
    get:
      consumes:
      - application/json
      description: |-
        List all health performance monitoring feature stacks
      operationId: ListFeatureStackConfigurations
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureStackCollectionConfigurationList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all health performance monitoring feature stacks
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
  /hpm/features/{feature-stack-name}:
    get:
      consumes:
      - application/json
      description: |
        Returns the complete set of client type data collection
        configuration records for the specified feature stack.
      operationId: GetFeatureStackConfiguration
      parameters:
      - in: path
        name: feature-stack-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureStackCollectionConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read health performance monitoring configuration for feature stack
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
    put:
      consumes:
      - application/json
      description: |
        Apply the data collection configuration for the specified
        feature stack.
      operationId: UpdateFeatureStackConfiguration
      parameters:
      - in: path
        name: feature-stack-name
        required: true
        type: string
      - in: body
        name: FeatureStackCollectionConfiguration
        required: true
        schema:
          $ref: '#/definitions/FeatureStackCollectionConfiguration'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureStackCollectionConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update health performance monitoring configuration for feature stack
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
  /hpm/features/{feature-stack-name}?action=reset_collection_frequency:
    post:
      consumes:
      - application/json
      description: |-
        Reset the data collection frequency configuration setting to the default values
      operationId: ResetAggregationServiceFeatureStackConfigurationReset_collection_frequency
      parameters:
      - in: path
        name: feature-stack-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureStackCollectionConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset the data collection frequency configuration setting to the default values
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
  /hpm/global-config:
    get:
      consumes:
      - application/json
      description: |-
        Read global health performance monitoring configuration
      operationId: GetAggregationServiceGlobalConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalCollectionConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read global health performance monitoring configuration
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
    put:
      consumes:
      - application/json
      description: |-
        Set the global configuration for aggregation service related data collection
      operationId: UpdateAggregationServiceGlobalConfig
      parameters:
      - in: body
        name: GlobalCollectionConfiguration
        required: true
        schema:
          $ref: '#/definitions/GlobalCollectionConfiguration'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GlobalCollectionConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set the global configuration for aggregation service related data collection
      tags:
      - System Administration, Monitoring, Health Performance Monitoring
      x-vmw-nsx-module: AggSvcDataCollectionConfig
  /idfw/compute-collections/status:
    get:
      consumes:
      - application/json
      description: |
        Retrieve all the Compute collection status.
      operationId: ListComputeCollectionStatuses
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwComputeCollectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all IDFW enabled ComputeCollection statuses.
      tags:
      - Management Plane API, Security, Identity Firewall, Monitoring
      x-vmw-nsx-module: IdentityFirewall
  /idfw/compute-collections/{cc-ext-id}/transport-nodes/status:
    get:
      consumes:
      - application/json
      description: |
        Retrieve all the transport node and status by idfw enabled
          ComputeCollection ID in the request.
      operationId: ListTransportNodeStatusesByComputeCollectionId
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwTransportNodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all transport node and statuses based on idfw enabled ComputeCollection ID.
      tags:
      - Management Plane API, Security, Identity Firewall, Monitoring
      x-vmw-nsx-module: IdentityFirewall
  /idfw/compute-collections/{compute-collection-ext-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Retrieve the compute collection status by ID.
      operationId: GetComputeCollectionStatusById
      parameters:
      - in: path
        name: compute-collection-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwComputeCollectionStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get list of compute collections and status.
      tags:
      - Management Plane API, Security, Identity Firewall, Monitoring
      x-vmw-nsx-module: IdentityFirewall
  /idfw/idfw-compute-collections:
    get:
      consumes:
      - application/json
      description: |
        List all Identity firewall compute collections.
      operationId: ListEnabledComputeCollections
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwEnabledComputeCollectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Identity firewall compute collections
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
  /idfw/idfw-compute-collections/{cc-ext-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete individual compute collections for IDFW.
      operationId: DeleteEnabledComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete IDFW compute collection.
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
    get:
      consumes:
      - application/json
      description: |
        Get enable/disable status of individual compute collections for IDFW.
      operationId: GetEnabledComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwEnabledComputeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IDFW compute collection.
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
    put:
      consumes:
      - application/json
      description: |
        Enable/disable individual compute collections for IDFW.
      operationId: UpdateEnabledComputeCollection
      parameters:
      - in: path
        name: cc-ext-id
        required: true
        type: string
      - in: body
        name: IdfwEnabledComputeCollection
        required: true
        schema:
          $ref: '#/definitions/IdfwEnabledComputeCollection'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwEnabledComputeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update IDFW compute collection
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
  /idfw/master-switch-setting:
    get:
      consumes:
      - application/json
      description: |
        Fetches IDFW master switch setting to check whether master switch is enabled
        or disabled
      operationId: GetMasterSwitchSetting
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwMasterSwitchSetting'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Identity Firewall master switch enabled/disabled
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
    put:
      consumes:
      - application/json
      description: |
        Update Identity Firewall master switch setting (true=enabled / false=disabled).
        Identity Firewall master switch setting enables or disables Identity Firewall
        feature across the system.  It affects compute collections, hypervisor and
        virtual machines.  This operation is expensive and also has big impact and
        implication on system perforamce.
      operationId: UpdateMasterSwitchSetting
      parameters:
      - in: body
        name: IdfwMasterSwitchSetting
        required: true
        schema:
          $ref: '#/definitions/IdfwMasterSwitchSetting'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwMasterSwitchSetting'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update IDFW master switch setting enabled/disabled
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
  /idfw/nsgroup-vm-details/{group-id}:
    get:
      consumes:
      - application/json
      description: |-
        Get all Identity Firewall NSGroup VM details for a given NSGroup.
      operationId: GetNsgroupVmDetails
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwNsgroupVmDetailListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all IDFW NSGroup VM details for a given NSGroup
      tags:
      - Management Plane API, Security, Identity Firewall, Realization Data
      x-vmw-nsx-module: IdentityFirewall
  /idfw/standalone-host-switch-setting:
    get:
      consumes:
      - application/json
      description: |
        Fetches IDFW standalone hosts switch setting to check whether standalone
        hosts is enabled or disabled
      operationId: GetStandaloneHostsSwitchSetting
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwStandaloneHostsSwitchSetting'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Standalone hosts switch enabled/disabled
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
    put:
      consumes:
      - application/json
      description: |
        Update Identity Firewall standalone hosts switch setting
        (true=enabled / false=disabled).
      operationId: UpdateStandaloneHostsSwitchSetting
      parameters:
      - in: body
        name: IdfwStandaloneHostsSwitchSetting
        required: true
        schema:
          $ref: '#/definitions/IdfwStandaloneHostsSwitchSetting'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwStandaloneHostsSwitchSetting'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update IDFW master switch setting enabled/disabled
      tags:
      - Management Plane API, Security, Identity Firewall, Configuration
      x-vmw-nsx-module: IdentityFirewall
  /idfw/system-stats:
    get:
      consumes:
      - application/json
      description: |-
        Get IDFW system statistics data.
      operationId: GetSystemStats
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwSystemStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IDFW system statistics data
      tags:
      - Management Plane API, Security, Identity Firewall, Realization Data
      x-vmw-nsx-module: IdentityFirewall
  /idfw/transport-nodes/{transport-node-id}/vms/status:
    get:
      consumes:
      - application/json
      description: |
        Retrieve all the VM and status by transport node ID of idfw enabled compute
        collection in the request.
      operationId: ListVirtualMachineStatusesByTransportNodeId
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwVirtualMachineStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all VM and statuses based on transport node ID of idfw enabled compute collection.
      tags:
      - Management Plane API, Security, Identity Firewall, Monitoring
      x-vmw-nsx-module: IdentityFirewall
  /idfw/user-session-data:
    get:
      consumes:
      - application/json
      description: |-
        Get user session data.
      operationId: ListUserSessions
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwUserSessionDataAndMappings'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get user session data
      tags:
      - Management Plane API, Security, Identity Firewall, Realization Data
      x-vmw-nsx-module: IdentityFirewall
  /idfw/user-stats/{user-id}:
    get:
      consumes:
      - application/json
      description: |
        Get IDFW user login events for a given user (all active plus up to 5 most
        recent archived entries).
      operationId: GetUserStats
      parameters:
      - in: path
        name: user-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwUserStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IDFW user login events for a given user
      tags:
      - Management Plane API, Security, Identity Firewall, Realization Data
      x-vmw-nsx-module: IdentityFirewall
  /idfw/vm-stats/{vm-ext-id}:
    get:
      consumes:
      - application/json
      description: |
        Get IDFW user login events for a given VM (all active plus up to 5 most
        recent archived entries).
      operationId: GetVmStats
      parameters:
      - in: path
        name: vm-ext-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdfwVmStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IDFW user login events for a given VM
      tags:
      - Management Plane API, Security, Identity Firewall, Realization Data
      x-vmw-nsx-module: IdentityFirewall
  /intelligence/host-config:
    get:
      consumes:
      - application/json
      description: |
        Get the current NSX-Intelligence host configuration.
        Recommend to keep the value same for flow_data_collection_interval
        and context_data_collection_interval.
      operationId: GetPaceHostConfiguration
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceHostConfigurationInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get NSX-Intelligence host configuration
      tags:
      - System Administration, Configuration, NSX Intelligence, Host
      x-vmw-nsx-module: NsxIntelligenceHostConfiguration
    patch:
      consumes:
      - application/json
      description: |
        Patch the current NSX-Intelligence host configuration.
        Return error if NSX-Intelligence is not registered with NSX.
      operationId: PatchPaceHostConfiguration
      parameters:
      - in: body
        name: IntelligenceHostConfigurationInfo
        required: true
        schema:
          $ref: '#/definitions/IntelligenceHostConfigurationInfo'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceHostConfigurationInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Patch NSX-Intelligence host configuration
      tags:
      - System Administration, Configuration, NSX Intelligence, Host
      x-vmw-nsx-module: NsxIntelligenceHostConfiguration
  /intelligence/host-config?action=reset:
    post:
      consumes:
      - application/json
      description: |
        Reset NSX-Intelligence host configuration to the default setting.
        Clear NSX-Intelligence host configuration if NSX-Intelligence is not registered with NSX.
        Return the NSX-Intelligence host configuration after reset operation.
      operationId: ResetPaceHostConfigurationReset
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceHostConfigurationInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset NSX-Intelligence host configuration
      tags:
      - System Administration, Configuration, NSX Intelligence, Host
      x-vmw-nsx-module: NsxIntelligenceHostConfiguration
  /intelligence/nodes/deployments:
    get:
      consumes:
      - application/json
      description: |
        Returns request information for every attempted deployment of a cluster
        node VM.
      operationId: ListPaceClusterNodeVMDeploymentRequests
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentRequestList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns info for all cluster node VM auto-deployment attempts
      tags:
      - System Administration, Configuration, NSX Intelligence, Deployments
      x-vmw-nsx-module: NsxIntelligenceDeployment
    post:
      consumes:
      - application/json
      description: |
        Deploys a Intelligence cluster node VM as specified by the deployment config.
      operationId: AddPaceClusterNodeVM
      parameters:
      - in: body
        name: AddIntelligenceClusterNodeVMInfo
        required: true
        schema:
          $ref: '#/definitions/AddIntelligenceClusterNodeVMInfo'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentRequestList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deploy and register a Intelligence cluster node VM
      tags:
      - System Administration, Configuration, NSX Intelligence, Deployments
      x-vmw-nsx-module: NsxIntelligenceDeployment
  /intelligence/nodes/deployments/{node-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns deployment request information for a specific attempted
        deployment of a cluster node VM.
      operationId: ReadPaceClusterNodeVMDeploymentRequest
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentRequest'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns info for a Intelligence cluster node VM auto-deployment attempt
      tags:
      - System Administration, Configuration, NSX Intelligence, Deployments
      x-vmw-nsx-module: NsxIntelligenceDeployment
  /intelligence/nodes/deployments/{node-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the current deployment or undeployment status for a VM along with
        any other relevant current information, such as error messages.
      operationId: ReadPaceClusterNodeVMDeploymentStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentStatusReport'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the status of the VM creation/deletion
      tags:
      - System Administration, Configuration, NSX Intelligence, Deployments
      x-vmw-nsx-module: NsxIntelligenceDeployment
  /intelligence/nodes/deployments/{node-id}?action=delete:
    post:
      consumes:
      - application/json
      description: |
        Attempts to unregister and undeploy a specified auto-deployed cluster
        node VM. If it is a member of a cluster, then the VM will be automatically
        detached from the cluster before being unregistered and undeployed.
        Alternatively, if the original deployment attempt failed or the VM is
        not found, cleans up the deployment information associated with the
        deployment attempt.
        Note: If a VM has been successfully auto-deployed, then the associated
        deployment information will not be deleted unless and until the VM is
        successfully deleted.
      operationId: DeleteAutoDeployedPaceClusterNodeVMDelete
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Delete by force
        in: query
        name: force_delete
        type: boolean
      responses:
        '202':
          description: Accepted
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Attempt to delete an auto-deployed cluster node VM
      tags:
      - System Administration, Configuration, NSX Intelligence, Deployments
      x-vmw-nsx-module: NsxIntelligenceDeployment
  /intrusion-services/affected-users:
    post:
      consumes:
      - application/json
      description: |
        Get the list of the users affected pertaining to a specific
        signature.
      operationId: GetAffectedUsers
      parameters:
      - in: body
        name: IDSEventDataRequest
        required: true
        schema:
          $ref: '#/definitions/IDSEventDataRequest'
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdsUserList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of the users affected for that signature
      tags:
      - Management Plane API, Security, Intrusion Services, Dashboard
      x-vmw-nsx-module: IDSMetrics
  /intrusion-services/affected-vms:
    post:
      consumes:
      - application/json
      description: |
        Get the list of the VMs affected pertaining to a specific
        signature.
      operationId: GetAffectedVms
      parameters:
      - in: body
        name: IDSEventDataRequest
        required: true
        schema:
          $ref: '#/definitions/IDSEventDataRequest'
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IdsVmList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of the VMs affected for that signature
      tags:
      - Management Plane API, Security, Intrusion Services, Dashboard
      x-vmw-nsx-module: IDSMetrics
  /intrusion-services/ids-events:
    post:
      consumes:
      - application/json
      description: |
        Get the list of the IDS events that are detected with the total number of
        intrusions detected, their severity and the time they occurred,
        grouped by signature id.
      operationId: GetAllIdsEvents
      parameters:
      - in: body
        name: IDSEventDataRequest
        required: true
        schema:
          $ref: '#/definitions/IDSEventDataRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IDSEventsBySignatureResult'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of the IDS events that are detected, grouped by signature id.
      tags:
      - Management Plane API, Security, Intrusion Services, Dashboard
      x-vmw-nsx-module: IDSMetrics
  /intrusion-services/ids-summary:
    post:
      consumes:
      - application/json
      description: |
        Get the summary of all the intrusions that are detected grouped by signature
        with details including signature name, id, severity, attack type, protocol,
        first and recent occurence, and affected users and VMs.
      operationId: GetIdsDashboardSummary
      parameters:
      - in: body
        name: IDSEventDataRequest
        required: true
        schema:
          $ref: '#/definitions/IDSEventDataRequest'
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IDSSummaryListResult'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the summary of the intrusions that were detected.
      tags:
      - Management Plane API, Security, Intrusion Services, Dashboard
      x-vmw-nsx-module: IDSMetrics
  /intrusion-services/profiles/{ids-profile-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified IDSProfile.
      operationId: GetIDSProfile
      parameters:
      - description: |-
          IDSProfile Id
        in: path
        name: ids-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IDSProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IDSProfile
      tags:
      - Management Plane API, Security, Intrusion Services, Ids Profiles
      x-vmw-nsx-module: IDSProfile
  /ip-sets:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of IPSets
      operationId: ListIPSets
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSetListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IPSets
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
    post:
      consumes:
      - application/json
      description: |
        Creates a new IPSet that can group either IPv4 or IPv6 individual ip addresses,
        ranges or subnets.
      operationId: CreateIPSet
      parameters:
      - in: body
        name: IPSet
        required: true
        schema:
          $ref: '#/definitions/IPSet'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create IPSet
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: IPSet
  /ip-sets/{ip-set-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified IPSet.  By default, if the IPSet is added to an
        NSGroup, it won't be deleted. In such situations, pass "force=true" as
        query param to force delete the IPSet.
      operationId: DeleteIPSet
      parameters:
      - description: |-
          IPSet Id
        in: path
        name: ip-set-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete IPSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified IPSet
      operationId: ReadIPSet
      parameters:
      - description: |-
          IPSet Id
        in: path
        name: ip-set-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read IPSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
    post:
      consumes:
      - application/json
      description: |
        Add/Remove an individual IP address to an IPSet
      operationId: AddRemoveIPAddress
      parameters:
      - description: |-
          IP Set Id
        in: path
        name: ip-set-id
        required: true
        type: string
      - in: body
        name: IPAddressElement
        required: true
        schema:
          $ref: '#/definitions/IPAddressElement'
      - description: Specifies addition or removal action
        enum:
        - add_ip
        - remove_ip
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPAddressElement'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a IP address to a IPSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
    put:
      consumes:
      - application/json
      description: |
        Updates the specified IPSet. Modifiable parameters include description,
        display_name and ip_addresses.
      operationId: UpdateIPSet
      parameters:
      - description: |-
          IPSet Id
        in: path
        name: ip-set-id
        required: true
        type: string
      - in: body
        name: IPSet
        required: true
        schema:
          $ref: '#/definitions/IPSet'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update IPSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
  /ip-sets/{ip-set-id}/members:
    get:
      consumes:
      - application/json
      description: |
        List all IP addresses in a IPSet
      operationId: GetIPAddresses
      parameters:
      - description: |-
          IP Set Id
        in: path
        name: ip-set-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPAddressElementListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all IPAddresses in a IPSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: IPSet
  /ipfix-collector-profiles:
    get:
      consumes:
      - application/json
      description: |
        Query IPFIX collector profiles with list parameters. List result can be
        filtered by profile type defined by IpfixCollectorUpmProfileType.
      operationId: ListIpfixCollectorUpmProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: IPFIX Collector Profile Type List
        in: query
        name: profile_types
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorUpmProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IPFIX Collector Profies
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfixCollector
    post:
      consumes:
      - application/json
      description: |-
        Create a new IPFIX collector profile with essential properties.
      operationId: CreateIpfixCollectorUpmProfile
      parameters:
      - in: body
        name: IpfixCollectorUpmProfile
        required: true
        schema:
          $ref: '#/definitions/IpfixCollectorUpmProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpfixCollectorUpmProfile'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new IPFIX collector profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfixCollector
  /ipfix-collector-profiles/{ipfix-collector-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing IPFIX collector profile by ID.
      operationId: DeleteIpfixCollectorUpmProfile
      parameters:
      - in: path
        name: ipfix-collector-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing IPFIX collector profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfixCollector
    get:
      consumes:
      - application/json
      description: |-
        Get an existing IPFIX collector profile by profile ID.
      operationId: GetIpfixCollectorUpmProfile
      parameters:
      - in: path
        name: ipfix-collector-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorUpmProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing IPFIX collector profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfixCollector
    put:
      consumes:
      - application/json
      description: |
        Update an existing IPFIX collector profile with profile ID and modified
        properties.
      operationId: UpdateIpfixCollectorUpmProfile
      parameters:
      - in: path
        name: ipfix-collector-profile-id
        required: true
        type: string
      - in: body
        name: IpfixCollectorUpmProfile
        required: true
        schema:
          $ref: '#/definitions/IpfixCollectorUpmProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorUpmProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing IPFIX collector profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfixCollector
  /ipfix-obs-points:
    get:
      consumes:
      - application/json
      description: |
        Deprecated - Please use /ipfix-profiles for switch IPFIX profile and
        /ipfix-collector-profiles for IPFIX collector profile.
      operationId: GetIpfixObsPoints
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixObsPointsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of IPFIX observation points
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipfix-obs-points/switch-global:
    get:
      consumes:
      - application/json
      description: |
        Deprecated - Please use /ipfix-profiles/<ipfix-profile-id> for switch IPFIX
        profile and /ipfix-collector-profiles/<ipfix-collector-profile-id> for IPFIX
        collector profile.
      operationId: GetSwitchIpfixConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixObsPointConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read global switch IPFIX export configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    put:
      consumes:
      - application/json
      description: |
        Deprecated - Please use /ipfix-profiles/<ipfix-profile-id> for switch IPFIX
        profile and /ipfix-collector-profiles/<ipfix-collector-profile-id> for IPFIX
        collector profile.
      operationId: UpdateSwitchIpfixConfig
      parameters:
      - in: body
        name: IpfixObsPointConfig
        required: true
        schema:
          $ref: '#/definitions/IpfixObsPointConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixObsPointConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update global switch IPFIX export configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipfix-profiles:
    get:
      consumes:
      - application/json
      description: |
        Query IPFIX profiles with list parameters. List result can be filtered by
        profile type defined by IpfixUpmProfileType.
      operationId: ListIpfixUpmProfiles
      parameters:
      - description: ID of Entity Applied with Profile
        in: query
        name: applied_to_entity_id
        required: false
        type: string
      - description: Supported Entity Types
        enum:
        - LogicalPort
        - LogicalSwitch
        - NSGroup
        in: query
        name: applied_to_entity_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: IPFIX Profile Type List
        in: query
        name: profile_types
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixUpmProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IPFIX Profies
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfix
    post:
      consumes:
      - application/json
      description: |-
        Create a new IPFIX profile with essential properties.
      operationId: CreateIpfixUpmProfile
      parameters:
      - in: body
        name: IpfixUpmProfile
        required: true
        schema:
          $ref: '#/definitions/IpfixUpmProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpfixUpmProfile'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new IPFIX profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfix
  /ipfix-profiles/{ipfix-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing IPFIX profile by ID.
      operationId: DeleteIpfixUpmProfile
      parameters:
      - in: path
        name: ipfix-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing IPFIX profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfix
    get:
      consumes:
      - application/json
      description: |-
        Get an existing IPFIX profile by profile ID.
      operationId: GetIpfixUpmProfile
      parameters:
      - in: path
        name: ipfix-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixUpmProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing IPFIX profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfix
    put:
      consumes:
      - application/json
      description: |
        Update an existing IPFIX profile with profile ID and modified properties.
      operationId: UpdateIpfixUpmProfile
      parameters:
      - in: path
        name: ipfix-profile-id
        required: true
        type: string
      - in: body
        name: IpfixUpmProfile
        required: true
        schema:
          $ref: '#/definitions/IpfixUpmProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixUpmProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing IPFIX profile
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: UpmIpfix
  /ipfix/collectorconfigs:
    get:
      consumes:
      - application/json
      description: |-
        List IPFIX collector configurations
      operationId: ListIpfixCollectorConfig
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IPFIX collector configurations
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    post:
      consumes:
      - application/json
      description: |-
        Create a new IPFIX collector configuration
      operationId: CreateIpfixCollectorConfig
      parameters:
      - in: body
        name: IpfixCollectorConfig
        required: true
        schema:
          $ref: '#/definitions/IpfixCollectorConfig'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpfixCollectorConfig'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new IPFIX collector configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipfix/collectorconfigs/{collector-config-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing IPFIX collector configuration
      operationId: DeleteIpfixCollectorConfig
      parameters:
      - in: path
        name: collector-config-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing IPFIX collector configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    get:
      consumes:
      - application/json
      description: |-
        Get an existing IPFIX collector configuration
      operationId: GetIpfixCollectorConfig
      parameters:
      - in: path
        name: collector-config-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing IPFIX collector configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    put:
      consumes:
      - application/json
      description: |-
        Update an existing IPFIX collector configuration
      operationId: UpdateIpfixCollectorConfig
      parameters:
      - in: path
        name: collector-config-id
        required: true
        type: string
      - in: body
        name: IpfixCollectorConfig
        required: true
        schema:
          $ref: '#/definitions/IpfixCollectorConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixCollectorConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing IPFIX collector configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipfix/configs:
    get:
      consumes:
      - application/json
      description: |-
        List IPFIX configuration
      operationId: ListIpfixConfig
      parameters:
      - description: Applied To
        in: query
        name: applied_to
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Supported IPFIX Config Types.
        enum:
        - IpfixSwitchConfig
        - IpfixDfwConfig
        in: query
        name: ipfix_config_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IPFIX configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    post:
      consumes:
      - application/json
      description: |-
        Create a new IPFIX configuration
      operationId: CreateIpfixConfig
      parameters:
      - in: body
        name: IpfixConfig
        required: true
        schema:
          $ref: '#/definitions/IpfixConfig'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpfixConfig'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new IPFIX configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipfix/configs/{config-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing IPFIX configuration
      operationId: DeleteIpfixConfig
      parameters:
      - in: path
        name: config-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing IPFIX configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    get:
      consumes:
      - application/json
      description: |-
        Get an existing IPFIX configuration
      operationId: GetIpfixConfig
      parameters:
      - in: path
        name: config-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing IPFIX configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
    put:
      consumes:
      - application/json
      description: |-
        Update an existing IPFIX configuration
      operationId: UpdateIpfixConfig
      parameters:
      - in: path
        name: config-id
        required: true
        type: string
      - in: body
        name: IpfixConfig
        required: true
        schema:
          $ref: '#/definitions/IpfixConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpfixConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing IPFIX configuration
      tags:
      - Management Plane API, Troubleshooting And Monitoring, IPFIX
      x-vmw-nsx-module: Ipfix
  /ipv6/dad-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns all IPv6 DADProfiles.
      operationId: ListDADProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DADProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read All IPV6 DADProfiles
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Adds a new DADProfile
      operationId: CreateDADProfile
      parameters:
      - in: body
        name: DADProfile
        required: true
        schema:
          $ref: '#/definitions/DADProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DADProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new DADProfile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /ipv6/dad-profiles/{dad-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete DADProfile
      operationId: DeleteDADProfile
      parameters:
      - in: path
        name: dad-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete DAD Profile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Returns information about specified IPv6 DADProfile.
      operationId: ReadDADProfile
      parameters:
      - in: path
        name: dad-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DADProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read specified IPV6 DADProfile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update DADProfile.
      operationId: UpdateDADProfile
      parameters:
      - in: path
        name: dad-profile-id
        required: true
        type: string
      - in: body
        name: DADProfile
        required: true
        schema:
          $ref: '#/definitions/DADProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DADProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update DADProfile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /ipv6/nd-ra-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns all IPv6 NDRA Profiles.
      operationId: ListNDRAProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NDRAProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read All IPV6 NDRA Profiles
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Adds a new NDRAProfile
      operationId: CreateNDRAProfile
      parameters:
      - in: body
        name: NDRAProfile
        required: true
        schema:
          $ref: '#/definitions/NDRAProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NDRAProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new NDRA Profile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /ipv6/nd-ra-profiles/{nd-ra-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete NDRAProfile
      operationId: DeleteNDRAProfile
      parameters:
      - in: path
        name: nd-ra-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete NDRA Profile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Returns information about specified IPv6 NDRA Profile.
      operationId: ReadNDRAProfile
      parameters:
      - in: path
        name: nd-ra-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NDRAProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read specified IPV6 NDRA Profile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update NDRAProfile
      operationId: UpdateNDRAProfile
      parameters:
      - in: path
        name: nd-ra-profile-id
        required: true
        type: string
      - in: body
        name: NDRAProfile
        required: true
        schema:
          $ref: '#/definitions/NDRAProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NDRAProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NDRA Profile
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /latency-profiles:
    get:
      consumes:
      - application/json
      description: |-
        List latency profiles
      operationId: ListLatencyProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LatencyStatProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List latency profiles
      tags:
      - System Administration, Monitoring, Latency Profiles
      x-vmw-nsx-module: Latency
    post:
      consumes:
      - application/json
      description: |-
        Create a new latency profile
      operationId: CreateLatencyStatProfile
      parameters:
      - in: body
        name: LatencyStatProfile
        required: true
        schema:
          $ref: '#/definitions/LatencyStatProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LatencyStatProfile'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new latency profile
      tags:
      - System Administration, Monitoring, Latency Profiles
      x-vmw-nsx-module: Latency
  /latency-profiles/{latency-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing latency profile
      operationId: DeleteLatencyStatProfile
      parameters:
      - in: path
        name: latency-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing latency profile
      tags:
      - System Administration, Monitoring, Latency Profiles
      x-vmw-nsx-module: Latency
    get:
      consumes:
      - application/json
      description: |-
        Get an existing latency profile configuration
      operationId: ReadLatencyStatProfile
      parameters:
      - in: path
        name: latency-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LatencyStatProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing latency profile configuration
      tags:
      - System Administration, Monitoring, Latency Profiles
      x-vmw-nsx-module: Latency
    put:
      consumes:
      - application/json
      description: |-
        Update an existing latency profile
      operationId: UpdateLatencyProfile
      parameters:
      - in: path
        name: latency-profile-id
        required: true
        type: string
      - in: body
        name: LatencyStatProfile
        required: true
        schema:
          $ref: '#/definitions/LatencyStatProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LatencyStatProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing latency profile
      tags:
      - System Administration, Monitoring, Latency Profiles
      x-vmw-nsx-module: Latency
  /license:
    get:
      consumes:
      - application/json
      description: |
        Deprecated. Use the GET /licenses API instead.
      operationId: GetLicense
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/License'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Deprecated. Return the Enterprise License
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
    put:
      consumes:
      - application/json
      description: |
        Deprecated. Use the POST /licenses API instead
      operationId: UpdateLicense
      parameters:
      - in: body
        name: License
        required: true
        schema:
          $ref: '#/definitions/License'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/License'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Deprecated. Assign an Updated Enterprise License Key
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /licenses:
    get:
      consumes:
      - application/json
      description: |
        Returns all licenses.
      operationId: GetLicenses
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LicensesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all licenses
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
    post:
      consumes:
      - application/json
      description: |
        This will add a license key to the system.
        The API supports adding only one license key for each license edition
        type - Standard, Advanced or Enterprise. If a new license key is tried
        to add for an edition for which the license key already exists,
        then this API will return an error.
      operationId: CreateLicense
      parameters:
      - in: body
        name: License
        required: true
        schema:
          $ref: '#/definitions/License'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/License'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a new license key
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /licenses/licenses-usage:
    get:
      consumes:
      - application/json
      description: |
        Returns usage report of all registered modules
      operationId: GetLicenseUsageReport
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureUsageList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get usage report of all registered modules
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /licenses/licenses-usage?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns usage report of all registered modules in CSV format
      operationId: GetLicenseUsageReportInCsvFormatCsv
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FeatureUsageListInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get usage report of all registred modules in CSV format
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /licenses/{license-key}:
    delete:
      consumes:
      - application/json
      description: |
        Deprecated. Use POST /licenses?action=delete API instead.
      operationId: DeleteLicense
      parameters:
      - in: path
        name: license-key
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deprecated. Remove a license identified by the license-key
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
    get:
      consumes:
      - application/json
      description: |-
        Deprecated. Use GET /licenses API instead.
      operationId: GetLicenseByKey
      parameters:
      - in: path
        name: license-key
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/License'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deprecated. Get license properties for license identified by the license-key
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /licenses?action=delete:
    post:
      consumes:
      - application/json
      description: |
        This will delete the license key identified in the request body
        by "license_key" and its properties from the system.
        Attempting to delete the last license key will result in an error.
      operationId: DeleteLicenseKeyDelete
      parameters:
      - in: body
        name: License
        required: true
        schema:
          $ref: '#/definitions/License'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove a license
      tags:
      - System Administration, Settings, Licenses
      x-vmw-nsx-module: License
  /livetraces:
    get:
      consumes:
      - application/json
      description: |-
        List all livetrace sessions
      operationId: ListLiveTrace
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LiveTraceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all livetrace sessions
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
    post:
      consumes:
      - application/json
      description: |-
        Create a livetrace session
      operationId: CreateLiveTrace
      parameters:
      - in: body
        name: LiveTraceRequest
        required: true
        schema:
          $ref: '#/definitions/LiveTraceRequest'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LiveTraceStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a livetrace session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
  /livetraces/{livetrace-session-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a livetrace session
      operationId: DeleteLiveTrace
      parameters:
      - in: path
        name: livetrace-session-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a livetrace session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
    get:
      consumes:
      - application/json
      description: |-
        Get the status of a livetrace session
      operationId: GetLiveTraceStatus
      parameters:
      - in: path
        name: livetrace-session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LiveTraceStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of a livetrace session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
  /livetraces/{livetrace-session-id}/proxy/forward/capturefile:
    get:
      consumes:
      - application/json
      description: |
        You must provide the request header
        "Accept:application/octet-stream" when calling this API.
        The capture file can only be found in MP which receives the capture request.
      operationId: GetForwardPktCapFileProxy
      parameters:
      - description: |-
          Livetrace session ID
        in: path
        name: livetrace-session-id
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get forward packet capture file proxy
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
  /livetraces/{livetrace-session-id}/proxy/reverse/capturefile:
    get:
      consumes:
      - application/json
      description: |
        You must provide the request header
        "Accept:application/octet-stream" when calling this API.
        The capture file can only be found in MP which receives the capture request.
      operationId: GetReversePktCapFileProxy
      parameters:
      - description: |-
          Livetrace session ID
        in: path
        name: livetrace-session-id
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get reverse packet capture file proxy
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
  /livetraces/{livetrace-session-id}/results:
    get:
      consumes:
      - application/json
      description: |-
        Get the result of a livetrace session
      operationId: GetLiveTraceResult
      parameters:
      - in: path
        name: livetrace-session-id
        required: true
        type: string
      - description: The type of observations that will be listed.
        enum:
        - TRACE
        - COUNT
        - PKTCAP
        in: query
        name: action_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LiveTraceResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the result of a livetrace session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Livetrace
      x-vmw-nsx-module: LiveTrace
  /lldp/fabric-nodes/{fabric-node-id}/interfaces:
    get:
      consumes:
      - application/json
      description: |
        List LLDP Neighbor Properties for all interfaces of Fabric Node
      operationId: ListFabricNodeNeighborProperties
      parameters:
      - description: |-
          ID of fabric node
        in: path
        name: fabric-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InterfaceNeighborPropertyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List LLDP Neighbor Properties of Fabric Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, LLDP
      x-vmw-nsx-module: Lldp
  /lldp/fabric-nodes/{fabric-node-id}/interfaces/{interface-name}:
    get:
      consumes:
      - application/json
      description: |
        Read LLDP Neighbor Properties for a specific interface of Fabric Node
      operationId: ReadFabricNodeNeighborProperties
      parameters:
      - description: |-
          ID of fabric node
        in: path
        name: fabric-node-id
        required: true
        type: string
      - description: |-
          Interface name to read
        in: path
        name: interface-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InterfaceNeighborProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read LLDP Neighbor Properties of Fabric Node by Interface Name
      tags:
      - System Administration, Configuration, Fabric, Nodes, LLDP
      x-vmw-nsx-module: Lldp
  /lldp/transport-nodes/{node-id}/interfaces:
    get:
      consumes:
      - application/json
      description: |
        List LLDP Neighbor Properties for all interfaces of Transport Node
      operationId: ListNeighborProperties
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InterfaceNeighborPropertyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List LLDP Neighbor Properties of Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, LLDP
      x-vmw-nsx-module: Lldp
  /lldp/transport-nodes/{node-id}/interfaces/{interface-name}:
    get:
      consumes:
      - application/json
      description: |
        Read LLDP Neighbor Properties for a specific interface of Transport Node
      operationId: ReadNeighborProperties
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: |-
          Interface name to read
        in: path
        name: interface-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InterfaceNeighborProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Read LLDP Neighbor Properties of Transport Node by Interface Name
      tags:
      - System Administration, Configuration, Fabric, Nodes, LLDP
      x-vmw-nsx-module: Lldp
  /loadbalancer/application-profiles:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer application profiles.
      operationId: ListLoadBalancerApplicationProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: application profile type
        enum:
        - LbHttpProfile
        - LbFastTcpProfile
        - LbFastUdpProfile
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbAppProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer application profiles
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer application profile.
      operationId: CreateLoadBalancerApplicationProfile
      parameters:
      - in: body
        name: LbAppProfile
        required: true
        schema:
          $ref: '#/definitions/LbAppProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbAppProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer application profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/application-profiles/{application-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer application profile.
      operationId: DeleteLoadBalancerApplicationProfile
      parameters:
      - in: path
        name: application-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer application profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer application profile.
      operationId: ReadLoadBalancerApplicationProfile
      parameters:
      - in: path
        name: application-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbAppProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer application profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer application profile.
      operationId: UpdateLoadBalancerApplicationProfile
      parameters:
      - in: path
        name: application-profile-id
        required: true
        type: string
      - in: body
        name: LbAppProfile
        required: true
        schema:
          $ref: '#/definitions/LbAppProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbAppProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer application profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/client-ssl-profiles:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer client-ssl profiles.
      operationId: ListLoadBalancerClientSslProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbClientSslProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer client-ssl profiles
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer client-ssl profile.
      operationId: CreateLoadBalancerClientSslProfile
      parameters:
      - in: body
        name: LbClientSslProfile
        required: true
        schema:
          $ref: '#/definitions/LbClientSslProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbClientSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer client-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/client-ssl-profiles/{client-ssl-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer client-ssl profile.
      operationId: DeleteLoadBalancerClientSslProfile
      parameters:
      - in: path
        name: client-ssl-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer client-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer client-ssl profile.
      operationId: ReadLoadBalancerClientSslProfile
      parameters:
      - in: path
        name: client-ssl-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbClientSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer client-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer client-ssl profile.
      operationId: UpdateLoadBalancerClientSslProfile
      parameters:
      - in: path
        name: client-ssl-profile-id
        required: true
        type: string
      - in: body
        name: LbClientSslProfile
        required: true
        schema:
          $ref: '#/definitions/LbClientSslProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbClientSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer client-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/monitors:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer monitors.
      operationId: ListLoadBalancerMonitors
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: monitor query type
        enum:
        - LbHttpMonitor
        - LbHttpsMonitor
        - LbIcmpMonitor
        - LbTcpMonitor
        - LbUdpMonitor
        - LbPassiveMonitor
        - LbActiveMonitor
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbMonitorListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer monitors
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer monitor.
      operationId: CreateLoadBalancerMonitor
      parameters:
      - in: body
        name: LbMonitor
        required: true
        schema:
          $ref: '#/definitions/LbMonitor'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbMonitor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer monitor
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/monitors/{monitor-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer monitor.
      operationId: DeleteLoadBalancerMonitor
      parameters:
      - in: path
        name: monitor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer monitor
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer monitor.
      operationId: ReadLoadBalancerMonitor
      parameters:
      - in: path
        name: monitor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbMonitor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer monitor
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer monitor.
      operationId: UpdateLoadBalancerMonitor
      parameters:
      - in: path
        name: monitor-id
        required: true
        type: string
      - in: body
        name: LbMonitor
        required: true
        schema:
          $ref: '#/definitions/LbMonitor'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbMonitor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer monitor
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/node-usage-summary:
    get:
      consumes:
      - application/json
      description: |
        API is used to retrieve the load balancer node usage summary for all nodes.
      operationId: ReadLoadBalancerNodeUsageSummary
      parameters:
      - description: Whether to include node usages
        in: query
        name: include_usages
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbNodeUsageSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read load balancer node usage summary
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/persistence-profiles:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer persistence profiles.
      operationId: ListLoadBalancerPersistenceProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: persistence profile type
        enum:
        - LbCookiePersistenceProfile
        - LbSourceIpPersistenceProfile
        - LbGenericPersistenceProfile
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPersistenceProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer persistence profiles
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer persistence profile.
      operationId: CreateLoadBalancerPersistenceProfile
      parameters:
      - in: body
        name: LbPersistenceProfile
        required: true
        schema:
          $ref: '#/definitions/LbPersistenceProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbPersistenceProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer persistence profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/persistence-profiles/{persistence-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer persistence profile.
      operationId: DeleteLoadBalancerPersistenceProfile
      parameters:
      - in: path
        name: persistence-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer persistence profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer persistence profile.
      operationId: ReadLoadBalancerPersistenceProfile
      parameters:
      - in: path
        name: persistence-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPersistenceProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer persistence profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer persistence profile.
      operationId: UpdateLoadBalancerPersistenceProfile
      parameters:
      - in: path
        name: persistence-profile-id
        required: true
        type: string
      - in: body
        name: LbPersistenceProfile
        required: true
        schema:
          $ref: '#/definitions/LbPersistenceProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPersistenceProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer persistence profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/pools:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer pools.
      operationId: ListLoadBalancerPools
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer pools
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer pool.
      operationId: CreateLoadBalancerPool
      parameters:
      - in: body
        name: LbPool
        required: true
        schema:
          $ref: '#/definitions/LbPool'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/pools/{pool-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer pool.
      operationId: DeleteLoadBalancerPool
      parameters:
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer pool.
      operationId: ReadLoadBalancerPool
      parameters:
      - in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        For ADD_MEMBERS, pool members will be created and added to load balancer
        pool. This action is only valid for static pool members.
        For REMOVE_MEMBERS, pool members will be removed from load balancer pool
        via IP and port in pool member settings. This action is only valid for
        static pool members.
        For UPDATE_MEMBERS, pool members admin state will be updated. This action
        is valid for both static pool members and dynamic pool members. For dynamic
        pool members, this update will be stored in customized_members field in load
        balancer pool member group.
      operationId: PerformPoolMemberAction
      parameters:
      - in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: PoolMemberSettingList
        required: true
        schema:
          $ref: '#/definitions/PoolMemberSettingList'
      - description: Specifies addition, removal and modification action
        enum:
        - ADD_MEMBERS
        - REMOVE_MEMBERS
        - UPDATE_MEMBERS
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add, remove, or modify load balancer pool members
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer pool.
      operationId: UpdateLoadBalancerPool
      parameters:
      - in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: LbPool
        required: true
        schema:
          $ref: '#/definitions/LbPool'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/rules:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer rules.
      operationId: ListLoadBalancerRules
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbRuleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer rules
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer rule.
      operationId: CreateLoadBalancerRule
      parameters:
      - in: body
        name: LbRule
        required: true
        schema:
          $ref: '#/definitions/LbRule'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer rule
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/rules/{rule-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer rule.
      operationId: DeleteLoadBalancerRule
      parameters:
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer rule
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer rule.
      operationId: ReadLoadBalancerRule
      parameters:
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer rule
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer rule.
      operationId: UpdateLoadBalancerRule
      parameters:
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: LbRule
        required: true
        schema:
          $ref: '#/definitions/LbRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer rule
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/server-ssl-profiles:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer server-ssl profiles.
      operationId: ListLoadBalancerServerSslProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServerSslProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer server-ssl profiles
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer server-ssl profile.
      operationId: CreateLoadBalancerServerSslProfile
      parameters:
      - in: body
        name: LbServerSslProfile
        required: true
        schema:
          $ref: '#/definitions/LbServerSslProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbServerSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer server-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/server-ssl-profiles/{server-ssl-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer server-ssl profile.
      operationId: DeleteLoadBalancerServerSslProfile
      parameters:
      - in: path
        name: server-ssl-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer server-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer server-ssl profile.
      operationId: ReadLoadBalancerServerSslProfile
      parameters:
      - in: path
        name: server-ssl-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServerSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer server-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer server-ssl profile.
      operationId: UpdateLoadBalancerServerSslProfile
      parameters:
      - in: path
        name: server-ssl-profile-id
        required: true
        type: string
      - in: body
        name: LbServerSslProfile
        required: true
        schema:
          $ref: '#/definitions/LbServerSslProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServerSslProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer server-ssl profile
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/services:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer services.
        When logical_router_id is specified in request parameters, the
        associated load balancer services which are related to the given
        logical router returned.
      operationId: ListLoadBalancerServices
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Logical router identifier
        in: query
        name: logical_router_id
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer services
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer service.
      operationId: CreateLoadBalancerService
      parameters:
      - in: body
        name: LbService
        required: true
        schema:
          $ref: '#/definitions/LbService'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/services/{service-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer service.
      operationId: DeleteLoadBalancerService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer service.
      operationId: ReadLoadBalancerService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer service.
      operationId: UpdateLoadBalancerService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: LbService
        required: true
        schema:
          $ref: '#/definitions/LbService'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/services/{service-id}/debug-info:
    get:
      consumes:
      - application/json
      description: |
        API to download below information which will be used for debugging and
        troubleshooting.
        1) Load balancer service
        2) Load balancer associated virtual servers
        3) Load balancer associated pools
        4) Load balancer associated profiles such as persistence, SSL, application.
        5) Load balancer associated monitors
        6) Load balancer associated rules
      operationId: ReadLoadBalancerServiceDebugInfo
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServiceDebugInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the debug information of the load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/services/{service-id}/pools/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics list of load balancer pools in given load balancer service.
        Currently, only realtime mode is supported.
      operationId: ListLoadBalancerPoolStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPoolStatisticsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics list of load balancer pools
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/pools/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status list of load balancer pools in given load balancer service.
      operationId: ListLoadBalancerPoolStatuses
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPoolStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status list of load balancer pools
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/pools/{pool-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the given load balancer pool by given load balancer
        serives id and load balancer pool id.
        Currently, only realtime mode is supported.
      operationId: GetLoadBalancerPoolStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPoolStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/pools/{pool-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status of the given load balancer pool by given load balancer
        serives id and load balancer pool id.
      operationId: GetLoadBalancerPoolStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: pool-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbPoolStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of load balancer pool
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the given load balancer service.
      operationId: GetLoadBalancerServiceStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServiceStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status of the given load balancer service.
      operationId: GetLoadBalancerServiceStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - default: false
        description: Flag to indicate whether include detail information
        in: query
        name: include_instance_details
        required: false
        type: boolean
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: The UUIDs of transport nodes
        in: query
        name: transport_node_ids
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServiceStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of the given load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/usage:
    get:
      consumes:
      - application/json
      description: |
        API to fetch the capacity and current usage of the given load balancer
        service.
      operationId: ReadLoadBalancerServiceUsage
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbServiceUsage'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the usage information of the given load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/services/{service-id}/virtual-servers/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics list of virtual servers in given load balancer service.
        Currently, only realtime mode is supported.
      operationId: ListLoadBalancerVirtualServersStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerStatisticsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics list of virtual servers
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/virtual-servers/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status list of virtual servers in given load balancer service.
      operationId: ListLoadBalancerVirtualServerStatuses
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status list of virtual servers in given load balancer service
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/virtual-servers/{virtual-server-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the load balancer virtual server by given load
         balancer serives id and load balancer virtual server id.
      operationId: GetLoadBalancerVirtualServerStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: virtual-server-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of the given load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/services/{service-id}/virtual-servers/{virtual-server-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status of the virtual server by given load balancer serives id
        and load balancer virtual server id.
      operationId: GetLoadBalancerVirtualServerStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: virtual-server-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of the load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: AggSvcLb
  /loadbalancer/ssl/ciphers-and-protocols:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a list of supported SSL ciphers and protocols.
      operationId: ListLoadBalancerSslCiphersAndProtocols
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbSslCipherAndProtocolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a list of supported SSL ciphers and protocols
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/usage-per-node/{node-id}:
    get:
      consumes:
      - application/json
      description: |
        API is used to retrieve the usage of load balancer entities which include
        current number and remaining number of credits, virtual Servers, pools,
        pool Members and different size of LB services from the given node.
        Currently only Edge node is supported.
      operationId: ReadLoadBalancerNodeUsage
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbNodeUsage'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read load balancer usage for the given node
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/virtual-servers:
    get:
      consumes:
      - application/json
      description: |
        Retrieve a paginated list of load balancer virtual servers.
      operationId: ListLoadBalancerVirtualServers
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a paginated list of load balancer virtual servers
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    post:
      consumes:
      - application/json
      description: |
        Create a load balancer virtual server.
      operationId: CreateLoadBalancerVirtualServer
      parameters:
      - in: body
        name: LbVirtualServer
        required: true
        schema:
          $ref: '#/definitions/LbVirtualServer'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbVirtualServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/virtual-servers/{virtual-server-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a load balancer virtual server.
      operationId: DeleteLoadBalancerVirtualServer
      parameters:
      - in: path
        name: virtual-server-id
        required: true
        type: string
      - default: false
        description: Delete associated rules
        in: query
        name: delete_associated_rules
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    get:
      consumes:
      - application/json
      description: |
        Retrieve a load balancer virtual server.
      operationId: ReadLoadBalancerVirtualServer
      parameters:
      - in: path
        name: virtual-server-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve a load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
    put:
      consumes:
      - application/json
      description: |
        Update a load balancer virtual server.
      operationId: UpdateLoadBalancerVirtualServer
      parameters:
      - in: path
        name: virtual-server-id
        required: true
        type: string
      - in: body
        name: LbVirtualServer
        required: true
        schema:
          $ref: '#/definitions/LbVirtualServer'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer virtual server
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/virtual-servers/{virtual-server-id}?action=update_with_rules:
    put:
      consumes:
      - application/json
      description: |
        It is used to update virtual servers, the associated rules and update the
        binding of virtual server and rules.
        To add new rules, make sure the rules which have no identifier specified,
        the new rules are automatically generated and associated to the virtual
        server.
        To delete old rules, the rules should not be configured in new action, the
        UUID of deleted rules should be also removed from rule_ids.
        To update rules, the rules should be specified with new change and
        configured with identifier.
        If there are some rules which are not modified, those rule should not be
        specified in the rules list, the UUID list of rules should be specified in
        rule_ids of LbVirtualServer.
      operationId: UpdateLoadBalancerVirtualServerWithRulesUpdate_with_rules
      parameters:
      - in: path
        name: virtual-server-id
        required: true
        type: string
      - in: body
        name: LbVirtualServerWithRule
        required: true
        schema:
          $ref: '#/definitions/LbVirtualServerWithRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LbVirtualServerWithRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a load balancer virtual server with rules
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /loadbalancer/virtual-servers?action=create_with_rules:
    post:
      consumes:
      - application/json
      description: |
        It is used to create virtual servers, the associated rules and bind the
        rules to the virtual server.
        To add new rules, make sure the rules which have no identifier specified,
        the new rules are automatically generated and associated to the virtual
        server.
        If the virtual server need to consume some existed rules without change,
        those rules should not be specified in this array, otherwise, the rules
        are updated.
      operationId: CreateLoadBalancerVirtualServerWithRulesCreate_with_rules
      parameters:
      - in: body
        name: LbVirtualServerWithRule
        required: true
        schema:
          $ref: '#/definitions/LbVirtualServerWithRule'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LbVirtualServerWithRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a load balancer virtual server with rules
      tags:
      - Management Plane API, Networking, Services, Loadbalancer
      x-vmw-nsx-module: LoadBalancer
  /logical-ports:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all configured logical switch ports. Logical
        switch ports connect to VM virtual network interface cards (NICs). Each
        logical port is associated with one logical switch.
      operationId: ListLogicalPorts
      parameters:
      - description: Logical Port attachment Id
        in: query
        name: attachment_id
        required: false
        type: string
      - description: Type of attachment for logical port; for query only.
        enum:
        - VIF
        - LOGICALROUTER
        - BRIDGEENDPOINT
        - DHCP_SERVICE
        - METADATA_PROXY
        - L2VPN_SESSION
        - NONE
        in: query
        name: attachment_type
        required: false
        type: string
      - description: Bridge Cluster identifier
        in: query
        name: bridge_cluster_id
        required: false
        type: string
      - default: false
        description: Only container VIF logical ports will be returned if true
        in: query
        name: container_ports_only
        required: false
        type: boolean
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to enable showing of transit logical port.
        in: query
        name: diagnostic
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Logical Switch identifier
        in: query
        name: logical_switch_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: ID of the VIF of type PARENT
        in: query
        name: parent_vif_id
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Network Profile identifier
        in: query
        name: switching_profile_id
        required: false
        type: string
      - description: Transport node identifier
        in: query
        name: transport_node_id
        required: false
        type: string
      - description: Transport zone identifier
        in: query
        name: transport_zone_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Logical Ports
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
    post:
      consumes:
      - application/json
      description: |
        Creates a new logical switch port. The required parameters are the
        associated logical_switch_id and admin_state (UP or DOWN). Optional
        parameters are the attachment and switching_profile_ids. If you don't
        specify switching_profile_ids, default switching profiles are assigned to
        the port. If you don't specify an attachment, the switch port remains
        empty. To configure an attachment, you must specify an id, and
        optionally you can specify an attachment_type (VIF or LOGICALROUTER).
        The attachment_type is VIF by default.
      operationId: CreateLogicalPort
      parameters:
      - in: body
        name: LogicalPort
        required: true
        schema:
          $ref: '#/definitions/LogicalPort'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LogicalPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Logical Port
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
  /logical-ports/status:
    get:
      consumes:
      - application/json
      description: |
        Returns operational status of all logical ports.
        The query parameter "source=realtime" is not supported.
        Pagination is not supported for this API.
        The query parameters "cursor", "sort_ascending", "sort_by", "page_size" and "included_fields"
        will be ignored.
      operationId: GetLogicalPortStatusSummary
      parameters:
      - description: Logical Port attachment Id
        in: query
        name: attachment_id
        required: false
        type: string
      - description: Type of attachment for logical port; for query only.
        enum:
        - VIF
        - LOGICALROUTER
        - BRIDGEENDPOINT
        - DHCP_SERVICE
        - METADATA_PROXY
        - L2VPN_SESSION
        - NONE
        in: query
        name: attachment_type
        required: false
        type: string
      - description: Bridge Cluster identifier
        in: query
        name: bridge_cluster_id
        required: false
        type: string
      - default: false
        description: Only container VIF logical ports will be returned if true
        in: query
        name: container_ports_only
        required: false
        type: boolean
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to enable showing of transit logical port.
        in: query
        name: diagnostic
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Logical Switch identifier
        in: query
        name: logical_switch_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: ID of the VIF of type PARENT
        in: query
        name: parent_vif_id
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Network Profile identifier
        in: query
        name: switching_profile_id
        required: false
        type: string
      - description: Transport node identifier
        in: query
        name: transport_node_id
        required: false
        type: string
      - description: Transport zone identifier
        in: query
        name: transport_zone_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortStatusSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Operational Status Summary of All Logical Ports in the System
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: AggSvcLogicalPort
  /logical-ports/{lport-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified logical switch port. By default, if logical port has
        attachments, or it is added to any NSGroup, the deletion will be failed.
        Option detach could be used for deleting logical port forcibly.
      operationId: DeleteLogicalPort
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - default: false
        description: force delete even if attached or referenced by a group
        in: query
        name: detach
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Logical Port
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified logical port.
      operationId: GetLogicalPort
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Information About a Logical Port
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
    put:
      consumes:
      - application/json
      description: |
        Modifies an existing logical switch port. Parameters that can be modified
        include attachment_type (LOGICALROUTER, VIF), admin_state (UP or DOWN),
        attachment id and switching_profile_ids. You cannot modify the logical_switch_id.
        In other words, you cannot move an existing port from one switch to another switch.
      operationId: UpdateLogicalPort
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - in: body
        name: LogicalPort
        required: true
        schema:
          $ref: '#/definitions/LogicalPort'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Logical Port
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
  /logical-ports/{lport-id}/forwarding-path:
    get:
      consumes:
      - application/json
      description: |-
        Get networking entities between two logical ports with VIF attachment
      operationId: GetForwardingPath
      parameters:
      - description: |-
          ID of source port
        in: path
        name: lport-id
        required: true
        type: string
      - description: ID of peer port
        in: query
        name: peer_port_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PortConnectionEntities'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get networking entities between two logical ports with VIF attachment
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Connection
      x-vmw-nsx-module: PortConnection
  /logical-ports/{lport-id}/mac-table:
    get:
      consumes:
      - application/json
      description: |
        Returns MAC table of a specified logical port. If the target transport node id is not provided,
        the NSX manager will ask the controller for the transport node where the logical port is located.
        The query parameter "source=cached" is not supported. MAC table retrieval is not supported on
        logical ports that are attached to a logical router.
      operationId: GetLogicalPortMacTable
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortMacAddressListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get MAC table of a logical port with a given port id (lport-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: AggSvcLogicalPort
  /logical-ports/{lport-id}/mac-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns MAC table in CSV format of a specified logical port. If the target transport node id is not provided,
        the NSX manager will ask the controller for the transport node where the logical port is located.
        The query parameter "source=cached" is not supported. MAC table retrieval is not supported on
        logical ports that are attached to a logical router.
      operationId: GetLogicalPortMacTableInCsvFormatCsv
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortMacAddressCsvListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get MAC table of a logical port with a given port id (lport-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: AggSvcLogicalPort
  /logical-ports/{lport-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns transport node id for a specified logical port. Also returns
        information about all address bindings of the specified logical port. This
        includes address bindings discovered via various snooping methods like ARP
        snooping, DHCP snooping etc. and addressing bindings that are realized
        based on user configuration.
      operationId: GetLogicalPortState
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get realized state & location of a logical port
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: LogicalPort
  /logical-ports/{lport-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns statistics of a specified logical port. If the logical port is attached to
        a logical router port, query parameter "source=realtime" is not supported.
      operationId: GetLogicalPortStatistics
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Statistics for Logical Port of a Given Port ID (lport-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: AggSvcLogicalPort
  /logical-ports/{lport-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Returns operational status of a specified logical port.
      operationId: GetLogicalPortOperationalStatus
      parameters:
      - in: path
        name: lport-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalPortOperationalStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Operational Status for Logical Port of a Given Port ID (lport-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: AggSvcLogicalPort
  /logical-router-ports:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all logical router ports. Information includes the
        resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort,
        LogicalRouterLinkPort, LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort);
        logical_router_id (the router to which each logical router port is assigned);
        and any service_bindings (such as DHCP relay service).
        The GET request can include a query parameter (logical_router_id
        or logical_switch_id).
      operationId: ListLogicalRouterPorts
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Logical Router identifier
        in: query
        name: logical_router_id
        required: false
        type: string
      - description: Logical Switch identifier
        in: query
        name: logical_switch_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Resource types of logical router port
        enum:
        - LogicalRouterUpLinkPort
        - LogicalRouterDownLinkPort
        - LogicalRouterLinkPortOnTIER0
        - LogicalRouterLinkPortOnTIER1
        - LogicalRouterLoopbackPort
        - LogicalRouterIPTunnelPort
        - LogicalRouterCentralizedServicePort
        in: query
        name: resource_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Logical Router Ports
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
    post:
      consumes:
      - application/json
      description: |
        Creates a logical router port. The required parameters include resource_type
        (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort, LogicalRouterLinkPort,
        LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort); and
        logical_router_id (the router to which each logical router port is assigned).
        The service_bindings parameter is optional.
      operationId: CreateLogicalRouterPort
      parameters:
      - in: body
        name: LogicalRouterPort
        required: true
        schema:
          $ref: '#/definitions/LogicalRouterPort'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LogicalRouterPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Logical Router Port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
  /logical-router-ports/{logical-router-port-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified logical router port. You must delete logical router
        ports before you can delete the associated logical router. To Delete Tier0
        router link port you must have to delete attached tier1 router link port,
        otherwise pass "force=true" as query param to force delete the Tier0
        router link port.
      operationId: DeleteLogicalRouterPort
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - default: false
        description: Flag to specify whether to delete related logical switch ports
        in: query
        name: cascade_delete_linked_ports
        required: false
        type: boolean
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Logical Router Port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified logical router port.
      operationId: ReadLogicalRouterPort
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Logical Router Port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified logical router port. Required parameters include the
        resource_type and logical_router_id. Modifiable parameters include the
        resource_type (LogicalRouterUpLinkPort, LogicalRouterDownLinkPort,
        LogicalRouterLinkPort, LogicalRouterLoopbackPort, LogicalRouterCentralizedServicePort),
        logical_router_id (to reassign the port to a different router), and service_bindings.
      operationId: UpdateLogicalRouterPort
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - in: body
        name: LogicalRouterPort
        required: true
        schema:
          $ref: '#/definitions/LogicalRouterPort'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPort'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Logical Router Port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
  /logical-router-ports/{logical-router-port-id}/arp-table:
    get:
      consumes:
      - application/json
      description: |
        Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) for the
        Logical Router Port of the given id, on a node if a query parameter
        "transport_node_id=<transport-node-id>" is given. The transport_node_id
        parameter is mandatory if the router port is not uplink type.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterPortArpTable
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortArpTable'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get the ARP table (IPv4) or Neighbor Discovery table (IPv6) for the
        Logical Router Port of the given id
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: AggSvcLogicalRouterPort
  /logical-router-ports/{logical-router-port-id}/arp-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns ARP table (IPv4) or Neighbor Discovery table (IPv6) in CSV format
        for the Logical Router Port of the given id, on a node if a query
        parameter "transport_node_id=<transport-node-id>" is given. The
        transport_node_id parameter is mandatory if the router port is not uplink
        type. Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterPortArpTableInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortArpTableInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get the ARP table (IPv4) or Neighbor Discovery table (IPv6) for the
        Logical Router Port of the given id
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: AggSvcLogicalRouterPort
  /logical-router-ports/{logical-router-port-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a logical router port.
        Any configuration update that affects the logical router port can use this API
        to get its realized state by passing a request_id returned by the
        configuration change operation. e.g. Update configuration of logical router ports,
        dhcp relays, etc.
      operationId: GetLogicalRouterPortState
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Logical Router Port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: LogicalRouterPorts
  /logical-router-ports/{logical-router-port-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics for the Logical Router Port. If query parameter
        "transport_node_id=<transport-node-id>" is given,  only the statistics
        from the given node for the logical router port will be returned.
        Otherwise the statistics from each node for the same logical router port
        will be returned. The transport_node_id is mandatory if the router port
        is not uplink type.
        The query parameter "source=cached" will be ignored and it will always return
        realtime statistics of the logical router port.
      operationId: GetLogicalRouterPortStatistics
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of a specified logical router port on all or a specified node
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: AggSvcLogicalRouterPort
  /logical-router-ports/{logical-router-port-id}/statistics/summary:
    get:
      consumes:
      - application/json
      description: |
        Returns the summation of statistics from all nodes for the Specified
        Logical Router Port.
        The query parameter "source=realtime" is not supported.
      operationId: GetLogicalRouterPortStatisticsSummary
      parameters:
      - in: path
        name: logical-router-port-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterPortStatisticsSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics summary of a specified logical router port
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Router
        Ports
      x-vmw-nsx-module: AggSvcLogicalRouterPort
  /logical-routers:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all logical routers, including the UUID, internal
        and external transit network addresses, and the router type (TIER0 or
        TIER1). You can get information for only TIER0 routers or only the TIER1
        routers by including the router_type query parameter.
      operationId: ListLogicalRouters
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Type of Logical Router
        enum:
        - TIER0
        - TIER1
        - VRF
        in: query
        name: router_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: List all VRFs on the specified logical router.
        in: query
        name: vrfs_on_logical_router_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Logical Routers
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
    post:
      consumes:
      - application/json
      description: |
        Creates a logical router. The required parameters are router_type (TIER0 or
        TIER1) and edge_cluster_id (TIER0 only). Optional parameters include
        internal and external transit network addresses.
      operationId: CreateLogicalRouter
      parameters:
      - in: body
        name: LogicalRouter
        required: true
        schema:
          $ref: '#/definitions/LogicalRouter'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LogicalRouter'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified logical router. You must delete associated logical
        router ports before you can delete a logical router. Otherwise use force
        delete which will delete all related ports and other entities associated
        with that LR. To force delete logical router pass force=true in query param.
      operationId: DeleteLogicalRouter
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - default: false
        description: Flag to specify whether to delete related logical switch ports
        in: query
        name: cascade_delete_linked_ports
        required: false
        type: boolean
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified logical router.
      operationId: ReadLogicalRouter
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouter'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified logical router. Modifiable attributes include the
        internal_transit_network, external_transit_networks, and edge_cluster_id
        (for TIER0 routers).
      operationId: UpdateLogicalRouter
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: LogicalRouter
        required: true
        schema:
          $ref: '#/definitions/LogicalRouter'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouter'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}/debug-info?format=text:
    get:
      consumes:
      - application/json
      description: |
        API to download below information as text which will be used
        for debugging and troubleshooting.
        1) Logical router sub-components and ports.
        2) Routing configuration as sent to central control plane.
        3) TIER1 advertised network information.
      operationId: ReadDebugInfoText
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - text/plain; charset=utf-8
      responses:
        '200':
          description: OK
          schema:
            type: string
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the debug information for the logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}/nat/rules:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of all user defined NAT rules of the specific
        logical router. If a rule_type is provided, only the given type of
        rules will be returned. If no rule_type is specified, the rule_type
        will be defaulted to NATv4, i.e. only the NATv4 rules will be listed.
      operationId: ListNatRules
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Action type for getting NAT rules
        enum:
        - ALL
        - NATv4
        - NAT64
        in: query
        name: rule_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatRuleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List NAT rules of the logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
    post:
      consumes:
      - application/json
      description: |
        Add a NAT rule in a specific logical router.
      operationId: AddNatRule
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: NatRule
        required: true
        schema:
          $ref: '#/definitions/NatRule'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NatRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a NAT rule in a specific logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
  /logical-routers/{logical-router-id}/nat/rules/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the summation of statistics for all rules from all nodes for the Specified
        Logical Router. Also gives the per transport node statistics for provided logical router.
        The query parameter "source=realtime" is not supported.
      operationId: GetNatStatisticsPerLogicalRouter
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatStatisticsPerLogicalRouter'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of all rules of the logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/nat/rules/{rule-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a specific NAT rule from a logical router
      operationId: DeleteNatRule
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific NAT rule from a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
    get:
      consumes:
      - application/json
      description: |
        Get a specific NAT rule from a given logical router
      operationId: GetNatRule
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific NAT rule from a given logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
    put:
      consumes:
      - application/json
      description: |
        Update a specific NAT rule from a given logical router.
      operationId: UpdateNatRule
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: NatRule
        required: true
        schema:
          $ref: '#/definitions/NatRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific NAT rule from a given logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
  /logical-routers/{logical-router-id}/nat/rules/{rule-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the summation of statistics from all nodes for the Specified
        Logical Router NAT Rule. Query parameter "source=realtime" is the only supported source.
      operationId: GetNatStatisticsPerRule
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatStatisticsPerRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the statistics of a specified logical router NAT Rule
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/nat/rules?action=create_multiple:
    post:
      consumes:
      - application/json
      description: |
        Create multiple NAT rules in a specific logical router.
        The API succeeds only when all rules are accepted and created successfully.
        Any one validation voilation will fail the API, no rule will be created.
        The ruleIds of each rules can be found from the responsed message.
      operationId: AddNatRulesCreate_multiple
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: NatRuleList
        required: true
        schema:
          $ref: '#/definitions/NatRuleList'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NatRuleList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add multiple NAT rules in a specific logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: Nat
  /logical-routers/{logical-router-id}/routing:
    get:
      consumes:
      - application/json
      description: |
        Returns the routing configuration for a specified logical router.
      operationId: ReadRoutingConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoutingConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Routing Configuration
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the routing configuration for a specified logical router.
      operationId: UpdateRoutingConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: RoutingConfig
        required: true
        schema:
          $ref: '#/definitions/RoutingConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RoutingConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Routing Configuration
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/advertisement:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the routes to be advertised by the specified
        TIER1 logical router.
      operationId: ReadAdvertisementConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AdvertisementConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Advertisement Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the route advertisement configuration on the specified logical router.
      operationId: UpdateAdvertisementConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: AdvertisementConfig
        required: true
        schema:
          $ref: '#/definitions/AdvertisementConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AdvertisementConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Advertisement Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/advertisement/rules:
    get:
      consumes:
      - application/json
      description: |
        Returns the advertisement rule list for the specified
        TIER1 logical router.
      operationId: ReadAdvertiseRuleList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AdvertiseRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Advertisement Rules on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the advertisement rules on the specified logical
        router. The PUT request must include all the rules with the networks parameter. Modifiable
        parameters are networks, display_name, and description. Set the rules list to empty to delete/clear all rules.
      operationId: UpdateAdvertiseRuleList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: AdvertiseRuleList
        required: true
        schema:
          $ref: '#/definitions/AdvertiseRuleList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AdvertiseRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Advertisement Rules on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bfd-config:
    get:
      consumes:
      - application/json
      description: |
        Returns the BFD configuration for all routing BFD peers. This will be inherited |
          by all BFD peers for LogicalRouter unless overriden while configuring the Peer.
      operationId: ReadRoutingBfdConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BfdConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Routing BFD Configuration
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing BFD
        Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the BFD configuration for routing BFD peers. Note - the configuration |
          changes apply only to those routing BFD peers for which the BFD configuration has |
          not been overridden at Peer level.
      operationId: UpdateRoutingBfdConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: BfdConfig
        required: true
        schema:
          $ref: '#/definitions/BfdConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BfdConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the BFD Configuration for BFD peers for routing
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing BFD
        Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the BGP configuration on a specified logical
        router. Information includes whether or not the BGP configuration is
        enabled, the AS number, and whether or not graceful
        restart is enabled.
      operationId: ReadBgpConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the BGP Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the BGP configuration on a specified TIER0 logical router.
        Modifiable parameters include enabled, graceful_restart, as_number.
      operationId: UpdateBgpConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: BgpConfig
        required: true
        schema:
          $ref: '#/definitions/BgpConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the BGP Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/community-lists:
    get:
      consumes:
      - application/json
      description: |
        Paginated list of BGP Community Lists on a Logical Router
      operationId: ListBGPCommunityLists
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BGPCommunityListListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated list of BGP community lists on a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Add a new BGP Community List on a Logical Router
      operationId: CreateBGPCommunityList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: BGPCommunityList
        required: true
        schema:
          $ref: '#/definitions/BGPCommunityList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BGPCommunityList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new BGP community list on a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/community-lists/{community-list-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a specific BGP community list from a Logical Router
      operationId: DeleteBGPCommunityList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: community-list-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific BGP community list from a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read a specific BGP community list from a Logical Router
      operationId: ReadBGPCommunityList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: community-list-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BGPCommunityList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a specific BGP community list from a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update a specific BGP community list from a Logical Router
      operationId: UpdateBGPCommunityList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: community-list-id
        required: true
        type: string
      - in: body
        name: BGPCommunityList
        required: true
        schema:
          $ref: '#/definitions/BGPCommunityList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BGPCommunityList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific BGP community list from a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/communty-lists/{community-list-id}:
    put:
      consumes:
      - application/json
      description: |
        Update a specific BGP community list from a Logical Router
      operationId: UpdateBGPCommunityListOld
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: community-list-id
        required: true
        type: string
      - in: body
        name: BGPCommunityList
        required: true
        schema:
          $ref: '#/definitions/BGPCommunityList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BGPCommunityList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific BGP community list from a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/neighbors:
    get:
      consumes:
      - application/json
      description: |
        Paginated list of BGP Neighbors on a Logical Router
      operationId: ListBgpNeighbors
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated list of BGP Neighbors on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Add a new BGP Neighbor on a Logical Router
      operationId: AddBgpNeighbor
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: BgpNeighbor
        required: true
        schema:
          $ref: '#/definitions/BgpNeighbor'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighbor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a new BGP Neighbor on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/status:
    get:
      consumes:
      - application/json
      description: |-
        Returns the status of all the BGP neighbors for the Logical Router of the given id. To get BGP neighbors status for the logical router from particular node, parameter "transport_node_id=<transportnode_id>" needs to be specified. Query parameter "source=realtime" is the only supported source.
      operationId: GetBgpNeighborsStatus
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Transport node id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborsStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of all the BGP neighbors for the Logical Router of the given id
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a specific BGP Neighbor on a Logical Router
      operationId: DeleteBgpNeighbor
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific BGP Neighbor on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read a specific BGP Neighbor on a Logical Router
      operationId: ReadBgpNeighbor
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighbor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a specific BGP Neighbor on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Unset/Delete the password property on the specific BGP Neighbor.
        No other property of the BgpNeighbor can be updated using this API
      operationId: UnSetPasswordOnBgpNeighbor
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      - enum:
        - clear_password
        in: query
        name: action
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighbor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Unset/Delete password property on specific BGP Neighbor on Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update a specific BGP Neighbor on a Logical Router
      operationId: UpdateBgpNeighbor
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      - in: body
        name: BgpNeighbor
        required: true
        schema:
          $ref: '#/definitions/BgpNeighbor'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighbor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific BGP Neighbor on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{id}?action=show-sensitive-data:
    get:
      consumes:
      - application/json
      description: |
        Read a specific BGP Neighbor details with password on a Logical Router
      operationId: ReadBgpNeighborWithPasswordShow-sensitive-data
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighbor'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a specific BGP Neighbor with password on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/advertised-routes:
    get:
      consumes:
      - application/json
      description: |
        Returns routes advertised by BGP neighbor from all edge transport nodes on which
        this neighbor is currently enabled. It always returns realtime response.
      operationId: GetBgpNeighborAdvertisedRoutes
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetails'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get BGP neighbor advertised routes
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/advertised-routes?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns routes advertised by BGP neighbor from all edge transport
        nodes on which this neighbor is currently enabled in CSV format.
        It always returns realtime response.
      operationId: GetBgpNeighborAdvertisedRoutesInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetailsInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get BGP neighbor advertised routes in CSV format
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/routes:
    get:
      consumes:
      - application/json
      description: |
        Returns routes learned by BGP neighbor from all edge transport nodes on which
        this neighbor is currently enabled. It always returns realtime response.
      operationId: GetBgpNeighborRoutes
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetails'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get BGP neighbor learned routes
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/bgp/neighbors/{neighbor-id}/routes?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns routes learned by BGP neighbor from all edge transport nodes on
        which this neighbor is currently enabled in CSV format.
        It always returns realtime response.
      operationId: GetBgpNeighborRoutesInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetailsInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get BGP neighbor learned routes in CSV format
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/forwarding-table:
    get:
      consumes:
      - application/json
      description: |
        Returns the FIB for the logical router on a node of the given transport-node-id.
        Query parameter "transport_node_id=<transport-node-id>" is required.
        To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
        needs to be specified.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterForwardingTable
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: IPv4 or IPv6 CIDR Block
        format: ip-cidr-block
        in: query
        name: network_prefix
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTable'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get FIB table on a specified node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/forwarding-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns the FIB table in CSV format for the logical router on a node of the given
        transport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
        To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
        needs to be specified.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterForwardingTableInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: IPv4 or IPv6 CIDR Block
        format: ip-cidr-block
        in: query
        name: network_prefix
        required: false
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTableInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get FIB table on a specified node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/ip-prefix-lists:
    get:
      consumes:
      - application/json
      description: |-
        Paginated List of IPPrefixLists
      operationId: ListIPPrefixLists
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPPrefixListListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated List of IPPrefixLists
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Adds a new IPPrefixList on a Logical Router
      operationId: AddIPPrefixList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: IPPrefixList
        required: true
        schema:
          $ref: '#/definitions/IPPrefixList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPPrefixList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add IPPrefixList on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/ip-prefix-lists/{id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes a specific IPPrefixList on the specified logical router.
      operationId: DeleteIPPrefixList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific IPPrefixList on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read a specific IPPrefixList on the specified logical router.
      operationId: ReadIPPrefixList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPPrefixList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific IPPrefixList on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update a specific IPPrefixList on the specified logical router.
      operationId: UpdateIPPrefixList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      - in: body
        name: IPPrefixList
        required: true
        schema:
          $ref: '#/definitions/IPPrefixList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPPrefixList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific IPPrefixList on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/redistribution:
    get:
      consumes:
      - application/json
      description: |
        Returns information about configured route redistribution for the specified
        logical router.
      operationId: ReadRedistributionConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RedistributionConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Redistribution Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies existing route redistribution rules for the specified TIER0 logical
        router.
      operationId: UpdateRedistributionConfig
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: RedistributionConfig
        required: true
        schema:
          $ref: '#/definitions/RedistributionConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RedistributionConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Redistribution Configuration on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/redistribution/rules:
    get:
      consumes:
      - application/json
      description: |
        Returns all the route redistribution rules for the specified
        logical router.
      operationId: ReadRedistributionRuleList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RedistributionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read All the Redistribution Rules on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies all route redistribution rules for the specified TIER0 logical
        router. Set the rules list to empty to delete/clear all rules.
      operationId: UpdateRedistributionRuleList
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: RedistributionRuleList
        required: true
        schema:
          $ref: '#/definitions/RedistributionRuleList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RedistributionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update All the Redistribution Rules on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/route-maps:
    get:
      consumes:
      - application/json
      description: |-
        Paginated List of RouteMaps
      operationId: ListRouteMaps
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RouteMapListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated List of RouteMaps
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Adds a new RouteMap on a Logical Router
      operationId: AddRouteMap
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: RouteMap
        required: true
        schema:
          $ref: '#/definitions/RouteMap'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RouteMap'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add RouteMap on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/route-maps/{id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes a specific RouteMap on the specified logical router.
      operationId: DeleteRouteMap
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific RouteMap on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read a specific RouteMap on the specified logical router.
      operationId: ReadRouteMap
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RouteMap'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific RouteMap on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update a specific RouteMap on the specified logical router.
      operationId: UpdateRouteMap
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      - in: body
        name: RouteMap
        required: true
        schema:
          $ref: '#/definitions/RouteMap'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RouteMap'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific RouteMap on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/route-table:
    get:
      consumes:
      - application/json
      description: |
        Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and
        /logical-routers/<logical-router-id>/routing/forwarding-table for FIB.
        Returns the route table for the logical router on a node of the given transport-node-id.
        Query parameter "transport_node_id=<transport-node-id>" is required.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterRouteTable
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTable'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get route table on a given node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/route-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Deprecated - Please use /logical-routers/<logical-router-id>/routing/routing-table for RIB and
        /logical-routers/<logical-router-id>/routing/forwarding-table for FIB.
        Returns the route table in CSV format for the logical router on a node of the given
        transport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterRouteTableInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTableInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get route table on a node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/routing-table:
    get:
      consumes:
      - application/json
      description: |
        Returns the route table(RIB) for the logical router on a node of the given transport-node-id.
        Query parameter "transport_node_id=<transport-node-id>" is required.
        To filter the result by network address, parameter "network_prefix=<a.b.c.d/mask>"
        needs to be specified.
        To filter the result by route source, parameter "route_source=<source_type>" needs to be specified
        where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT.
        It is also possible to filter the RIB table using both network address and
        route source filter together.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterRoutingTable
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: IPv4 or IPv6 CIDR Block
        format: ip-cidr-block
        in: query
        name: network_prefix
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Route source filter parameter
        enum:
        - BGP
        - STATIC
        - CONNECTED
        in: query
        name: route_source
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      - description: VRF filter parameter
        enum:
        - DEFAULT
        - INTER_SR
        in: query
        name: vrf_table
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTable'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get RIB table on a specified node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/routing-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns the route table in CSV format for the logical router on a node of the given
        transport-node-id. Query parameter "transport_node_id=<transport-node-id>" is required.
        To filter the result by network address, paramter "network_prefix=<a.b.c.d/mask>"
        needs to be specified.
        To filter the result by route source, parameter "route_source=<source_type>" needs to be specified
        where source_type can be BGP, STATIC, CONNECTED, NSX_STATIC, TIER1_NAT or TIER0_NAT.
        It is also possible to filter the RIB table using both network address and
        route source filter together.
        Query parameter "source=realtime" is the only supported source.
      operationId: GetLogicalRouterRoutingTableInCsvFormatCsv
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: IPv4 or IPv6 CIDR Block
        format: ip-cidr-block
        in: query
        name: network_prefix
        required: false
        type: string
      - description: Route source filter parameter
        enum:
        - BGP
        - STATIC
        - CONNECTED
        in: query
        name: route_source
        required: false
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: true
        type: string
      - description: VRF filter parameter
        enum:
        - DEFAULT
        - INTER_SR
        in: query
        name: vrf_table
        required: false
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterRouteTableInCsvFormat'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get RIB table on a specified node for a logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}/routing/static-routes:
    get:
      consumes:
      - application/json
      description: |
        Returns information about configured static routes, including the
        network address and next hops for each static route.
      operationId: ListStaticRoutes
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticRouteListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated List of Static Routes
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Adds a new static route on a Logical Router
      operationId: AddStaticRoute
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: StaticRoute
        required: true
        schema:
          $ref: '#/definitions/StaticRoute'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticRoute'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Static Routes on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/static-routes/bfd-peers:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all BFD peers created on specified logical router for static routes.
      operationId: ListStaticHopBfdPeers
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticHopBfdPeerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List static routes BFD Peers
      tags:
      - Management Plane API, Networking, Logical Routing And Services, BFD Peers
      x-vmw-nsx-module: Routing
    post:
      consumes:
      - application/json
      description: |
        Creates a BFD peer for static route. The required parameters includes peer IP address.
      operationId: CreateStaticHopBfdPeer
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: StaticHopBfdPeer
        required: true
        schema:
          $ref: '#/definitions/StaticHopBfdPeer'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/StaticHopBfdPeer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a static hop BFD peer
      tags:
      - Management Plane API, Networking, Logical Routing And Services, BFD Peers
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/static-routes/bfd-peers/{bfd-peer-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified BFD peer present on specified logical router.
      operationId: DeleteStaticHopBfdPeer
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: bfd-peer-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specified static route BFD peer cofigured on a specified logical router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, BFD Peers
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read the BFD peer having specified ID.
      operationId: ReadStaticHopBfdPeer
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: bfd-peer-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticHopBfdPeer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a static route BFD peer
      tags:
      - Management Plane API, Networking, Logical Routing And Services, BFD Peers
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Modifies the static route BFD peer.
        Modifiable parameters includes peer IP, enable flag and configuration of the BFD peer.
      operationId: UpdateStaticHopBfdPeer
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: bfd-peer-id
        required: true
        type: string
      - in: body
        name: StaticHopBfdPeer
        required: true
        schema:
          $ref: '#/definitions/StaticHopBfdPeer'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticHopBfdPeer'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a static route BFD peer
      tags:
      - Management Plane API, Networking, Logical Routing And Services, BFD Peers
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/routing/static-routes/{id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes a specific static route on the specified logical router.
      operationId: DeleteStaticRoute
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a specific Static Route on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    get:
      consumes:
      - application/json
      description: |
        Read a specific static routes on the specified logical router.
      operationId: ReadStaticRoute
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticRoute'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific Static Route on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
    put:
      consumes:
      - application/json
      description: |
        Update a specific static route on the specified logical router.
      operationId: UpdateStaticRoute
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: path
        name: id
        required: true
        type: string
      - in: body
        name: StaticRoute
        required: true
        schema:
          $ref: '#/definitions/StaticRoute'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/StaticRoute'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a specific Static Route Rule on a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Routing Configuration
      x-vmw-nsx-module: Routing
  /logical-routers/{logical-router-id}/service-cluster/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a logical service router cluster.
        Any configuration update that affects the logical service router cluster can use
        this API to get its realized state by passing a request_id returned by the
        configuration change operation. e.g. Update configuration of nat, bgp, bfd, etc.

        What is a Service Router?
        When a service cannot be distributed is enabled on a Logical Router, a Service Router (SR) is instantiated.
        Some examples of services that are not distributed are NAT, DHCP server, Metadata Proxy, Edge Firewall,
        Load Balancer and so on.
      operationId: GetLogicalServiceRouterClusterState
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalServiceRouterClusterState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Logical Service Router Cluster
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a logical router.
        Any configuration update that affects the logical router can use this API
        to get its realized state by passing a request_id returned by the
        configuration change operation. e.g. Update configuration of logical router,
        static routes, etc.
      operationId: GetLogicalRouterState
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a Logical Router
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Returns status for the Logical Router of the given id.
      operationId: GetLogicalRouterStatus
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouterStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status for the Logical Router of the given id
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: AggSvcLogicalRouter
  /logical-routers/{logical-router-id}?action=reallocate:
    post:
      consumes:
      - application/json
      description: |
        API to re allocate edge node placement for TIER1 logical router. You can
        re-allocate service routers of TIER1 in same edge cluster or different edge
        cluster. You can also place edge nodes manually and provide maximum two
        indices for HA mode ACTIVE_STANDBY. To re-allocate on new edge cluster you
        must have existing edge cluster for TIER1 logical router. This will be
        disruptive operation and all existing statistics of logical router will be
        remove.
      operationId: ReAllocateServiceRoutersReallocate
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      - in: body
        name: ServiceRouterAllocationConfig
        required: true
        schema:
          $ref: '#/definitions/ServiceRouterAllocationConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalRouter'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Re allocate edge node placement of TIER1 service routers
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-routers/{logical-router-id}?action=reprocess:
    post:
      consumes:
      - application/json
      description: |
        Reprocess logical router configuration and configuration of related entities like logical router ports, static routing, etc.
        Any missing Updates are published to controller.
      operationId: ReProcessLogicalRouterReprocess
      parameters:
      - in: path
        name: logical-router-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reprocesses a logical router configuration and publish updates to controller
      tags:
      - Management Plane API, Networking, Logical Routing And Services, Logical Routers
      x-vmw-nsx-module: LogicalRouter
  /logical-switches:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all configured logical switches.
      operationId: ListLogicalSwitches
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to enable showing of transit logical switch.
        in: query
        name: diagnostic
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Switching Profile identifier
        in: query
        name: switching_profile_id
        required: false
        type: string
      - description: Mode of transport supported in the transport zone for this logical
          switch
        enum:
        - OVERLAY
        - VLAN
        in: query
        name: transport_type
        required: false
        type: string
      - description: Transport zone identifier
        in: query
        name: transport_zone_id
        required: false
        type: string
      - description: The logical switch's uplink teaming policy name
        in: query
        name: uplink_teaming_policy_name
        required: false
        type: string
      - description: Virtual Local Area Network Identifier
        format: int64
        in: query
        maximum: 4094
        minimum: 0
        name: vlan
        required: false
        type: integer
      - description: VNI of the OVERLAY LogicalSwitch(es) to return.
        format: int32
        in: query
        name: vni
        required: false
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Logical Switches
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
    post:
      consumes:
      - application/json
      description: |
        Creates a new logical switch. The request must include the
        transport_zone_id, display_name, and admin_state (UP or DOWN). The
        replication_mode (MTEP or SOURCE) is required for overlay logical
        switches, but not for VLAN-based logical switches. A vlan needs to be
        provided for VLAN-based logical switches
      operationId: CreateLogicalSwitch
      parameters:
      - in: body
        name: LogicalSwitch
        required: true
        schema:
          $ref: '#/definitions/LogicalSwitch'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/LogicalSwitch'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Logical Switch
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
  /logical-switches/state:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of logical switches states that have realized state as provided
        as query parameter.
      operationId: ListLogicalSwitchesByState
      parameters:
      - description: Realized state of logical switches
        enum:
        - PENDING
        - IN_PROGRESS
        - PARTIAL_SUCCESS
        - SUCCESS
        in: query
        name: status
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchStateListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List logical switches by realized state
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
  /logical-switches/status:
    get:
      consumes:
      - application/json
      description: |
        Returns Operational status of all logical switches.
        The query parameter "source=realtime" is not supported.
      operationId: GetLogicalSwitchStatusSummary
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to enable showing of transit logical switch.
        in: query
        name: diagnostic
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Switching Profile identifier
        in: query
        name: switching_profile_id
        required: false
        type: string
      - description: Mode of transport supported in the transport zone for this logical
          switch
        enum:
        - OVERLAY
        - VLAN
        in: query
        name: transport_type
        required: false
        type: string
      - description: Transport zone identifier
        in: query
        name: transport_zone_id
        required: false
        type: string
      - description: The logical switch's uplink teaming policy name
        in: query
        name: uplink_teaming_policy_name
        required: false
        type: string
      - description: Virtual Local Area Network Identifier
        format: int64
        in: query
        maximum: 4094
        minimum: 0
        name: vlan
        required: false
        type: integer
      - description: VNI of the OVERLAY LogicalSwitch(es) to return.
        format: int32
        in: query
        name: vni
        required: false
        type: integer
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchStatusSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Status Summary of All Logical Switches in the System
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /logical-switches/{logical-switch-id}/inter-site-forwarder/site-span-info:
    get:
      consumes:
      - application/json
      description: |
        Returns remote mac addresses of the l2 forwarder on logical switch.
        It always returns realtime response.
      operationId: GetL2ForwarderRemoteMacs
      parameters:
      - in: path
        name: logical-switch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2ForwarderRemoteMacs'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2 forwarder remote mac addresses
      tags:
      - Management Plane API, Networking, Logical Switching, Inter-Site-Forwarder
      x-vmw-nsx-module: AggSvcL2Forwarder
  /logical-switches/{logical-switch-id}/inter-site-forwarder/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns statistics of the l2 forwarder on logical switch.
        It always returns realtime response.
      operationId: GetL2ForwarderStatistics
      parameters:
      - in: path
        name: logical-switch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2ForwarderStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2 forwarder statistics
      tags:
      - Management Plane API, Networking, Logical Switching, Inter-Site-Forwarder
      x-vmw-nsx-module: AggSvcL2Forwarder
  /logical-switches/{logical-switch-id}/inter-site-forwarder/status:
    get:
      consumes:
      - application/json
      description: |
        Returns status per transport node of the l2 forwarder on logical switch.
      operationId: GetL2ForwarderStatus
      parameters:
      - in: path
        name: logical-switch-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2ForwarderStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2 forwarder status
      tags:
      - Management Plane API, Networking, Logical Switching, Inter-Site-Forwarder
      x-vmw-nsx-module: AggSvcL2Forwarder
  /logical-switches/{lswitch-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes a logical switch from the associated overlay or VLAN transport
        zone. By default, a logical switch cannot be deleted if there are logical
        ports on the switch, or it is added to a NSGroup.
        Cascade option can be used to delete all ports and the logical switch.
        Detach option can be used to delete the logical switch forcibly.
      operationId: DeleteLogicalSwitch
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - default: false
        description: 'Delete a Logical Switch and all the logical ports in it,

          if none of the logical ports have any attachment.

          '
        in: query
        name: cascade
        required: false
        type: boolean
      - default: false
        description: Force delete a logical switch
        in: query
        name: detach
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Logical Switch
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified logical switch Id.
      operationId: GetLogicalSwitch
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitch'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Logical Switch associated with the provided id (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
    put:
      consumes:
      - application/json
      description: |
        Modifies attributes of an existing logical switch. Modifiable
        attributes include admin_state, replication_mode, switching_profile_ids
        and VLAN spec. You cannot modify the original transport_zone_id.
      operationId: UpdateLogicalSwitch
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - in: body
        name: LogicalSwitch
        required: true
        schema:
          $ref: '#/definitions/LogicalSwitch'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitch'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Logical Switch
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
  /logical-switches/{lswitch-id}/mac-table:
    get:
      consumes:
      - application/json
      description: |
        Returns MAC table of a specified logical switch from the given transport
        node if a transport node id is given in the query parameter from the
        Central Controller Plane.
        The query parameter "source=cached" is not supported.
      operationId: GetLogicalSwitchMacTable
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MacAddressListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get MAC Table for Logical Switch of the Given ID (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /logical-switches/{lswitch-id}/mac-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns MAC table of a specified logical switch in CSV format from the given transport
        node if a transport node id is given in the query parameter from the
        Central Controller Plane.
        The query parameter "source=cached" is not supported.
      operationId: GetLogicalSwitchMacTableInCsvFormatCsv
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MacAddressCsvListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get MAC Table for Logical Switch of the Given ID (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /logical-switches/{lswitch-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns current state of the logical switch configuration and details of only
        out-of-sync transport nodes.
      operationId: GetLogicalSwitchState
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the realized state associated with provided logical switch id
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
  /logical-switches/{lswitch-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns statistics  of a specified logical switch.
        The query parameter "source=realtime" is not supported.
      operationId: GetLogicalSwitchStatistics
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Statistics for Logical Switch of the Given ID (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /logical-switches/{lswitch-id}/summary:
    get:
      consumes:
      - application/json
      description: |-
        Returns the number of ports assigned to a logical switch.
      operationId: GetLogicalSwitchStatus
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalSwitchStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Logical Switch runtime status info for a given logical switch
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: LogicalSwitch
  /logical-switches/{lswitch-id}/vtep-table:
    get:
      consumes:
      - application/json
      description: |
        Returns the virtual tunnel endpoint table of a specified logical switch
        from the given transport node if a transport node id is given in the
        query parameter, from the Central Controller Plane.
        The query parameter "source=cached" is not supported.
      operationId: GetLogicalSwitchVtepTable
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VtepListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get virtual tunnel endpoint table for logical switch of the given
        ID (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /logical-switches/{lswitch-id}/vtep-table?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns virtual tunnel endpoint table of a specified logical switch in
        CSV format from the given transport node if a transport node id is
        given in the query parameter from the Central Controller Plane.
        The query parameter "source=cached" is not supported.
      operationId: GetLogicalSwitchVtepTableInCsvFormatCsv
      parameters:
      - in: path
        name: lswitch-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: TransportNode Id
        in: query
        name: transport_node_id
        required: false
        type: string
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VtepCsvListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get virtual tunnel endpoint table for logical switch of the given
        ID (lswitch-id)
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switches
      x-vmw-nsx-module: AggSvcLogicalSwitch
  /mac-sets:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of MACSets
      operationId: ListMACSets
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MACSetListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List MACSets
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
    post:
      consumes:
      - application/json
      description: |
        Creates a new MACSet that can group individual MAC addresses.
      operationId: CreateMACSet
      parameters:
      - in: body
        name: MACSet
        required: true
        schema:
          $ref: '#/definitions/MACSet'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/MACSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create MACSet
      tags:
      - Management Plane API, Grouping Objects, IP Sets
      x-vmw-nsx-module: MACSet
  /mac-sets/{mac-set-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified MACSet. By default, if the MACSet is added to an
        NSGroup, it won't be deleted. In such situations, pass "force=true" as
        query param to force delete the MACSet.
      operationId: DeleteMACSet
      parameters:
      - description: |-
          MACSet Id
        in: path
        name: mac-set-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified MACSet
      operationId: ReadMACSet
      parameters:
      - description: |-
          MACSet Id
        in: path
        name: mac-set-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MACSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
    put:
      consumes:
      - application/json
      description: |
        Updates the specified MACSet. Modifiable parameters include the
        description, display_name and mac_addresses.
      operationId: UpdateMACSet
      parameters:
      - description: |-
          MACSet Id
        in: path
        name: mac-set-id
        required: true
        type: string
      - in: body
        name: MACSet
        required: true
        schema:
          $ref: '#/definitions/MACSet'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MACSet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
  /mac-sets/{mac-set-id}/members:
    get:
      consumes:
      - application/json
      description: |
        List all MAC addresses in a MACSet
      operationId: GetMACAddresses
      parameters:
      - description: |-
          MAC Set Id
        in: path
        name: mac-set-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MACAddressElementListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all MACAddresses in a MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
    post:
      consumes:
      - application/json
      description: |
        Add an individual MAC address to a MACSet
      operationId: AddMACAddress
      parameters:
      - description: |-
          MAC Set Id
        in: path
        name: mac-set-id
        required: true
        type: string
      - in: body
        name: MACAddressElement
        required: true
        schema:
          $ref: '#/definitions/MACAddressElement'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/MACAddressElement'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a MAC address to a MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
  /mac-sets/{mac-set-id}/members/{mac-address}:
    delete:
      consumes:
      - application/json
      description: |
        Remove an individual MAC address from a MACSet
      operationId: RemoveMACAddress
      parameters:
      - description: |-
          MACSet Id
        in: path
        name: mac-set-id
        required: true
        type: string
      - description: |-
          MAC address to be removed
        in: path
        name: mac-address
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove a MAC address from given MACSet
      tags:
      - Management Plane API, Grouping Objects, MAC Sets
      x-vmw-nsx-module: MACSet
  /manual-health-checks:
    get:
      consumes:
      - application/json
      description: |
        Query manual health checks with list parameters.
      operationId: ListManualHealthChecks
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManualHealthCheckListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List manual health checks
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Healthcheck
      x-vmw-nsx-module: HealthCheck
    post:
      consumes:
      - application/json
      description: |
        Create a new manual health check request with essential properties. It's
        disallowed to create new one until the count of in-progress manual health
        check is less than 50. A manual health check will be deleted automatically
        after finished for 24 hours.
      operationId: CreateManualHealthCheck
      parameters:
      - in: body
        name: ManualHealthCheck
        required: true
        schema:
          $ref: '#/definitions/ManualHealthCheck'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ManualHealthCheck'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new manual health check request
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Healthcheck
      x-vmw-nsx-module: HealthCheck
  /manual-health-checks/{manual-health-check-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing manual health check by ID.
      operationId: DeleteManualHealthCheck
      parameters:
      - in: path
        name: manual-health-check-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing manual health check
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Healthcheck
      x-vmw-nsx-module: HealthCheck
    get:
      consumes:
      - application/json
      description: |-
        Get an existing manual health check by health check ID.
      operationId: GetManualHealthCheck
      parameters:
      - in: path
        name: manual-health-check-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManualHealthCheck'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing manual health check
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Healthcheck
      x-vmw-nsx-module: HealthCheck
  /md-proxies:
    get:
      consumes:
      - application/json
      description: |-
        Get a paginated list of metadata proxies
      operationId: ListMetadataProxy
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MetadataProxyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a paginated list of metadata proxies
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: MetadataProxy
    post:
      consumes:
      - application/json
      description: |-
        Create a metadata proxy
      operationId: CreateMetadataProxy
      parameters:
      - in: body
        name: MetadataProxy
        required: true
        schema:
          $ref: '#/definitions/MetadataProxy'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/MetadataProxy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a metadata proxy
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: MetadataProxy
  /md-proxies/{proxy-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a metadata proxy
      operationId: DeleteMetadataProxy
      parameters:
      - in: path
        name: proxy-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a metadata proxy
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: MetadataProxy
    get:
      consumes:
      - application/json
      description: |-
        Get a metadata proxy
      operationId: ReadMetadataProxy
      parameters:
      - in: path
        name: proxy-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MetadataProxy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a metadata proxy
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: MetadataProxy
    put:
      consumes:
      - application/json
      description: |-
        Update a metadata proxy
      operationId: UpdateMetadataProxy
      parameters:
      - in: path
        name: proxy-id
        required: true
        type: string
      - in: body
        name: MetadataProxy
        required: true
        schema:
          $ref: '#/definitions/MetadataProxy'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MetadataProxy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a metadata proxy
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: MetadataProxy
  /md-proxies/{proxy-id}/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns the statistics of the given metatada proxy. If no logical switch
        is provided, all staticstics of all the logical switches the proxy was
        attached will be returned.
      operationId: GetMetadataProxyStatistics
      parameters:
      - in: path
        name: proxy-id
        required: true
        type: string
      - description: The uuid of logical switch
        in: query
        name: logical_switch_id
        required: false
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MetadataProxyStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Metadata Proxy statistics with given proxy id
      tags:
      - Management Plane API, Services, Metadata Proxy
      x-vmw-nsx-module: AggSvcMetadataProxy
  /md-proxies/{proxy-id}/{logical-switch-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns the status of the given metadata proxy and attached logical switch.
      operationId: GetMetadataProxyStatus
      parameters:
      - in: path
        name: proxy-id
        required: true
        type: string
      - in: path
        name: logical-switch-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MetadataProxyStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Metadata Proxy status with given proxy id and attached logical switch.
      tags:
      - Management Plane API, Networking, Services, Metadata Proxy
      x-vmw-nsx-module: AggSvcMetadataProxy
  /migration/data:
    get:
      consumes:
      - application/json
      description: |-
        Get information about the requested Migration Data file.
      operationId: GetMigrationDataInfo
      parameters:
      - description: Type of the Migration data file for which info is needed.
        enum:
        - VRA_INPUT
        in: query
        name: file_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationDataInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Migration Data Info.
      tags:
      - System Administration, Lifecycle Management, Migration, Stats
      x-vmw-nsx-module: Migration
  /migration/data/download:
    get:
      consumes:
      - application/json
      description: |
        Download the data needed for migration. The call returns after Download
        is completed.
      operationId: DownloadMigrationData
      parameters:
      - description: Type of the Migration data file that needs to be downloaded.
        enum:
        - VRA_OUTPUT
        in: query
        name: file_type
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Download migration data
      tags:
      - System Administration, Lifecycle Management, Migration, Stats
      x-vmw-nsx-module: Migration
  /migration/discovered-switches:
    get:
      consumes:
      - application/json
      description: |
        Get the list of discovered switches (DVS, VSS) for the selected VC.
      operationId: GetDiscoveredSwitches
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSwitchListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of discovered switches (DVS, VSS)
      tags:
      - System Administration, Lifecycle Management, Migration, User Inputs
      x-vmw-nsx-module: Migration
  /migration/feedback-requests:
    get:
      consumes:
      - application/json
      description: |
        Get feedback details of NSX-V to be migrated.
      operationId: GetFeedbackRequests
      parameters:
      - description: Category on which feedback request should be filtered
        in: query
        name: category
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Hash based on which feedback request should be filtered
        in: query
        name: hash
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: ALL
        description: Filter based on current state of the feedback request
        enum:
        - ALL
        - RESOLVED
        - UNRESOLVED
        in: query
        name: state
        required: false
        type: string
      - description: Sub category based on which feedback request should be filtered
        in: query
        name: sub_category
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationFeedbackRequestListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NSX-V feedback details
      tags:
      - System Administration, Lifecycle Management, Migration, Feedback
      x-vmw-nsx-module: Migration
  /migration/feedback-response:
    put:
      consumes:
      - application/json
      description: |
        Provide response for feedback queries needed for migration.
      operationId: UpdateFeedbackResponse
      parameters:
      - in: body
        name: MigrationFeedbackResponseList
        required: true
        schema:
          $ref: '#/definitions/MigrationFeedbackResponseList'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Migration feedback response
      tags:
      - System Administration, Lifecycle Management, Migration, Feedback
      x-vmw-nsx-module: Migration
  /migration/feedback-response?action=accept-recommended:
    post:
      consumes:
      - application/json
      description: |
        Pick default resolution for all feedback items.
      operationId: AcceptRecommendedValueInFeedbackAccept-recommended
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Accept default action for feedbacks
      tags:
      - System Administration, Lifecycle Management, Migration, Feedback
      x-vmw-nsx-module: Migration
  /migration/feedback-summary:
    get:
      consumes:
      - application/json
      description: |
        Get feedback summary of NSX-V to be migrated.
      operationId: GetFeedbackSummary
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationFeedbackSummaryListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Feedback request summary
      tags:
      - System Administration, Lifecycle Management, Migration, Feedback
      x-vmw-nsx-module: Migration
  /migration/grouped-feedback-requests:
    get:
      consumes:
      - application/json
      description: |
        Get feedback details of NSX-V to be migrated, grouped by feedback type.
      operationId: GetGroupedFeedbackRequests
      parameters:
      - description: Category on which feedback request should be filtered
        in: query
        name: category
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Hash based on which feedback request should be filtered
        in: query
        name: hash
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: ALL
        description: Filter based on current state of the feedback request
        enum:
        - ALL
        - RESOLVED
        - UNRESOLVED
        in: query
        name: state
        required: false
        type: string
      - description: Sub category based on which feedback request should be filtered
        in: query
        name: sub_category
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/GroupedMigrationFeedbackRequestListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NSX-V feedback details
      tags:
      - System Administration, Lifecycle Management, Migration, Feedback
      x-vmw-nsx-module: Migration
  /migration/logical-constructs/stats:
    get:
      consumes:
      - application/json
      description: |-
        Get migration stats for logical constructs phase. This API can be polled for getting runtime progress of the migration from source to target.
      operationId: GetLogicalConstructMigrationStats
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/LogicalConstructMigrationStatsListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration stats for logical constructs phase
      tags:
      - System Administration, Lifecycle Management, Migration, Stats
      x-vmw-nsx-module: Migration
  /migration/migrated-switches:
    get:
      consumes:
      - application/json
      description: |
        Get the list of migrated switches (DVS, VSS) for the selected VC.
      operationId: GetMigratedSwitches
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSwitchListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of migrated switches (DVS, VSS)
      tags:
      - System Administration, Lifecycle Management, Migration, User Inputs
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups:
    get:
      consumes:
      - application/json
      description: |
        Return information of all migration unit groups in the
        migration plan.  If request parameter summary is set to true, then
        only count of migration units will be returned, migration units list
        will be empty. If request parameter component type is specified,
        then all migration unit groups for that component will be returned.
      operationId: GetMigrationUnitGroups
      parameters:
      - description: Component type based on which migration unit groups to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Flag indicating whether to return summary
        in: query
        name: summary
        required: false
        type: boolean
      - default: false
        description: Synchronize before returning migration unit groups
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitGroupListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return information of all migration unit groups
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
    post:
      consumes:
      - application/json
      description: |
        Create a group of migration units.
      operationId: CreateMigrationUnitGroup
      parameters:
      - in: body
        name: MigrationUnitGroup
        required: true
        schema:
          $ref: '#/definitions/MigrationUnitGroup'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/MigrationUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups-status:
    get:
      consumes:
      - application/json
      description: |-
        Get migration status for migration unit groups
      operationId: GetMigrationUnitGroupsStatus
      parameters:
      - description: Component type based on which migration unit groups to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitGroupStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration status for migration unit groups
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/aggregate-info:
    get:
      consumes:
      - application/json
      description: |
        Return information of all migration unit groups in the
        migration plan.  If request parameter summary is set to true, then
        only count of migration units will be returned, migration units list
        will be empty. If request parameter component type is specified,
        then all migration unit groups for that component will be returned.
      operationId: GetMigrationUnitGroupAggregateInfo
      parameters:
      - description: Component type based on which migration unit groups to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Flag indicating whether to return summary
        in: query
        name: summary
        required: false
        type: boolean
      - default: false
        description: Synchronize before returning migration unit groups
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitGroupAggregateInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return aggregate information of all migration unit groups
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/{group-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete the specified group.
        NOTE - A group can be deleted only if it is empty.
        If user tries to delete a group containing one
        or more migration units, the operation will fail and an error
        will be returned.
      operationId: DeleteMigrationUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete the migration unit group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
    get:
      consumes:
      - application/json
      description: |
        Returns information about a specific migration unit group in the
        migration plan.  If request parameter summary is set to true, then
        only count of migration units will be returned, migration units list
        will be empty.
      operationId: GetMigrationUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - default: false
        description: Flag indicating whether to return the summary
        in: query
        name: summary
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return migration unit group information
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
    put:
      consumes:
      - application/json
      description: |
        Update the specified migration unit group. Removal of migration units from the group
        using this is not allowed. An error will be returned in that case.
      operationId: UpdateMigrationUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: MigrationUnitGroup
        required: true
        schema:
          $ref: '#/definitions/MigrationUnitGroup'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the migration unit group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/{group-id}/migration-unit/{migration-unit-id}?action=reorder:
    post:
      consumes:
      - application/json
      description: |
        Reorder an migration unit within the migration unit group by placing it
        before/after the specified migration unit
      operationId: ReorderMigrationUnitReorder
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: path
        name: migration-unit-id
        required: true
        type: string
      - in: body
        name: ReorderMigrationRequest
        required: true
        schema:
          $ref: '#/definitions/ReorderMigrationRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reorder an migration unit within the migration unit group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/{group-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Get migration status for migration units in the specified group. User can
        specify whether to show only the migration units with errors.
      operationId: GetMigrationUnitGroupStatus
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to indicate whether to return only migration units with
          errors
        in: query
        name: has_errors
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration status for group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/{group-id}?action=add_migration_units:
    post:
      consumes:
      - application/json
      description: |
        Add migration units to specified migration unit group. The migration
        units will be added at the end of the migration unit list.
      operationId: AddMigrationUnitsToGroupAdd_migration_units
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: MigrationUnitList
        required: true
        schema:
          $ref: '#/definitions/MigrationUnitList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add migration units to specified migration unit group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-unit-groups/{group-id}?action=reorder:
    post:
      consumes:
      - application/json
      description: |
        Reorder an migration unit group by placing it before/after
        the specified migration unit group.
      operationId: ReorderMigrationUnitGroupReorder
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: ReorderMigrationRequest
        required: true
        schema:
          $ref: '#/definitions/ReorderMigrationRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reorder migration unit group
      tags:
      - System Administration, Lifecycle Management, Migration, Group
      x-vmw-nsx-module: Migration
  /migration/migration-units:
    get:
      consumes:
      - application/json
      description: |-
        Get migration units
      operationId: GetMigrationUnits
      parameters:
      - description: Component type based on which migration units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Current version of migration unit based on which migration units
          to be filtered
        in: query
        name: current_version
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: UUID of group based on which migration units to be filtered
        in: query
        name: group_id
        required: false
        type: string
      - default: false
        description: Flag to indicate whether to return only migration units with
          warnings
        in: query
        name: has_warnings
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Metadata about migration unit to filter on
        in: query
        name: metadata
        required: false
        type: string
      - description: Migration unit type based on which migration units to be filtered
        in: query
        name: migration_unit_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration units
      tags:
      - System Administration, Lifecycle Management, Migration, Migration Units
      x-vmw-nsx-module: Migration
  /migration/migration-units-stats:
    get:
      consumes:
      - application/json
      description: |-
        Get migration units stats
      operationId: GetMigrationUnitsStats
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Synchronize before returning migration unit stats
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitTypeStatsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration units stats
      tags:
      - System Administration, Lifecycle Management, Migration, Migration Units
      x-vmw-nsx-module: Migration
  /migration/migration-units/aggregate-info:
    get:
      consumes:
      - application/json
      description: |-
        Get migration units aggregate-info
      operationId: GetMigrationUnitAggregateInfo
      parameters:
      - description: Component type based on which migration units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Identifier of group based on which migration units to be filtered
        in: query
        name: group_id
        required: false
        type: string
      - default: false
        description: Flag to indicate whether to return only migration units with
          errors
        in: query
        name: has_errors
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Metadata about migration unit to filter on
        in: query
        name: metadata
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: ALL
        description: Flag to indicate whether to return only selected, only deselected
          or both type of migration units
        enum:
        - SELECTED
        - DESELECTED
        - ALL
        in: query
        name: selection_status
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnitAggregateInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration units aggregate-info
      tags:
      - System Administration, Lifecycle Management, Migration, Migration Units
      x-vmw-nsx-module: Migration
  /migration/migration-units/{migration-unit-id}:
    get:
      consumes:
      - application/json
      description: |-
        Get a specific migration unit
      operationId: GetMigrationUnit
      parameters:
      - in: path
        name: migration-unit-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationUnit'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific migration unit
      tags:
      - System Administration, Lifecycle Management, Migration, Migration Units
      x-vmw-nsx-module: Migration
  /migration/nodes:
    get:
      consumes:
      - application/json
      description: |
        Get list of nodes. If request parameter component type is specified, then
        all nodes for that component will be returned. If request parameter component
        version is specified, then all nodes at that version will be returned.
      operationId: GetMigrationNodes
      parameters:
      - description: Component type based on which nodes will be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Component version based on which nodes will be filtered
        in: query
        name: component_version
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get list of nodes across all types
      tags:
      - System Administration, Lifecycle Management, Migration, Nodes
      x-vmw-nsx-module: Migration
  /migration/nodes-summary:
    get:
      consumes:
      - application/json
      description: |-
        Get summary of nodes, which includes node count for each type and component version.
      operationId: GetMigrationNodesSummary
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSummaryList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get summary of nodes
      tags:
      - System Administration, Lifecycle Management, Migration, Nodes
      x-vmw-nsx-module: Migration
  /migration/plan/{component_type}/settings:
    get:
      consumes:
      - application/json
      description: |
        Get the migration plan settings for the component.
      operationId: GetMigrationPlanSettings
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationPlanSettings'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration plan settings for the component
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
    put:
      consumes:
      - application/json
      description: |
        Update the migration plan settings for the component.
      operationId: UpdateMigrationPlanSettings
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      - in: body
        name: MigrationPlanSettings
        required: true
        schema:
          $ref: '#/definitions/MigrationPlanSettings'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationPlanSettings'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update migration plan settings for the component
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=abort:
    post:
      consumes:
      - application/json
      description: |
        Resets all migration steps done so far, so that migration can be restarted
        with new setup details.
      operationId: AbortMigrationAbort
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Abort migration
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=continue:
    post:
      consumes:
      - application/json
      description: |
        Continue the migration. Resumes the migration from the point where
        it was paused.
      operationId: ContinueMigrationContinue
      parameters:
      - default: false
        description: Skip to migration of next component.
        in: query
        name: skip
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Continue migration
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=finish:
    post:
      consumes:
      - application/json
      description: "This API marks the completion of one execution of migration workflow.\
        \ This API resets internal \nexecution state and hence needs to be invoked\
        \ before starting subsequent workflow run.\n"
      operationId: FinishMigrationFinish
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Mark completion of a migration cycle
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=pause:
    post:
      consumes:
      - application/json
      description: |
        Pause the migration. Migration will be paused after migration of all
        the nodes currently in progress is completed either successfully
        or with failure. User can make changes in the migration plan when
        the migration is paused.
      operationId: PauseMigrationPause
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Pause migration
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=reset:
    post:
      consumes:
      - application/json
      description: |
        Reset the migration plan to default plan. User has an option to change
        the default plan. But if after making changes, user wants to go
        back to the default plan, this is the way to do so.
      operationId: ResetMigrationPlanReset
      parameters:
      - description: Component type
        in: query
        name: component_type
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset migration plan to default plan
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=rollback:
    post:
      consumes:
      - application/json
      description: |
        Roll back the migration. Changes applied to target NSX will be reverted.
        Use the migration status API to monitor progress of roll back.
      operationId: StartRollbackMigrationRollback
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Rollbabck migration
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/plan?action=start:
    post:
      consumes:
      - application/json
      description: |
        Start the migration. Migration will start as per the migration plan.
      operationId: StartMigrationStart
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Start migration
      tags:
      - System Administration, Lifecycle Management, Migration, Plan
      x-vmw-nsx-module: Migration
  /migration/setup:
    get:
      consumes:
      - application/json
      description: |
        Get setup details of NSX-V to be migrated.
      operationId: GetNsxvSetupDetails
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSetupInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NSX-V setup details
      tags:
      - System Administration, Lifecycle Management, Migration, Setup
      x-vmw-nsx-module: Migration
    put:
      consumes:
      - application/json
      description: |
        Provide setup details of NSX-V to be migrated.
      operationId: UpdateNsxvSetupDetails
      parameters:
      - in: body
        name: MigrationSetupInfo
        required: true
        schema:
          $ref: '#/definitions/MigrationSetupInfo'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSetupInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NSX-V setup details
      tags:
      - System Administration, Lifecycle Management, Migration, Setup
      x-vmw-nsx-module: Migration
  /migration/status-summary:
    get:
      consumes:
      - application/json
      description: |-
        Get migration status summary
      operationId: GetMigrationStatusSummary
      parameters:
      - description: Component type based on which migration units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration status summary
      tags:
      - System Administration, Lifecycle Management, Migration, Status
      x-vmw-nsx-module: Migration
  /migration/summary:
    get:
      consumes:
      - application/json
      description: |-
        Get migration summary
      operationId: GetMigrationSummary
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get migration summary
      tags:
      - System Administration, Lifecycle Management, Migration, Status
      x-vmw-nsx-module: Migration
  /migration/switch:
    get:
      consumes:
      - application/json
      description: |
        The user is returned the switch (DVS/VSS) set as current scope of migration.
      operationId: GetMigrationSwitch
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSwitchInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the switch set as current scope for migration
      tags:
      - System Administration, Lifecycle Management, Migration, User Inputs
      x-vmw-nsx-module: Migration
    put:
      consumes:
      - application/json
      description: |
        The user specifies a DVS / VSS as the current scope of migration.
      operationId: SetMigrationSwitch
      parameters:
      - in: body
        name: MigrationSwitchInfo
        required: true
        schema:
          $ref: '#/definitions/MigrationSwitchInfo'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MigrationSwitchInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set the switch as current scope for migration
      tags:
      - System Administration, Lifecycle Management, Migration, User Inputs
      x-vmw-nsx-module: Migration
  /migration/vmgroup?action=post_migrate:
    post:
      consumes:
      - application/json
      description: |
        For each VM group, the following three high level steps are performed in sequence.
        1. Call pre VM group migrate API.
        2. Migrate (by vmotion,in place, etc.,) VMs in the VM group. This step will be done by user independent of MC.
        3. Call post VM group migrate API with the same VM group id used in the pre VM group migrate API.
        This API specifically deals with post VM group migrate API. When post VM group migrate API is invoked for a VM group
        id, MC performs following actions.
         - Add security tags on the VMs migrated. For the VMs mentioned in the failed VM instance uuids, this operation is
           skipped.
      operationId: PostVmGroupMigratePost_migrate
      parameters:
      - in: body
        name: PostVmGroupMigrationSpec
        required: true
        schema:
          $ref: '#/definitions/PostVmGroupMigrationSpec'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform steps required after migrating a VM group.
      tags:
      - System Administration, Lifecycle Management, Migration, Vmgroup
      x-vmw-nsx-module: Migration
  /migration/vmgroup?action=pre_migrate:
    post:
      consumes:
      - application/json
      description: |
        For each VM group, the following three high level steps are performed in sequence.
        1. Call pre VM group migrate API.
        2. Migrate (by vmotion,in place, etc.,) VMs in the VM group. This step will be done by user independent of MC.
        3. Call post VM group migrate API with the same VM group id used in the pre VM group migrate API.
        This API specifically deals with pre VM group migrate API. When pre VM group migrate API is invoked for a VM group
        id, MC performs following actions.
         - Checks segmentation realization state.
         - Creates segment ports.
         - Creates temporary security groups.
      operationId: PreVmGroupMigratePre_migrate
      parameters:
      - in: body
        name: PreVmGroupMigrationSpec
        required: true
        schema:
          $ref: '#/definitions/PreVmGroupMigrationSpec'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform steps required before migrating a VM group.
      tags:
      - System Administration, Lifecycle Management, Migration, Vmgroup
      x-vmw-nsx-module: Migration
  /migration?action=finalize_infra:
    post:
      consumes:
      - application/json
      description: |
        Perform steps that are required to finalize the infra such as remove the temporary security groups, remove other
        objects created temporarily for the migration.
      operationId: FinalizeInfraFinalize_infra
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Perform steps required to finalize the infra.
      tags:
      - System Administration, Lifecycle Management, Migration
      x-vmw-nsx-module: Migration
  /mirror-sessions:
    get:
      consumes:
      - application/json
      description: |-
        List all mirror sessions
      operationId: ListPortMirroringSession
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PortMirroringSessionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all mirror sessions
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
    post:
      consumes:
      - application/json
      description: |-
        Create a mirror session
      operationId: CreatePortMirroringSessions
      parameters:
      - in: body
        name: PortMirroringSession
        required: true
        schema:
          $ref: '#/definitions/PortMirroringSession'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PortMirroringSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a mirror session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
  /mirror-sessions/{mirror-session-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete the mirror session
      operationId: DeletePortMirroringSession
      parameters:
      - in: path
        name: mirror-session-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete the mirror session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
    get:
      consumes:
      - application/json
      description: |-
        Get the mirror session
      operationId: GetPortMirroringSession
      parameters:
      - in: path
        name: mirror-session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PortMirroringSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the mirror session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
    put:
      consumes:
      - application/json
      description: |-
        Update the mirror session
      operationId: UpdatePortMirroringSession
      parameters:
      - in: path
        name: mirror-session-id
        required: true
        type: string
      - in: body
        name: PortMirroringSession
        required: true
        schema:
          $ref: '#/definitions/PortMirroringSession'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PortMirroringSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the mirror session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
  /mirror-sessions/{mirror-session-id}/mirror-stack-status:
    get:
      consumes:
      - application/json
      description: |-
        Get the mirror stack status on given remote L3 mirror session
      operationId: GetMirrorStackStatus
      parameters:
      - in: path
        name: mirror-session-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MirrorStackStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the mirror stack status on given remote L3 mirror session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
  /mirror-sessions/{mirror-session-id}?action=verify:
    post:
      consumes:
      - application/json
      description: |-
        Verify whether all participants are on the same transport node
      operationId: VerifyPortMirroringSessionVerify
      parameters:
      - in: path
        name: mirror-session-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Verify whether the mirror session is still valid
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Port Mirroring
      x-vmw-nsx-module: PortMirroring
  /node:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the NSX appliance. Information includes
        release number, time zone, system time, kernel version, message of the day
        (motd), and host name.
      operationId: ReadNodeProperties
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: Node
    put:
      consumes:
      - application/json
      description: |
        Modifies NSX appliance properties. Modifiable properties include the
        timezone, message of the day (motd), and hostname. The NSX appliance
        node_version, system_time, and kernel_version are read only and cannot be
        modified with this method.
      operationId: UpdateNodeProperties
      parameters:
      - in: body
        name: NodeProperties
        required: true
        schema:
          $ref: '#/definitions/NodeProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update node properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: Node
  /node/aaa/auth-policy:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the currently configured authentication
        policies on the node.
      operationId: ReadAuthenticationPolicyProperties
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AuthenticationPolicyProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node authentication policy configuration
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Authentication
        Policy
      x-vmw-nsx-module: AuthenticationPolicyModule
    put:
      consumes:
      - application/json
      description: |
        Update the currently configured authentication policy on the node.
        If any of api_max_auth_failures, api_failed_auth_reset_period, or
        api_failed_auth_lockout_period are modified, the http service is
        automatically restarted.
      operationId: UpdateAuthenticationPolicyProperties
      parameters:
      - in: body
        name: AuthenticationPolicyProperties
        required: true
        schema:
          $ref: '#/definitions/AuthenticationPolicyProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AuthenticationPolicyProperties'
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/AuthenticationPolicyProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update node authentication policy configuration
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Authentication
        Policy
      x-vmw-nsx-module: AuthenticationPolicyModule
  /node/aaa/providers/vidm:
    get:
      consumes:
      - application/json
      description: |-
        Read AAA provider vIDM properties
      operationId: ReadAuthProviderVidm
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeAuthProviderVidmProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read AAA provider vIDM properties
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: NodeAuthProviderVidm
    put:
      consumes:
      - application/json
      description: |-
        Update AAA provider vIDM properties
      operationId: UpdateAuthProviderVidm
      parameters:
      - in: body
        name: NodeAuthProviderVidmProperties
        required: true
        schema:
          $ref: '#/definitions/NodeAuthProviderVidmProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeAuthProviderVidmProperties'
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/NodeAuthProviderVidmProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update AAA provider vIDM properties
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: NodeAuthProviderVidm
  /node/aaa/providers/vidm/status:
    get:
      consumes:
      - application/json
      description: |-
        Read AAA provider vIDM status
      operationId: ReadAuthProviderVidmStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeAuthProviderVidmStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read AAA provider vIDM status
      tags:
      - System Administration, Settings, User Management, Vidm Configuration
      x-vmw-nsx-module: NodeAuthProviderVidm
  /node/central-config:
    get:
      consumes:
      - application/json
      description: |-
        Read Central Config properties
      operationId: ReadCentralConfigProperties
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CentralConfigProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Central Config properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Configuration
      x-vmw-nsx-module: CentralConfig
    put:
      consumes:
      - application/json
      description: |-
        Update Central Config properties
      operationId: UpdateCentralConfigProperties
      parameters:
      - in: body
        name: CentralConfigProperties
        required: true
        schema:
          $ref: '#/definitions/CentralConfigProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CentralConfigProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update Central Config properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Configuration
      x-vmw-nsx-module: CentralConfig
  /node/core-dumps:
    get:
      consumes:
      - application/json
      description: |-
        List system core dumps
      operationId: ListCoreDumps
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FilePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List system core dumps
      tags:
      - System Administration, Monitoring, Logs, Core Dumps
      x-vmw-nsx-module: CoreDumpModule
  /node/core-dumps/{file-name}?action=copy_to_remote_file:
    post:
      consumes:
      - application/json
      description: |
        Copy system generated core dump file to a remote server. If you use scp or
        sftp, you must provide the remote server's SSH fingerprint. See the
        <i>NSX-T Administration Guide</i> for information and instructions
        about finding the SSH fingerprint.
      operationId: CopyCoreDumpToRemoteFileCopy_to_remote_file
      parameters:
      - description: |-
          Destination filename
        in: path
        name: file-name
        required: true
        type: string
      - in: body
        name: CopyToRemoteFileProperties
        required: true
        schema:
          $ref: '#/definitions/CopyToRemoteFileProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Copy system generated core dump file to a remote file store
      tags:
      - System Administration, Monitoring, Logs, Core Dumps
      x-vmw-nsx-module: CoreDumpModule
  /node/file-store:
    get:
      consumes:
      - application/json
      description: |-
        List node files
      operationId: ListFiles
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FilePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node files
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store/{file-name}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete file
      operationId: DeleteFile
      parameters:
      - description: |-
          Name of the file to delete
        in: path
        name: file-name
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete file
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
    get:
      consumes:
      - application/json
      description: |-
        Read file properties
      operationId: ReadFileProperties
      parameters:
      - description: |-
          Name of the file to retrieve information about
        in: path
        name: file-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FileProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read file properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
    post:
      consumes:
      - application/octet-stream
      description: |
        When you issue this API, the client must specify:
        - HTTP header Content-Type:application/octet-stream.
        - Request body with the contents of the file in the filestore.
        In the CLI, you can view the filestore with the <em>get files</em> command.
      operationId: CreateFile
      parameters:
      - description: |-
          Destination filename
        in: path
        name: file-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/FileProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upload a file to the file store
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store/{file-name}/data:
    get:
      consumes:
      - application/json
      description: |-
        Read file contents
      operationId: ReadFile
      parameters:
      - description: |-
          Name of the file to read
        in: path
        name: file-name
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read file contents
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
    put:
      consumes:
      - application/octet-stream
      description: |-
        Replace file contents
      operationId: UpdateFile
      parameters:
      - description: |-
          Name of the file to replace
        in: path
        name: file-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FileProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Replace file contents
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store/{file-name}/thumbprint:
    get:
      consumes:
      - application/json
      description: |-
        Read file thumbprint
      operationId: ReadFileThumbprint
      parameters:
      - description: |-
          Name of the file for which thumbprint should be computed
        in: path
        name: file-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/FileThumbprint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read file thumbprint
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store/{file-name}?action=copy_from_remote_file:
    post:
      consumes:
      - application/json
      description: |
        Copy a remote file to the file store. If you use scp or sftp,
        you must provide the remote server's SSH fingerprint. See the
        <i>NSX-T Administration Guide</i> for information and instructions
        about finding the SSH fingerprint.
      operationId: CopyFromRemoteFileCopy_from_remote_file
      parameters:
      - description: |-
          Destination filename
        in: path
        name: file-name
        required: true
        type: string
      - in: body
        name: CopyFromRemoteFileProperties
        required: true
        schema:
          $ref: '#/definitions/CopyFromRemoteFileProperties'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/FileProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Copy a remote file to the file store
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store/{file-name}?action=copy_to_remote_file:
    post:
      consumes:
      - application/json
      description: |
        Copy a file in the file store to a remote server. If you use scp or
        sftp, you must provide the remote server's SSH fingerprint. See the
        <i>NSX-T Administration Guide</i> for information and instructions
        about finding the SSH fingerprint.
      operationId: CopyToRemoteFileCopy_to_remote_file
      parameters:
      - description: |-
          Destination filename
        in: path
        name: file-name
        required: true
        type: string
      - in: body
        name: CopyToRemoteFileProperties
        required: true
        schema:
          $ref: '#/definitions/CopyToRemoteFileProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Copy file in the file store to a remote file store
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/file-store?action=create_remote_directory:
    post:
      consumes:
      - application/json
      description: |
        Create a directory on the remote remote server. Supports only SFTP.
        You must provide the remote server's SSH fingerprint. See the
        <i>NSX Administration Guide</i> for information and instructions
        about finding the SSH fingerprint.
      operationId: CreateRemoteDirectoryCreate_remote_directory
      parameters:
      - in: body
        name: CreateRemoteDirectoryProperties
        required: true
        schema:
          $ref: '#/definitions/CreateRemoteDirectoryProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Create directory in remote file server
      tags:
      - System Administration, Configuration, Fabric, Nodes, File Store
      x-vmw-nsx-module: FileStoreModule
  /node/hardening-policy/mandatory-access-control:
    get:
      consumes:
      - application/json
      description: |-
        Gets the enable status for Mandatory Access Control
      operationId: GetNodeMandatoryAccessControl
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MandatoryAccessControlProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Gets the enable status for Mandatory Access Control
      tags:
      - System Administration, Configuration, NSX Managers, Hardening, Mandatory Access
        Control
      x-vmw-nsx-module: NodeMandatoryAccessControlModule
    put:
      consumes:
      - application/json
      description: |-
        Enable or disable  Mandatory Access Control
      operationId: SetNodeMandatoryAccessControl
      parameters:
      - in: body
        name: MandatoryAccessControlProperties
        required: true
        schema:
          $ref: '#/definitions/MandatoryAccessControlProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MandatoryAccessControlProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Enable or disable  Mandatory Access Control
      tags:
      - System Administration, Configuration, NSX Managers, Hardening, Mandatory Access
        Control
      x-vmw-nsx-module: NodeMandatoryAccessControlModule
  /node/hardening-policy/mandatory-access-control/report:
    get:
      consumes:
      - application/json
      description: |-
        Get the report for Mandatory Access Control
      operationId: GetNodeMandatoryAccessControlReport
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the report for Mandatory Access Control
      tags:
      - System Administration, Configuration, NSX Managers, Hardening, Mandatory Access
        Control
      x-vmw-nsx-module: NodeMandatoryAccessControlModule
  /node/intelligence/form-factors:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all form factors available for intelligence nodes
      operationId: ListIntelligenceFormFactors
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IntelligenceFormFactors'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List available NSX Intelligence appliance form factors
      tags:
      - System Administration, Configuration, NSX Intelligence, Form Factors
      x-vmw-nsx-module: IntelligenceNodeFormFactors
  /node/logs:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of log files and lists the log files that reside on the
        NSX virtual appliance. The list includes the filename, file size,
        and last-modified time in milliseconds since epoch (1 January 1970) for each
        log file. Knowing the last-modified time with millisecond accuracy since
        epoch is helpful when you are comparing two times, such as the time of a
        POST request and the end time on a server.
      operationId: ListNodeLogs
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeLogPropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List available node logs
      tags:
      - System Administration, Configuration, Fabric, Nodes, Logs
      x-vmw-nsx-module: NodeLogs
  /node/logs/{log-name}:
    get:
      consumes:
      - application/json
      description: |
        For a single specified log file, lists the filename, file size, and
        last-modified time.
      operationId: ReadNodeLog
      parameters:
      - description: |-
          Name of log file to read properties
        in: path
        name: log-name
        required: true
        type: string
      produces:
      - application/json
      - application/octet-stream
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeLogProperties'
        '206':
          description: Partial Content
          schema:
            $ref: '#/definitions/NodeLogProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node log properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Logs
      x-vmw-nsx-module: NodeLogs
  /node/logs/{log-name}/data:
    get:
      consumes:
      - application/json
      description: |
        For a single specified log file, returns the content of the log file.
        This method supports byte-range requests. To request just a portion of a
        log file, supply an HTTP Range header, e.g. "Range: bytes=<start>-<end>".
        <end> is optional, and, if omitted, the file contents from start to the
        end of the file are returned.'
      operationId: ReadNodeLogData
      parameters:
      - description: |-
          Name of log to read
        in: path
        name: log-name
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '206':
          description: Partial Content
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node log contents
      tags:
      - System Administration, Configuration, Fabric, Nodes, Logs
      x-vmw-nsx-module: NodeLogs
  /node/management-plane:
    delete:
      consumes:
      - application/json
      description: |-
        Delete the management plane configuration for this node.
      operationId: DeleteManagementPlaneConfiguration
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete management plane configuration for this node
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Management Plane
      x-vmw-nsx-module: ManagementPlaneModule
    get:
      consumes:
      - application/json
      description: |-
        Retrieve the management plane configuration for this node to identify the Manager node with which the controller service is communicating.
      operationId: ReadManagementPlaneConfiguration
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManagementPlaneProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get management plane configuration for this node
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Management Plane
      x-vmw-nsx-module: ManagementPlaneModule
    put:
      consumes:
      - application/json
      description: |-
        Update the management plane configuration for this node.
      operationId: UpdateManagementPlaneConfiguration
      parameters:
      - in: body
        name: ManagementPlaneProperties
        required: true
        schema:
          $ref: '#/definitions/ManagementPlaneProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ManagementPlaneProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update management plane configuration for this node
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Management Plane
      x-vmw-nsx-module: ManagementPlaneModule
  /node/mode:
    get:
      consumes:
      - application/json
      description: |
        Returns current Node Mode.
      operationId: GetNodeMode
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeMode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        NodeMode
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Configuration
      x-vmw-nsx-module: ApplianceModes
  /node/mpa-config:
    delete:
      consumes:
      - application/json
      description: |-
        Delete the MPA configuration for this node.
      operationId: DeleteMPAConfiguration
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete MPA configuration for this node
      tags:
      - System Administration, Configuration, System Properties, Mpa Configuration
      x-vmw-nsx-module: MPAConfigModule
    get:
      consumes:
      - application/json
      description: |-
        Retrieve the MPA configuration for this node to identify the Manager nodes with which this node is communicating.
      operationId: ReadMPAConfiguration
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MPAConfigProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get MPA configuration for this node
      tags:
      - System Administration, Configuration, System Properties, Mpa Configuration
      x-vmw-nsx-module: MPAConfigModule
    put:
      consumes:
      - application/json
      description: |-
        Update the MPA configuration for this node.
      operationId: UpdateMPAConfiguration
      parameters:
      - in: body
        name: MPAConfigProperties
        required: true
        schema:
          $ref: '#/definitions/MPAConfigProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MPAConfigProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update MPA configuration for this node
      tags:
      - System Administration, Configuration, System Properties, Mpa Configuration
      x-vmw-nsx-module: MPAConfigModule
  /node/network:
    get:
      consumes:
      - application/json
      description: |-
        Read network configuration properties
      operationId: ReadNetworkProperties
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNetworkProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read network configuration properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces
      x-vmw-nsx-module: NodeNetworkModule
  /node/network/interfaces:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of interfaces on the node appliance and detailed
        information about each interface. Interface information includes MTU,
        broadcast and host IP addresses, link and admin status, MAC address, network
        mask, and the IP configuration method (static or DHCP).
      operationId: ListNodeInterfaces
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNetworkInterfacePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List the Node's Network Interfaces
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces
      x-vmw-nsx-module: NetworkInterfaceModule
  /node/network/interfaces/{interface-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about the specified interface. Interface
        information includes MTU, broadcast and host IP addresses, link and admin
        status, MAC address, network  mask, and the IP configuration method.
      operationId: ReadNodeInterface
      parameters:
      - description: |-
          ID of interface to read
        in: path
        name: interface-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNetworkInterfaceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Node's Network Interface
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces
      x-vmw-nsx-module: NetworkInterfaceModule
    put:
      consumes:
      - application/json
      description: |
        Updates the specified interface properties. You cannot change
        the properties <code>ip_configuration</code>,
        <code>ip_addresses</code>, or <code>plane</code>. NSX
        Manager must have a static IP address.
        You must use NSX CLI to configure a controller or an edge node.
      operationId: UpdateNodeInterface
      parameters:
      - description: |-
          ID of interface to update
        in: path
        name: interface-id
        required: true
        type: string
      - in: body
        name: NodeNetworkInterfaceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeNetworkInterfaceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNetworkInterfaceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Node's Network Interface
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces
      x-vmw-nsx-module: NetworkInterfaceModule
  /node/network/interfaces/{interface-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        On the specified interface, returns the number of received (rx), transmitted
        (tx), and dropped packets; the number of bytes and errors received and
        transmitted on the interface; and the number of detected collisions.
      operationId: ReadNetworkInterfaceStatistics
      parameters:
      - description: |-
          ID of interface to read
        in: path
        name: interface-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceStatisticsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Node's Network Interface Statistics
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces
      x-vmw-nsx-module: NetworkInterfaceModule
  /node/network/name-servers:
    get:
      consumes:
      - application/json
      description: |
        Returns the list of servers that the node uses to look up IP
        addresses associated with given domain names.
      operationId: ReadNodeNameServers
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNameServersProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Node's Name Servers
      tags:
      - System Administration, Configuration, Fabric, Nodes, DNS
      x-vmw-nsx-module: NodeNetworkDnsModule
    put:
      consumes:
      - application/json
      description: |
        Modifies the list of servers that the node uses to look up IP
        addresses associated with given domain names. If DHCP is configured, this
        method returns a 409 CONFLICT error, because DHCP manages the list of name
        servers.
      operationId: UpdateNodeNameServers
      parameters:
      - in: body
        name: NodeNameServersProperties
        required: true
        schema:
          $ref: '#/definitions/NodeNameServersProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNameServersProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Node's Name Servers
      tags:
      - System Administration, Configuration, Fabric, Nodes, DNS
      x-vmw-nsx-module: NodeNetworkDnsModule
  /node/network/routes:
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about each route in the node routing
        table. Route information includes the route type (default, static, and so
        on), a unique route identifier, the route metric, the protocol from which
        the route was learned, the route source (which is the preferred egress
        interface), the route destination, and the route scope. The route scope
        refers to the distance to the destination network: The "host" scope leads to
        a destination address on the node, such as a loopback address;
        the "link" scope leads to a destination on the local network; and the
        "global" scope leads to addresses that are more than one hop away.
      operationId: ListNodeNetworkRoutes
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeRoutePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node network routes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces, Routing
      x-vmw-nsx-module: NodeNetworkRoutesModule
    post:
      consumes:
      - application/json
      description: |
        Add a route to the node routing table. For static routes, the
        route_type, interface_id, netmask, and destination are required parameters.
        For default routes, the route_type, gateway address, and interface_id
        are required. For blackhole routes, the route_type and destination are
        required. All other parameters are optional. When you add a static route,
        the scope and route_id are created automatically. When you add a default or
        blackhole route, the route_id is created automatically. The route_id is
        read-only, meaning that it cannot be modified. All other properties can be
        modified by deleting and readding the route.
      operationId: CreateNodeNetworkRoute
      parameters:
      - in: body
        name: NodeRouteProperties
        required: true
        schema:
          $ref: '#/definitions/NodeRouteProperties'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NodeRouteProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create node network route
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces, Routing
      x-vmw-nsx-module: NodeNetworkRoutesModule
  /node/network/routes/{route-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a route from the node routing table. You can modify an
        existing route by deleting it and then posting the modified version of the
        route. To verify, remove the route ID from the URI, issue a GET request, and
        note the absense of the deleted route.
      operationId: DeleteNodeNetworkRoute
      parameters:
      - description: |-
          ID of route to delete
        in: path
        name: route-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete node network route
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces, Routing
      x-vmw-nsx-module: NodeNetworkRoutesModule
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about a specified route in the node
        routing table.
      operationId: ReadNodeNetworkRoute
      parameters:
      - description: |-
          ID of route to read
        in: path
        name: route-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeRouteProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node network route
      tags:
      - System Administration, Configuration, Fabric, Nodes, Network Interfaces, Routing
      x-vmw-nsx-module: NodeNetworkRoutesModule
  /node/network/search-domains:
    get:
      consumes:
      - application/json
      description: |
        Returns the domain list that the node uses to complete
        unqualified host names. When a host name does not include a fully
        qualified domain name (FQDN), the NSX Management node appends the
        first-listed domain name to the host name before the host name is looked
        up. The NSX Management node continues this for each entry in the domain
        list until it finds a match.
      operationId: ReadNodeSearchDomains
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSearchDomainsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Node's Search Domains
      tags:
      - System Administration, Configuration, Fabric, Nodes, DNS
      x-vmw-nsx-module: NodeNetworkDnsModule
    put:
      consumes:
      - application/json
      description: |
        Modifies the list of domain names that the node uses to complete
        unqualified host names. If DHCP is configured, this method returns
        a 409 CONFLICT error, because DHCP manages the list of name servers.
      operationId: UpdateNodeSearchDomains
      parameters:
      - in: body
        name: NodeSearchDomainsProperties
        required: true
        schema:
          $ref: '#/definitions/NodeSearchDomainsProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSearchDomainsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the Node's Search Domains
      tags:
      - System Administration, Configuration, Fabric, Nodes, DNS
      x-vmw-nsx-module: NodeNetworkDnsModule
  /node/processes:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of processes and information about each
        process. Process information includes 1) mem_resident, which is roughly
        equivalent to the amount of RAM, in bytes, currently used by the process,
        2) parent process ID (ppid), 3) process name, 4) process up time in milliseconds,
        5) mem_used, wich is the amount of virtual memory used by the process, in
        bytes, 6) process start time, in milliseconds since epoch, 7) process ID
        (pid), 8) CPU time, both user and the system, consumed by the process in
        milliseconds.
      operationId: ListNodeProcesses
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProcessPropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node processes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: NodeProcesses
  /node/processes/{process-id}:
    get:
      consumes:
      - application/json
      description: |-
        Returns information for a specified process ID (pid).
      operationId: ReadNodeProcess
      parameters:
      - description: |-
          ID of process to read
        in: path
        name: process-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProcessProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node process
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: NodeProcesses
  /node/rabbitmq-management-port:
    delete:
      consumes:
      - application/json
      description: |-
        Delete RabbitMQ management port
      operationId: DELETERabbitMQManagementPort
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete RabbitMQ management port
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Rabbitmq
        Configuration
      x-vmw-nsx-module: RabbitMQModule
    get:
      consumes:
      - application/json
      description: |-
        Returns status as true if RabbitMQ management port is enabled else false
      operationId: CheckRabbitMQManagementPort
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PortStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Check if RabbitMQ management port is enabled or not
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Rabbitmq
        Configuration
      x-vmw-nsx-module: RabbitMQModule
    post:
      consumes:
      - application/json
      description: |-
        Set RabbitMQ management port
      operationId: SetRabbitMQManagementPort
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set RabbitMQ management port
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Manager Rabbitmq
        Configuration
      x-vmw-nsx-module: RabbitMQModule
  /node/services:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of all services available on the node applicance.
      operationId: ListNodeServices
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServicePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node services
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services
      x-vmw-nsx-module: NodeServices
  /node/services/applianceproxy:
    get:
      consumes:
      - application/json
      description: |-
        Read the Appliance Proxy service properties
      operationId: ReadApplProxy
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Appliance Proxy service properties
      tags:
      - Management Plane API, NSX Component Administration, Appliance Management
      x-vmw-nsx-module: NodeApplProxy
  /node/services/applianceproxy/status:
    get:
      consumes:
      - application/json
      description: |-
        Read the Appliance Proxy service status
      operationId: ReadApplProxyStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Appliance Proxy service status
      tags:
      - Management Plane API, NSX Component Administration, Appliance Management
      x-vmw-nsx-module: NodeApplProxy
  /node/services/applianceproxy?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Appliance Proxy Service
      operationId: CreateApplProxyActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Appliance Proxy Service
      tags:
      - Management Plane API, NSX Component Administration, Appliance Management
      x-vmw-nsx-module: NodeApplProxy
  /node/services/applianceproxy?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Appliance Proxy Service
      operationId: CreateApplProxyActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Appliance Proxy Service
      tags:
      - Management Plane API, NSX Component Administration, Appliance Management
      x-vmw-nsx-module: NodeApplProxy
  /node/services/applianceproxy?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Appliance Proxy Service
      operationId: CreateApplProxyActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Appliance Proxy Service
      tags:
      - Management Plane API, NSX Component Administration, Appliance Management
      x-vmw-nsx-module: NodeApplProxy
  /node/services/async_replicator:
    get:
      consumes:
      - application/json
      description: |-
        Read the Async Replicator service properties
      operationId: ReadAsyncReplicatorService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeAsyncReplicatorServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Async Replicator service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Async
        Replicator Service
      x-vmw-nsx-module: NodeAsyncReplicatorService
    put:
      consumes:
      - application/json
      description: |-
        Update the async_replicator service properties
      operationId: UpdateAsyncReplicatorService
      parameters:
      - in: body
        name: NodeAsyncReplicatorServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeAsyncReplicatorServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeAsyncReplicatorServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the async_replicator service properties
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeAsyncReplicatorService
  /node/services/async_replicator/status:
    get:
      consumes:
      - application/json
      description: |-
        Read the Async Replicator service status
      operationId: ReadAsyncReplicatorServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the Async Replicator service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Async
        Replicator Service
      x-vmw-nsx-module: NodeAsyncReplicatorService
  /node/services/async_replicator?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Async Replicator service
      operationId: CreateAsyncReplicatorServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Async Replicator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Async
        Replicator Service
      x-vmw-nsx-module: NodeAsyncReplicatorService
  /node/services/async_replicator?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Async Replicator service
      operationId: CreateAsyncReplicatorServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Async Replicator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Async
        Replicator Service
      x-vmw-nsx-module: NodeAsyncReplicatorService
  /node/services/async_replicator?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Async Replicator service
      operationId: CreateAsyncReplicatorServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Async Replicator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Async
        Replicator Service
      x-vmw-nsx-module: NodeAsyncReplicatorService
  /node/services/cluster_manager:
    get:
      consumes:
      - application/json
      description: |-
        Read cluster boot manager service properties
      operationId: ReadClusterBootManagerService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster boot manager service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cluster
        Manager Service
      x-vmw-nsx-module: NodeClusterBootManagerService
  /node/services/cluster_manager/status:
    get:
      consumes:
      - application/json
      description: |-
        Read cluster boot manager service status
      operationId: ReadClusterBootManagerServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cluster boot manager service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cluster
        Manager Service
      x-vmw-nsx-module: NodeClusterBootManagerService
  /node/services/cluster_manager?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the cluster boot manager service
      operationId: CreateClusterBootManagerServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the cluster boot manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cluster
        Manager Service
      x-vmw-nsx-module: NodeClusterBootManagerService
  /node/services/cluster_manager?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the cluster boot manager service
      operationId: CreateClusterBootManagerServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the cluster boot manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cluster
        Manager Service
      x-vmw-nsx-module: NodeClusterBootManagerService
  /node/services/cluster_manager?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the cluster boot manager service
      operationId: CreateClusterBootManagerServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the cluster boot manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cluster
        Manager Service
      x-vmw-nsx-module: NodeClusterBootManagerService
  /node/services/cm-inventory:
    get:
      consumes:
      - application/json
      description: |-
        Read cm inventory service properties
      operationId: ReadCminventoryService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read cm inventory service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cm Inventory
        Service
      x-vmw-nsx-module: NodeCminventoryService
  /node/services/cm-inventory/status:
    get:
      consumes:
      - application/json
      description: |-
        Read manager service status
      operationId: ReadCminventoryServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read manager service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cm Inventory
        Service
      x-vmw-nsx-module: NodeCminventoryService
  /node/services/cm-inventory?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the manager service
      operationId: CreateCminventoryServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cm Inventory
        Service
      x-vmw-nsx-module: NodeCminventoryService
  /node/services/cm-inventory?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the manager service
      operationId: CreateCminventoryServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cm Inventory
        Service
      x-vmw-nsx-module: NodeCminventoryService
  /node/services/cm-inventory?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the manager service
      operationId: CreateCminventoryServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the manager service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Cm Inventory
        Service
      x-vmw-nsx-module: NodeCminventoryService
  /node/services/controller:
    get:
      consumes:
      - application/json
      description: |-
        Read controller service properties
      operationId: ReadControllerServerService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read controller service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: NodeControllerServerService
  /node/services/controller/controller-certificate:
    get:
      consumes:
      - application/json
      description: |-
        Read controller server certificate properties
      operationId: ReadControllerServerCertificate
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CertificateKeyPair'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read controller server certificate properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: ControllerServerCertificateModule
  /node/services/controller/profiler:
    get:
      consumes:
      - application/json
      description: |-
        Get the status (Enabled/Disabled) of controller profiler
      operationId: GetControllerProfilerStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ControllerProfilerProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status (Enabled/Disabled) of controller profiler
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: ControllerProfilerModule
    put:
      consumes:
      - application/json
      description: |-
        Enable or disable controller profiler
      operationId: SetControllerProfiler
      parameters:
      - in: body
        name: ControllerProfilerProperties
        required: true
        schema:
          $ref: '#/definitions/ControllerProfilerProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Enable or disable controller profiler
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: ControllerProfilerModule
  /node/services/controller/status:
    get:
      consumes:
      - application/json
      description: |-
        Read controller service status
      operationId: ReadControllerServerServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read controller service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: NodeControllerServerService
  /node/services/controller?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the controller service
      operationId: CreateControllerServerServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the controller service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: NodeControllerServerService
  /node/services/controller?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the controller service
      operationId: CreateControllerServerServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the controller service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: NodeControllerServerService
  /node/services/controller?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the controller service
      operationId: CreateControllerServerServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the controller service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Controller
        Service
      x-vmw-nsx-module: NodeControllerServerService
  /node/services/http:
    get:
      consumes:
      - application/json
      description: |
        This API is deprecated.  Read the configuration of the
        http service by calling the GET /api/v1/cluster/api-service API.
      operationId: ReadProxyService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeHttpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read http service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
    put:
      consumes:
      - application/json
      description: |
        This API is deprecated.  Make changes to the http service
        configuration by calling the PUT /api/v1/cluster/api-service API.
      operationId: UpdateProxyService
      parameters:
      - in: body
        name: NodeHttpServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeHttpServiceProperties'
      produces:
      - application/json
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/NodeHttpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update http service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/http/status:
    get:
      consumes:
      - application/json
      description: |-
        Read http service status
      operationId: ReadProxyServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read http service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/http?action=apply_certificate:
    post:
      consumes:
      - application/json
      description: |
        Applies a security certificate to the http service. In the POST request,
        the CERTIFICATE_ID references a certificate created with the
        /api/v1/trust-management APIs. If the certificate used is a CA signed
        certificate,the request fails if the whole chain(leaf, intermediate, root)
        is not imported.
      operationId: CreateProxyServiceApplyCertificateActionApply_certificate
      parameters:
      - description: Certificate ID
        in: query
        name: certificate_id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update http service certificate
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/http?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart the http service
      operationId: CreateProxyServiceActionRestart
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart the http service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/http?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Start the http service
      operationId: CreateProxyServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Start the http service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/http?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Stop the http service
      operationId: CreateProxyServiceActionStop
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Stop the http service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, HTTP
        Service
      x-vmw-nsx-module: NodeProxyService
  /node/services/idps-reporting:
    get:
      consumes:
      - application/json
      description: |-
        Read the idps-reporting service properties
      operationId: ReadIdpsReportingService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the idps-reporting service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Idps
        Reporting Service
      x-vmw-nsx-module: IdpsReportingService
  /node/services/idps-reporting/status:
    get:
      consumes:
      - application/json
      description: |-
        Read the idps-reporting service status
      operationId: ReadIdpsReportingServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the idps-reporting service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Idps
        Reporting Service
      x-vmw-nsx-module: IdpsReportingService
  /node/services/idps-reporting?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the idps-reporting service
      operationId: CreateIdpsReportingServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the idps-reporting service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Idps
        Reporting Service
      x-vmw-nsx-module: IdpsReportingService
  /node/services/idps-reporting?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the idps-reporting service
      operationId: CreateIdpsReportingServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the idps-reporting service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Idps
        Reporting Service
      x-vmw-nsx-module: IdpsReportingService
  /node/services/idps-reporting?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the idps-reporting service
      operationId: CreateIdpsReportingServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the idps-reporting service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Idps
        Reporting Service
      x-vmw-nsx-module: IdpsReportingService
  /node/services/install-upgrade:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX install-upgrade service properties
      operationId: ReadRepositoryService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInstallUpgradeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX install-upgrade service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
    put:
      consumes:
      - application/json
      description: |-
        Update NSX install-upgrade service properties
      operationId: UpdateRepositoryService
      parameters:
      - in: body
        name: NodeInstallUpgradeServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeInstallUpgradeServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInstallUpgradeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSX install-upgrade service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/install-upgrade/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX install-upgrade service status
      operationId: ReadRepositoryServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX install-upgrade service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/install-upgrade/uc-state:
    put:
      consumes:
      - application/json
      description: |-
        Update UC state properties
      operationId: UpdateUcState
      parameters:
      - in: body
        name: UcStateProperties
        required: true
        schema:
          $ref: '#/definitions/UcStateProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update UC state properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/install-upgrade?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX install-upgrade service
      operationId: CreateRepositoryServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX install-upgrade service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/install-upgrade?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX install-upgrade service
      operationId: CreateRepositoryServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX install-upgrade service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/install-upgrade?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX install-upgrade service
      operationId: CreateRepositoryServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX install-upgrade service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Install
        Upgrade Service
      x-vmw-nsx-module: NodeInstallUpgradeService
  /node/services/intelligence-upgrade-coordinator:
    get:
      consumes:
      - application/json
      description: |-
        Read intelligence upgrade coordinator service properties
      operationId: ReadIntelligenceUpgradeCoordinatorService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read intelligence upgrade coordinator service properties
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeIntelligenceUpgradeCoordinatorService
  /node/services/intelligence-upgrade-coordinator/status:
    get:
      consumes:
      - application/json
      description: |-
        Read intelligence upgrade coordinator service status
      operationId: ReadIntelligenceUpgradeCoordinatorServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read intelligence upgrade coordinator service status
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeIntelligenceUpgradeCoordinatorService
  /node/services/intelligence-upgrade-coordinator?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the intelligence upgrade coordinator service
      operationId: CreateIntelligenceUpgradeCoordinatorServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the intelligence upgrade coordinator service
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeIntelligenceUpgradeCoordinatorService
  /node/services/intelligence-upgrade-coordinator?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the intelligence upgrade coordinator service
      operationId: CreateIntelligenceUpgradeCoordinatorServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the intelligence upgrade coordinator service
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeIntelligenceUpgradeCoordinatorService
  /node/services/intelligence-upgrade-coordinator?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the intelligence upgrade coordinator service
      operationId: CreateIntelligenceUpgradeCoordinatorServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the intelligence upgrade coordinator service
      tags:
      - System Administration, Configuration, NSX Intelligence, Appliance Management
      x-vmw-nsx-module: NodeIntelligenceUpgradeCoordinatorService
  /node/services/liagent:
    get:
      consumes:
      - application/json
      description: |-
        Read liagent service properties
      operationId: ReadLiagentService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read liagent service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Log Insight
      x-vmw-nsx-module: NodeLiagentService
  /node/services/liagent/status:
    get:
      consumes:
      - application/json
      description: |-
        Read liagent service status
      operationId: ReadLiagentServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read liagent service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Log Insight
      x-vmw-nsx-module: NodeLiagentService
  /node/services/liagent?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the liagent service
      operationId: CreateLiagentServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the liagent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Log Insight
      x-vmw-nsx-module: NodeLiagentService
  /node/services/liagent?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the liagent service
      operationId: CreateLiagentServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the liagent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Log Insight
      x-vmw-nsx-module: NodeLiagentService
  /node/services/liagent?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the liagent service
      operationId: CreateLiagentServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the liagent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Log Insight
      x-vmw-nsx-module: NodeLiagentService
  /node/services/manager:
    get:
      consumes:
      - application/json
      description: |-
        Read service properties
      operationId: ReadProtonService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProtonServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
    put:
      consumes:
      - application/json
      description: |-
        Update service properties
      operationId: UpdateProtonService
      parameters:
      - in: body
        name: NodeProtonServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeProtonServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeProtonServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/manager/status:
    get:
      consumes:
      - application/json
      description: |-
        Read service status
      operationId: ReadProtonServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/manager?action=reset-manager-logging-levels:
    post:
      consumes:
      - application/json
      description: |-
        Reset the logging levels to default values
      operationId: ResetProtonServiceLoggingLevelActionReset-manager-logging-levels
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset the logging levels to default values
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/manager?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreateProtonServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/manager?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreateProtonServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/manager?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreateProtonServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Manager
        Service
      x-vmw-nsx-module: NodeProtonService
  /node/services/mgmt-plane-bus:
    get:
      consumes:
      - application/json
      description: |-
        Read Rabbit MQ service properties
      operationId: ReadRabbitMQService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Rabbit MQ service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Management
        Plane Bus Service
      x-vmw-nsx-module: NodeRabbitMQService
  /node/services/mgmt-plane-bus/status:
    get:
      consumes:
      - application/json
      description: |-
        Read Rabbit MQ service status
      operationId: ReadRabbitMQServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Rabbit MQ service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Management
        Plane Bus Service
      x-vmw-nsx-module: NodeRabbitMQService
  /node/services/mgmt-plane-bus?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Rabbit MQ service
      operationId: CreateRabbitMQServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Rabbit MQ service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Management
        Plane Bus Service
      x-vmw-nsx-module: NodeRabbitMQService
  /node/services/mgmt-plane-bus?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Rabbit MQ service
      operationId: CreateRabbitMQServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Rabbit MQ service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Management
        Plane Bus Service
      x-vmw-nsx-module: NodeRabbitMQService
  /node/services/mgmt-plane-bus?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the Rabbit MQ service
      operationId: CreateRabbitMQServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the Rabbit MQ service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Management
        Plane Bus Service
      x-vmw-nsx-module: NodeRabbitMQService
  /node/services/migration-coordinator:
    get:
      consumes:
      - application/json
      description: |-
        Read migration coordinator service properties
      operationId: ReadMigrationCoordinatorService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read migration coordinator service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Migration
        Coordinator Service
      x-vmw-nsx-module: NodeMigrationCoordinatorService
  /node/services/migration-coordinator/status:
    get:
      consumes:
      - application/json
      description: |-
        Read migration coordinator service status
      operationId: ReadMigrationCoordinatorServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read migration coordinator service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Migration
        Coordinator Service
      x-vmw-nsx-module: NodeMigrationCoordinatorService
  /node/services/migration-coordinator?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the migration coordinator service
      operationId: CreateMigrationCoordinatorServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the migration coordinator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Migration
        Coordinator Service
      x-vmw-nsx-module: NodeMigrationCoordinatorService
  /node/services/migration-coordinator?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the migration coordinator service
      operationId: CreateMigrationCoordinatorServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the migration coordinator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Migration
        Coordinator Service
      x-vmw-nsx-module: NodeMigrationCoordinatorService
  /node/services/migration-coordinator?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the migration coordinator service
      operationId: CreateMigrationCoordinatorServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the migration coordinator service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Migration
        Coordinator Service
      x-vmw-nsx-module: NodeMigrationCoordinatorService
  /node/services/node-mgmt:
    get:
      consumes:
      - application/json
      description: |-
        Read appliance management service properties
      operationId: ReadApplianceManagementService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read appliance management service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Node Management
      x-vmw-nsx-module: NodeApplianceManagementService
  /node/services/node-mgmt/status:
    get:
      consumes:
      - application/json
      description: |-
        Read appliance management service status
      operationId: ReadApplianceManagementServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read appliance management service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Node Management
      x-vmw-nsx-module: NodeApplianceManagementService
  /node/services/node-mgmt?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart the node management service
      operationId: CreateApplianceManagementServiceActionRestart
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart the node management service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Node Management
      x-vmw-nsx-module: NodeApplianceManagementService
  /node/services/node-stats:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX node-stats service properties
      operationId: ReadNodeStatsService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX node-stats service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Node
        Stats Service
      x-vmw-nsx-module: NodeNodeStatsService
  /node/services/node-stats/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX node-stats service status
      operationId: ReadNodeStatsServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX node-stats service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Node
        Stats Service
      x-vmw-nsx-module: NodeNodeStatsService
  /node/services/node-stats?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX node-stats service
      operationId: CreateNodeStatsServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX node-stats service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Node
        Stats Service
      x-vmw-nsx-module: NodeNodeStatsService
  /node/services/node-stats?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX node-stats service
      operationId: CreateNodeStatsServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX node-stats service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Node
        Stats Service
      x-vmw-nsx-module: NodeNodeStatsService
  /node/services/node-stats?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX node-stats service
      operationId: CreateNodeStatsServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX node-stats service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Node
        Stats Service
      x-vmw-nsx-module: NodeNodeStatsService
  /node/services/nsx-message-bus:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Message Bus service properties
      operationId: ReadNSXMessageBusService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Message Bus service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, NSX Message
        Service
      x-vmw-nsx-module: NodeNSXMessageBusService
  /node/services/nsx-message-bus/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Message Bus service status
      operationId: ReadNSXMessageBusServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Message Bus service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, NSX Message
        Service
      x-vmw-nsx-module: NodeNSXMessageBusService
  /node/services/nsx-message-bus?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Message Bus service
      operationId: CreateNSXMessageBusServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Message Bus service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, NSX Message
        Service
      x-vmw-nsx-module: NodeNSXMessageBusService
  /node/services/nsx-message-bus?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Message Bus service
      operationId: CreateNSXMessageBusServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Message Bus service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, NSX Message
        Service
      x-vmw-nsx-module: NodeNSXMessageBusService
  /node/services/nsx-message-bus?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Message Bus service
      operationId: CreateNSXMessageBusServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Message Bus service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, NSX Message
        Service
      x-vmw-nsx-module: NodeNSXMessageBusService
  /node/services/nsx-platform-client:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Platform Client service properties
      operationId: ReadPlatformClientService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Platform Client service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NSX Platform
        Client
      x-vmw-nsx-module: NodePlatformClientService
  /node/services/nsx-platform-client/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Platform Client service status
      operationId: ReadPlatformClientServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Platform Client service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NSX Platform
        Client
      x-vmw-nsx-module: NodePlatformClientService
  /node/services/nsx-platform-client?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Platform Client service
      operationId: CreatePlatformClientServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Platform Client service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NSX Platform
        Client
      x-vmw-nsx-module: NodePlatformClientService
  /node/services/nsx-platform-client?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Platform Client service
      operationId: CreatePlatformClientServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Platform Client service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NSX Platform
        Client
      x-vmw-nsx-module: NodePlatformClientService
  /node/services/nsx-platform-client?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Platform Client service
      operationId: CreatePlatformClientServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Platform Client service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NSX Platform
        Client
      x-vmw-nsx-module: NodePlatformClientService
  /node/services/nsx-upgrade-agent:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX upgrade Agent service properties
      operationId: ReadNsxUpgradeAgentService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX upgrade Agent service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Upgrade Agent
      x-vmw-nsx-module: NodeNsxUpgradeAgent
  /node/services/nsx-upgrade-agent/status:
    get:
      consumes:
      - application/json
      description: |-
        Read Nsx upgrade agent service status
      operationId: ReadNsxUpgradeAgentServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Nsx upgrade agent service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Upgrade Agent
      x-vmw-nsx-module: NodeNsxUpgradeAgent
  /node/services/nsx-upgrade-agent?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX upgrade agent service
      operationId: CreateNsxUpgradeAgentServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX upgrade agent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Upgrade Agent
      x-vmw-nsx-module: NodeNsxUpgradeAgent
  /node/services/nsx-upgrade-agent?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX upgrade agent service
      operationId: CreateNsxUpgradeAgentServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX upgrade agent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Upgrade Agent
      x-vmw-nsx-module: NodeNsxUpgradeAgent
  /node/services/nsx-upgrade-agent?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX upgrade agent service
      operationId: CreateNsxUpgradeAgentServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX upgrade agent service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Upgrade Agent
      x-vmw-nsx-module: NodeNsxUpgradeAgent
  /node/services/ntp:
    get:
      consumes:
      - application/json
      description: |-
        Read NTP service properties
      operationId: ReadNTPService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNtpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NTP service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
    put:
      consumes:
      - application/json
      description: |-
        Update NTP service properties
      operationId: UpdateNTPService
      parameters:
      - in: body
        name: NodeNtpServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeNtpServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeNtpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NTP service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
  /node/services/ntp/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NTP service status
      operationId: ReadNTPServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NTP service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
  /node/services/ntp?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NTP service
      operationId: CreateNTPServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NTP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
  /node/services/ntp?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NTP service
      operationId: CreateNTPServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NTP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
  /node/services/ntp?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NTP service
      operationId: CreateNTPServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NTP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, NTP
      x-vmw-nsx-module: NodeNTPService
  /node/services/policy:
    get:
      consumes:
      - application/json
      description: |-
        Read service properties
      operationId: ReadPolicyService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodePolicyServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
    put:
      consumes:
      - application/json
      description: |-
        Update service properties
      operationId: UpdatePolicyService
      parameters:
      - in: body
        name: NodePolicyServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodePolicyServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodePolicyServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/policy/status:
    get:
      consumes:
      - application/json
      description: |-
        Read service status
      operationId: ReadPolicyServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/policy?action=reset-manager-logging-levels:
    post:
      consumes:
      - application/json
      description: |-
        Reset the logging levels to default values
      operationId: ResetPolicyServiceLoggingLevelActionReset-manager-logging-levels
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset the logging levels to default values
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/policy?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreatePolicyServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/policy?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreatePolicyServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/policy?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the service
      operationId: CreatePolicyServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Policy
        Service
      x-vmw-nsx-module: NodePolicyService
  /node/services/search:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Search service properties
      operationId: ReadSearchService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Search service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Search
        Service
      x-vmw-nsx-module: NodeSearchService
  /node/services/search/status:
    get:
      consumes:
      - application/json
      description: |-
        Read NSX Search service status
      operationId: ReadSearchServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSX Search service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Search
        Service
      x-vmw-nsx-module: NodeSearchService
  /node/services/search?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Search service
      operationId: CreateSearchServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Search service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Search
        Service
      x-vmw-nsx-module: NodeSearchService
  /node/services/search?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Search service
      operationId: CreateSearchServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Search service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Search
        Service
      x-vmw-nsx-module: NodeSearchService
  /node/services/search?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the NSX Search service
      operationId: CreateSearchServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the NSX Search service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Search
        Service
      x-vmw-nsx-module: NodeSearchService
  /node/services/snmp:
    get:
      consumes:
      - application/json
      description: |-
        Read SNMP service properties.
      operationId: ReadSNMPService
      parameters:
      - default: false
        description: Show SNMP sensitive data or not
        in: query
        name: show_sensitive_data
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSnmpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read SNMP service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
    put:
      consumes:
      - application/json
      description: |-
        Update SNMP service properties.
      operationId: UpdateSNMPService
      parameters:
      - in: body
        name: NodeSnmpServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeSnmpServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSnmpServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update SNMP service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/snmp/status:
    get:
      consumes:
      - application/json
      description: |-
        Read SNMP service status
      operationId: ReadSNMPServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read SNMP service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/snmp/v3-engine-id:
    get:
      consumes:
      - application/json
      description: |-
        Read SNMP V3 Engine ID
      operationId: ReadSNMPV3EngineID
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSnmpV3EngineID'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read SNMP V3 Engine ID
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
    put:
      consumes:
      - application/json
      description: |-
        Update SNMP V3 Engine ID
      operationId: UpdateSNMPV3EngineID
      parameters:
      - in: body
        name: NodeSnmpV3EngineID
        required: true
        schema:
          $ref: '#/definitions/NodeSnmpV3EngineID'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSnmpV3EngineID'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update SNMP V3 Engine ID
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/snmp?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the SNMP service
      operationId: CreateSNMPServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the SNMP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/snmp?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the SNMP service
      operationId: CreateSNMPServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the SNMP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/snmp?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the SNMP service
      operationId: CreateSNMPServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the SNMP service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SNMP
      x-vmw-nsx-module: NodeSNMPService
  /node/services/ssh:
    get:
      consumes:
      - application/json
      description: |-
        Read ssh service properties
      operationId: ReadSSHService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSshServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read ssh service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
    put:
      consumes:
      - application/json
      description: |-
        Update ssh service properties. If the start_on_boot property is updated to true, existing ssh sessions if any are stopped and the ssh service is restarted.
      operationId: UpdateSSHService
      parameters:
      - in: body
        name: NodeSshServiceProperties
        required: true
        schema:
          $ref: '#/definitions/NodeSshServiceProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSshServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update ssh service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh/notify_mpa?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionNotifyMpaRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh/notify_mpa?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionNotifyMpaStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh/notify_mpa?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionNotifyMpaStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh/status:
    get:
      consumes:
      - application/json
      description: |-
        Read ssh service status
      operationId: ReadSSHServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read ssh service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh?action=remove_host_fingerprint:
    post:
      consumes:
      - application/json
      description: |-
        Remove a host's fingerprint from known hosts file
      operationId: CreateSSHServiceRemoveHostFingerprintActionRemove_host_fingerprint
      parameters:
      - in: body
        name: KnownHostParameter
        required: true
        schema:
          $ref: '#/definitions/KnownHostParameter'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove a host's fingerprint from known hosts file
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/ssh?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the ssh service
      operationId: CreateSSHServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the ssh service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, SSH
      x-vmw-nsx-module: NodeSSHService
  /node/services/syslog:
    get:
      consumes:
      - application/json
      description: |-
        Read syslog service properties
      operationId: ReadSyslogService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read syslog service properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogService
  /node/services/syslog/exporters:
    delete:
      consumes:
      - application/json
      description: |
        Removes all syslog exporter rules.
      operationId: DeleteNodeSyslogExporterAll
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete all node syslog exporters
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
    get:
      consumes:
      - application/json
      description: |
        Returns the collection of registered syslog exporter rules, if any. The
        rules specify the collector IP address and port, and the protocol to use.
      operationId: ListNodeSyslogExporters
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSyslogExporterPropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node syslog exporters
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
    post:
      consumes:
      - application/json
      description: |
        Adds a rule for exporting syslog information to a specified server. The
        required parameters are the rule name (exporter_name); severity level
        (emerg, alert, crit, and so on); transmission protocol (TCP or UDP); and
        server IP address or hostname. The optional parameters are the syslog port
        number, which can be 1 through 65,535 (514, by default); facility level to
        use when logging messages to syslog (kern, user, mail, and so on); and
        message IDs (msgids), which identify the types of messages to export.
      operationId: PostNodeSyslogExporter
      parameters:
      - in: body
        name: NodeSyslogExporterProperties
        required: true
        schema:
          $ref: '#/definitions/NodeSyslogExporterProperties'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NodeSyslogExporterProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add node syslog exporter
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
  /node/services/syslog/exporters/{exporter-name}:
    delete:
      consumes:
      - application/json
      description: |
        Removes a specified rule from the collection of syslog exporter rules.
      operationId: DeleteNodeSyslogExporter
      parameters:
      - description: |-
          Name of syslog exporter to delete
        in: path
        name: exporter-name
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete node syslog exporter
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specific syslog collection point.
      operationId: ReadNodeSyslogExporter
      parameters:
      - description: |-
          Name of syslog exporter
        in: path
        name: exporter-name
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSyslogExporterProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node syslog exporter
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
  /node/services/syslog/exporters?action=verify:
    post:
      consumes:
      - application/json
      description: |
        Collect iptables rules needed for all existing syslog exporters and verify
        if the existing iptables rules are the same. If not, remove the stale rules
        and add the new rules to make sure all exporters work properly.
      operationId: VerifyNodeSyslogExporterVerify
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Verify node syslog exporter
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogExporters
  /node/services/syslog/status:
    get:
      consumes:
      - application/json
      description: |-
        Read syslog service status
      operationId: ReadSyslogServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read syslog service status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogService
  /node/services/syslog?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the syslog service
      operationId: CreateSyslogServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the syslog service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogService
  /node/services/syslog?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the syslog service
      operationId: CreateSyslogServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the syslog service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogService
  /node/services/syslog?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop the syslog service
      operationId: CreateSyslogServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop the syslog service
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Syslog
      x-vmw-nsx-module: NodeSyslogService
  /node/services/telemetry:
    get:
      consumes:
      - application/json
      description: |-
        Read Telemetry service properties
      operationId: ReadPhonehomeCoordinatorService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Telemetry service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Telemetry
        Service
      x-vmw-nsx-module: NodePhonehomeCoordinatorService
  /node/services/telemetry/status:
    get:
      consumes:
      - application/json
      description: |-
        Read Telemetry service status
      operationId: ReadPhonehomeCoordinatorServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Telemetry service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Telemetry
        Service
      x-vmw-nsx-module: NodePhonehomeCoordinatorService
  /node/services/telemetry?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop Telemetry service
      operationId: CreatePhonehomeCoordinatorServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop Telemetry service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Telemetry
        Service
      x-vmw-nsx-module: NodePhonehomeCoordinatorService
  /node/services/telemetry?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop Telemetry service
      operationId: CreatePhonehomeCoordinatorServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop Telemetry service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Telemetry
        Service
      x-vmw-nsx-module: NodePhonehomeCoordinatorService
  /node/services/telemetry?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, start or stop Telemetry service
      operationId: CreatePhonehomeCoordinatorServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, start or stop Telemetry service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, Telemetry
        Service
      x-vmw-nsx-module: NodePhonehomeCoordinatorService
  /node/services/ui-service:
    get:
      consumes:
      - application/json
      description: |-
        Read ui service properties
      operationId: ReadNsxUiServiceService
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read ui service properties
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, User
        Interface Service
      x-vmw-nsx-module: NodeUiServiceService
  /node/services/ui-service/status:
    get:
      consumes:
      - application/json
      description: |-
        Read ui service status
      operationId: ReadNsxUiServiceServiceStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read ui service status
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, User
        Interface Service
      x-vmw-nsx-module: NodeUiServiceService
  /node/services/ui-service?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restart, Start and Stop the ui service
      operationId: CreateNsxUiServiceServiceActionRestart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, Start and Stop the ui service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, User
        Interface Service
      x-vmw-nsx-module: NodeUiServiceService
  /node/services/ui-service?action=start:
    post:
      consumes:
      - application/json
      description: |-
        Restart, Start and Stop the ui service
      operationId: CreateNsxUiServiceServiceActionStart
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, Start and Stop the ui service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, User
        Interface Service
      x-vmw-nsx-module: NodeUiServiceService
  /node/services/ui-service?action=stop:
    post:
      consumes:
      - application/json
      description: |-
        Restart, Start and Stop the ui service
      operationId: CreateNsxUiServiceServiceActionStop
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeServiceStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart, Start and Stop the ui service
      tags:
      - System Administration, Configuration, NSX Managers, Nodes, Services, User
        Interface Service
      x-vmw-nsx-module: NodeUiServiceService
  /node/status:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the node appliance's file system, CPU,
        memory, disk usage, and uptime.
      operationId: ReadApplianceNodeStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: NodeStatus
  /node/status?action=clear_bootup_error:
    post:
      consumes:
      - application/json
      description: |
        Clear node bootup status
      operationId: UpdateApplianceNodeStatusClear_bootup_error
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeStatusProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update node status
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: NodeStatus
  /node/support-bundle:
    get:
      consumes:
      - application/json
      description: |-
        Read node support bundle
      operationId: ReadNodeSupportBundle
      parameters:
      - default: false
        description: Include all files
        in: query
        name: all
        type: boolean
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node support bundle
      tags:
      - System Administration, Configuration, Fabric, Nodes, Support-Bundle
      x-vmw-nsx-module: NodeStatusReport
  /node/tasks:
    get:
      consumes:
      - application/json
      description: |-
        List appliance management tasks
      operationId: ListApplianceManagementTasks
      parameters:
      - description: Fields to include in query results
        in: query
        name: fields
        type: string
      - description: Request method(s) to include in query result
        in: query
        name: request_method
        pattern: /^(=|!=|~|!~)?.+$/
        type: string
      - description: Request URI path(s) to include in query result
        in: query
        name: request_path
        pattern: /^(=|!=|~|!~)?.+$/
        type: string
      - description: Request URI(s) to include in query result
        in: query
        name: request_uri
        pattern: /^(=|!=|~|!~)?.+$/
        type: string
      - description: Status(es) to include in query result
        in: query
        name: status
        pattern: /^(=|!=|~|!~)?.+$/
        type: string
      - description: Names of users to include in query result
        in: query
        name: user
        pattern: /^(=|!=|~|!~)?.+$/
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceManagementTaskListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List appliance management tasks
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Tasks
      x-vmw-nsx-module: ApplianceManagementTaskModule
  /node/tasks/{task-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete task
      operationId: DeleteApplianceManagementTask
      parameters:
      - description: |-
          ID of task to delete
        in: path
        name: task-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete task
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Tasks
      x-vmw-nsx-module: ApplianceManagementTaskModule
    get:
      consumes:
      - application/json
      description: |-
        Read task properties
      operationId: ReadApplianceManagementTaskProperties
      parameters:
      - description: |-
          ID of task to read
        in: path
        name: task-id
        required: true
        type: string
      - default: false
        description: Suppress redirect status if applicable
        in: query
        name: suppress_redirect
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceManagementTaskProperties'
        '303':
          description: See Other
          schema:
            $ref: '#/definitions/ApplianceManagementTaskProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read task properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Tasks
      x-vmw-nsx-module: ApplianceManagementTaskModule
  /node/tasks/{task-id}/response:
    get:
      consumes:
      - application/json
      description: |-
        Read asynchronous task response
      operationId: ReadAsyncApplianceManagementTaskResponse
      parameters:
      - description: |-
          ID of task to read
        in: path
        name: task-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '202':
          description: Accepted
        '204':
          description: No Content
        '303':
          description: See Other
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '409':
          description: Conflict
        '410':
          description: Gone
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '502':
          description: Bad Gateway
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read asynchronous task response
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Tasks
      x-vmw-nsx-module: ApplianceManagementTaskModule
  /node/tasks/{task-id}?action=cancel:
    post:
      consumes:
      - application/json
      description: |-
        Cancel specified task
      operationId: CancelApplianceManagementTaskCancel
      parameters:
      - description: |-
          ID of task to delete
        in: path
        name: task-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Cancel specified task
      tags:
      - System Administration, Configuration, Fabric, Nodes, Services, Tasks
      x-vmw-nsx-module: ApplianceManagementTaskModule
  /node/upgrade:
    get:
      consumes:
      - application/json
      description: |
        Get upgrade task status for the given task of the given bundle.
        Both bundle_name and task_id must be provided, otherwise you
        will receive a 404 NOT FOUND response.
      operationId: GetUpgradeTaskStatus
      parameters:
      - description: Bundle Name
        in: query
        name: bundle_name
        pattern: /^[a-zA-Z0-9-.]+$/
        type: string
      - description: Upgrade Task ID
        in: query
        name: upgrade_task_id
        pattern: /^[a-z0-9-]+$/
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeTaskProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade task status
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: UpgradeNodeActions
  /node/upgrade/performtask?action=[^/]+:
    post:
      consumes:
      - application/json
      description: |
        Execute upgrade task.
      operationId: ExecuteUpgradeTask[^/]+
      parameters:
      - in: body
        name: UpgradeTaskProperties
        required: true
        schema:
          $ref: '#/definitions/UpgradeTaskProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeTaskProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Execute upgrade task
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: UpgradeNodeActions
  /node/upgrade/progress-status:
    get:
      consumes:
      - application/json
      description: |
        Get progress status of last upgrade step, if upgrade bundle is present.
      operationId: GetUpgradeProgressStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeProgressStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade progress status
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: UpgradeNodeActions
  /node/upgrade/status-summary:
    get:
      consumes:
      - application/json
      description: |
        Get status summary of node upgrade, if upgrade bundle is present.
      operationId: GetNodeUpgradeStatusSummary
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeStatusSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade status summary
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: UpgradeNodeActions
  /node/users:
    get:
      consumes:
      - application/json
      description: |
        Returns the list of users configued to log in to the NSX appliance.
      operationId: ListNodeUsers
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeUserPropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List node users
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users/{userid}:
    get:
      consumes:
      - application/json
      description: |
        Returns information about a specified user who is configued to log in to the
        NSX appliance. The valid user IDs are: 0, 10000, 10002.
      operationId: ReadNodeUser
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeUserProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node user
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
    put:
      consumes:
      - application/json
      description: |
        Updates attributes of an existing NSX appliance user. This method
        cannot be used to add a new user. Modifiable attributes include the
        username, full name of the user, and password. If you specify a password in
        a PUT request, it is not returned in the response. Nor is it returned in a
        GET request.
        The specified password does not meet the following complexity requirements:
        - minimum 12 characters in length
        - minimum 1 uppercase character
        - minimum 1 lowercase character
        - minimum 1 numeric character
        - minimum 1 special character
        - minimum 5 unique characters
        - default password complexity rules as enforced by the Linux PAM module
        The valid user IDs are: 0, 10000, 10002.
        Note that invoking this API does not update any user-related properties of
        existing objects in the system and does not modify the username field in existing
        audit log entries.
      operationId: UpdateNodeUser
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      - in: body
        name: NodeUserProperties
        required: true
        schema:
          $ref: '#/definitions/NodeUserProperties'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeUserProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update node user
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users/{userid}/ssh-keys:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of all SSH keys from authorized_keys file for node user
      operationId: ListNodeUserSshKeys
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SshKeyPropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List SSH keys from authorized_keys file for node user
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users/{userid}/ssh-keys?action=add_ssh_key:
    post:
      consumes:
      - application/json
      description: |-
        Add SSH public key to authorized_keys file for node user
      operationId: AddNodeUserSshKeyAdd_ssh_key
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      - in: body
        name: SshKeyProperties
        required: true
        schema:
          $ref: '#/definitions/SshKeyProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add SSH public key to authorized_keys file for node user
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users/{userid}/ssh-keys?action=remove_ssh_key:
    post:
      consumes:
      - application/json
      description: |-
        Remove SSH public key from authorized_keys file for node user
      operationId: DeleteNodeUserSshKeyRemove_ssh_key
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      - in: body
        name: SshKeyBaseProperties
        required: true
        schema:
          $ref: '#/definitions/SshKeyBaseProperties'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove SSH public key from authorized_keys file for node user
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users/{userid}?action=reset_password:
    post:
      consumes:
      - application/json
      description: |
        Unlike the PUT version of this call (PUT /node/users/<userid>), this API
        does not require that the current password for the user be provided. The
        account of the target user must be "ACTIVE" for the call to succeed.
        This API only supports user ID 10002.
      operationId: ResetNodeUserPasswordReset_password
      parameters:
      - description: |-
          User id of the user
        in: path
        name: userid
        required: true
        type: string
      - in: body
        name: NodeUserPasswordProperty
        required: true
        schema:
          $ref: '#/definitions/NodeUserPasswordProperty'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset a user's password without requiring their current password
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/users?action=reset_own_password:
    post:
      consumes:
      - application/json
      description: |
        Enables a user to reset their own password.
      operationId: ResetNodeUserOwnPasswordReset_own_password
      parameters:
      - in: body
        name: NodeUserPasswordProperty
        required: true
        schema:
          $ref: '#/definitions/NodeUserPasswordProperty'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset a user's own password. Requires current password
      tags:
      - System Administration, Configuration, Fabric, Nodes, User Management, Users
      x-vmw-nsx-module: NodeUsers
  /node/version:
    get:
      consumes:
      - application/json
      description: |-
        Read node version
      operationId: ReadNodeVersion
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeVersion'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read node version
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: NodeVersion
  /node?action=restart:
    post:
      consumes:
      - application/json
      description: |-
        Restarts or shuts down the NSX appliance.
      operationId: RestartOrShutdownNodeRestart
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart or shutdown node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: Node
  /node?action=set_system_time:
    post:
      consumes:
      - application/json
      description: |
        Set the node system time to the given time in UTC in the RFC3339 format
        'yyyy-mm-ddThh:mm:ssZ'.
      operationId: SetNodeTimeSet_system_time
      parameters:
      - in: body
        name: NodeTime
        required: true
        schema:
          $ref: '#/definitions/NodeTime'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set the node system time
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: Node
  /node?action=shutdown:
    post:
      consumes:
      - application/json
      description: |-
        Restarts or shuts down the NSX appliance.
      operationId: RestartOrShutdownNodeShutdown
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart or shutdown node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Settings
      x-vmw-nsx-module: Node
  /normalizations:
    get:
      consumes:
      - application/json
      description: |
        Returns the list of normalized resources based on the query parameters.
        Id and Type of the resource on which the normalizations is to be performed,
        are to be specified as query parameters in the URI. The target resource
        types to which normalization is to be done should also be specified as
        query parameter.
      operationId: GetNormalizations
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Resource type valid for use as target in normalization API.
        enum:
        - NSGroup
        - IPSet
        - MACSet
        - LogicalSwitch
        - LogicalPort
        - DirectoryGroup
        in: query
        name: preferred_normalization_type
        required: true
        type: string
      - description: Identifier of the resource on which normalization is to be performed
        in: query
        name: resource_id
        required: true
        type: string
      - description: Resource type valid for use as source in normalization API.
        enum:
        - NSGroup
        in: query
        name: resource_type
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NormalizedResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get normalizations based on the query parameters
      tags:
      - Management Plane API, Normalization
      x-vmw-nsx-module: Normalization
  /notification-watchers:
    get:
      consumes:
      - application/json
      description: |-
        Returns a list of registered notification watchers.
      operationId: ListNotificationWatchers
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationWatcherListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns a list of registered notification watchers.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
    post:
      consumes:
      - application/json
      description: |-
        Add a new notification watcher.
      operationId: AddNotificationWatcher
      parameters:
      - in: body
        name: NotificationWatcher
        required: true
        schema:
          $ref: '#/definitions/NotificationWatcher'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NotificationWatcher'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a new notification watcher.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
  /notification-watchers/{watcher-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete notification watcher.
      operationId: DeleteNotificationWatcher
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing Notification-Watcher.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
    get:
      consumes:
      - application/json
      description: |-
        Returns notification watcher by watcher id.
      operationId: GetNotificationWatcher
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationWatcher'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns notification watcher by watcher id.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
    put:
      consumes:
      - application/json
      description: |-
        Update notification watcher.
      operationId: UpdateNotificationWatcher
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      - in: body
        name: NotificationWatcher
        required: true
        schema:
          $ref: '#/definitions/NotificationWatcher'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationWatcher'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update notification watcher.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
  /notification-watchers/{watcher-id}/notifications:
    get:
      consumes:
      - application/json
      description: |-
        Get notifications for the specified watcher ID.
      operationId: GetNotifications
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get notifications for the specified watcher ID.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
    put:
      consumes:
      - application/json
      description: |-
        Update notifications for the specified watcher ID.
      operationId: UpdateNotifications
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      - in: body
        name: NotificationsList
        required: true
        schema:
          $ref: '#/definitions/NotificationsList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update notifications for the specified watcher ID.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
  /notification-watchers/{watcher-id}/notifications?action=add_uri_filters:
    post:
      consumes:
      - application/json
      description: |-
        Add uri filters for the specified watcher ID.
      operationId: AddUriFiltersAdd_uri_filters
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      - in: body
        name: Notification
        required: true
        schema:
          $ref: '#/definitions/Notification'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add uri filters for the specified watcher ID.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
  /notification-watchers/{watcher-id}/notifications?action=delete_uri_filters:
    post:
      consumes:
      - application/json
      description: |-
        Delete uri filters for the specified watcher ID.
      operationId: DeleteUriFiltersDelete_uri_filters
      parameters:
      - in: path
        name: watcher-id
        required: true
        type: string
      - in: body
        name: Notification
        required: true
        schema:
          $ref: '#/definitions/Notification'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NotificationsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete uri filters for the specified watcher ID.
      tags:
      - System Administration, Monitoring, Notifications
      x-vmw-nsx-module: NfwConfig
  /ns-groups:
    get:
      consumes:
      - application/json
      description: |
        List the NSGroups in a paginated format. The page size is restricted
        to 50 NSGroups so that the size of the response remains small even
        in the worst case.
        Optionally, specify valid member types as request parameter to filter NSGroups.
      operationId: ListNSGroups
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: 'Specify member types to filter corresponding NSGroups

          '
        in: query
        name: member_types
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: false
        description: 'Populate metadata of resource referenced by NSGroupExpressions

          '
        in: query
        name: populate_references
        type: boolean
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSGroupListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List NSGroups
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
    post:
      consumes:
      - application/json
      description: |
        Creates a new NSGroup that can group NSX resources - VIFs, Lports
        and LSwitches as well as the grouping objects - IPSet, MACSet and other
        NSGroups.
        For NSGroups containing VM criteria(both static and dynamic), system VMs will
        not be included as members. This filter applies at VM level only.
        Exceptions are as follows:
        1. LogicalPorts and VNI of System VMs will be included in NSGroup if the criteria
         is based on LogicalPort, LogicalSwitch or VNI directly.
      operationId: CreateNSGroup
      parameters:
      - in: body
        name: NSGroup
        required: true
        schema:
          $ref: '#/definitions/NSGroup'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NSGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/unassociated-virtual-machines:
    get:
      consumes:
      - application/json
      description: |
        Get the list of all the virtual machines that are not a part of any existing NSGroup.
      operationId: GetUnassociatedVirtualMachines
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Display Name of the virtual machine
        in: query
        name: display_name
        required: false
        type: string
      - description: External id of the virtual machine
        in: query
        name: external_id
        required: false
        type: string
      - description: Id of the host where this vif is located
        in: query
        name: host_id
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UnassociatedVMListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the list of all the virtual machines that are not a part of any existing NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: GroupingObjectsProviders
  /ns-groups/{ns-group-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified NSGroup. By default, if the NSGroup is added to
        another NSGroup, it won't be deleted. In such situations, pass
        "force=true" as query param to force delete the NSGroup.
      operationId: DeleteNSGroup
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified NSGroup.
      operationId: ReadNSGroup
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - default: false
        description: 'Populate metadata of resource referenced by NSGroupExpressions

          '
        in: query
        name: populate_references
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
    post:
      consumes:
      - application/json
      description: |
        Add/remove the expressions passed in the request body to/from the NSGroup
      operationId: AddOrRemoveNSGroupExpression
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - in: body
        name: NSGroupExpressionList
        required: true
        schema:
          $ref: '#/definitions/NSGroupExpressionList'
      - description: Specifies addition or removal action
        enum:
        - ADD_MEMBERS
        - REMOVE_MEMBERS
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add NSGroup expression
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
    put:
      consumes:
      - application/json
      description: |
        Updates the specified NSGroup. Modifiable parameters include the
        description, display_name and members.
        For NSGroups containing VM criteria(both static and dynamic), system VMs will
        not be included as members. This filter applies at VM level only.
        Exceptions are as follows.
        1. LogicalPorts and VNI of system VMs will be included in NSGroup if the criteria
         is based on LogicalPort, LogicalSwitch or VNI directly.
      operationId: UpdateNSGroup
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - in: body
        name: NSGroup
        required: true
        schema:
          $ref: '#/definitions/NSGroup'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/consolidated-effective-ip-address-members:
    get:
      consumes:
      - application/json
      description: |
        Returns consolidated effective ip address members of the specified NSGroup.
        Applicable in case of federated environment. The response contains site-wise list of
        consolidated effective IP address members. In the response, for the local-site, the
        list will contain static and dynamicaly translated IPs. For the remote sites,
        the list will contain only the dynamically translated IPs. The static IPs will not be
        seen in the response of this API. Hence, user can refer to the local-site Ip response
        in the API results or the group definition to see the static IP membership of the Group.
        This API is applicable only for NSGroups containing either
        VirtualMachine, VIF, LogicalSwitch, LogicalPort or IPSet member type.
        For NSGroups containing other member types,it returns an empty list.
        Use the cursor value in the response to fetch the next page.
        If there is no cursor value for a response, it implies the last page in the results
        for the query.
      operationId: GetConsolidatedEffectiveIPAddressMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: IP address, range, or subnet
        format: address-or-block-or-range
        in: query
        name: ip_filter
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: 'UUID of the site from which the effective IP addresses are to
          be fetched

          '
        in: query
        name: site_id
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConsolidatedEffectiveIPAddressMemberListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get consolidated Effective IPAddress translated from the NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: GroupingObjectsProviders
  /ns-groups/{ns-group-id}/effective-cloud-native-service-instance-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective cloud native service instances of the specified NSGroup.
        This API is applicable only for NSGroups containing CloudNativeServiceInstance member type.
        For NSGroups containing other member types,it returns an empty list. target_id in response
        is external_id of CloudNativeServiceInstance
      operationId: GetEffectiveCloudNativeServiceInstances
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Cloud Native Service Instances of the specified NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-directory-group-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective directory groups which are members of the specified NSGroup.
        This API is applicable only for NSGroups containing DirectoryGroup member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveActiveDirectoryGroups
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Directory Groups of the specified NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-ip-address-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective ip address members of the specified NSGroup.
        This API is applicable only for NSGroups containing either
        VirtualMachine, VIF, LogicalSwitch, LogicalPort or IPSet member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveIPAddressMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveIPAddressMemberListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective IPAddress translated from the NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-ipset-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective IPSets which are members of the specified NSGroup.
        This API is applicable only for NSGroups containing IPSet member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveIPSetMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective IPSets of the specified NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-logical-port-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective logical port members of the specified NSGroup.
        This API is applicable only for NSGroups containing either VirtualMachines,
        LogicalSwitch or LogicalPort member types.For NSGroups containing other
        member types,it returns an empty list.
      operationId: GetEffectiveLogicalPortMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Logical Ports translated from the NSgroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-logical-switch-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective logical switch members of the specified NSGroup.
        This API is applicable for NSGroups containing LogicalSwitch members.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveLogicalSwitchMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective switch members translated from the NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-physical-server-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective physical server members of the specified NSGroup.
        This API is applicable only for NSGroups containing Physical Server member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectivePhysicalServerMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Physical Server Memebers of the specified NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-transport-node-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective transport node members of the specified NSGroup.
        This API is applicable only for NSGroups containing TransportNode member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveTransportNodeMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberResourceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get effective transport node members translated from the NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-vif-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective VIF members of the specified NSGroup.
        This API is applicable only for NSGroups containing either
        VirtualMachines or VIF member type. For NSGroups containing other
        member types,it returns an empty list.
      operationId: GetEffectiveVIFMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VirtualNetworkInterfaceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get effective VIF members translated from the NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/effective-virtual-machine-members:
    get:
      consumes:
      - application/json
      description: |
        Returns effective virtual machine members of the specified NSGroup.
        This API is applicable only for NSGroups containing VirtualMachine member type.
        For NSGroups containing other member types,it returns an empty list.
      operationId: GetEffectiveVirtualMachineMembers
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VirtualMachineListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Virtual Machine members of the specified NSGroup.
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{ns-group-id}/member-types:
    get:
      consumes:
      - application/json
      description: |
        Returns member types for a specified NSGroup including child NSGroups.
        This considers static members and members added via membership criteria only
      operationId: GetMemberTypes
      parameters:
      - description: |-
          NSGroup Id
        in: path
        name: ns-group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveMemberTypeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get member types from NSGroup
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSGroup
  /ns-groups/{nsgroup-id}/service-associations:
    get:
      consumes:
      - application/json
      description: |
        Returns information about services that are associated with the given NSGroup.
        The service name is passed by service_type parameter
      operationId: GetServiceAssociations
      parameters:
      - in: path
        name: nsgroup-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: 'Fetch complete list of associated resources considering

          nesting

          '
        in: query
        name: fetch_parentgroup_associations
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - enum:
        - firewall
        - ipfix
        in: query
        name: service_type
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceAssociationListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get services to which the given nsgroup belongs to
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: GroupingObjectsProviders
  /ns-profiles:
    get:
      consumes:
      - application/json
      description: |
        List the NSProfiles created in a paginated format.The page size is restricted
        to 50 NSProfiles, so that the size of the response remains small even
        when there are high number of NSProfiles with multiple attributes and
        multiple attribute values for each attribute.
      operationId: ListNSProfiles
      parameters:
      - description: Fetch NSProfiles for the given attribute type
        in: query
        name: attribute_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List NSProfiles
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
    post:
      consumes:
      - application/json
      description: |
        Creates a new NSProfile which allows users to encapsulate attribute and
        sub-attributes of network services.
        Rules for using attributes and sub-attributes in single NSProfile
        1. One type of attribute can't have multiple occurrences. ( Example -
         Attribute type APP_ID can be used only once per NSProfile.)
        2. Values for an attribute are mentioned as array of strings.
         ( Example - For type APP_ID , values can be mentioned as ["SSL","FTP"].)
        3. If sub-attribtes are mentioned for an attribute, then only single
         value is allowed for that attribute.
        4. To get a list of supported
         attributes and sub-attributes fire the following REST API
         GET https://&lt;nsx-mgr&gt;/api/v1/ns-profiles/attributes
      operationId: CreateNSProfile
      parameters:
      - in: body
        name: NSProfile
        required: true
        schema:
          $ref: '#/definitions/NSProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NSProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create NSProfile
      tags:
      - Management Plane API, Grouping Objects, NS Groups
      x-vmw-nsx-module: NSProfile
  /ns-profiles/attribute-types:
    get:
      consumes:
      - application/json
      description: |
        Returns supported attribute type strings for NSProfile.
      operationId: ListNSSupportedAttributesTypes
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSSupportedAttributeTypesResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List NSProfile supported attribute types
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
  /ns-profiles/attributes:
    get:
      consumes:
      - application/json
      description: |
        Returns supported attribute and sub-attributes for specified
        attribute type with their supported values, if provided in query/request
        parameter, else will fetch all supported attribute and sub-attributes for
        all supported attribute types.
      operationId: ListNSSupportedAttributes
      parameters:
      - description: Fetch attributes source
        enum:
        - SYSTEM
        - CUSTOM
        - ALL
        in: query
        name: attribute_source
        required: false
        type: string
      - description: Fetch attributes and sub-attributes for the given attribute type
        in: query
        name: attribute_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSSupportedAttributesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List NSProfile supported attribute and sub-attributes
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
  /ns-profiles/{ns-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified NSProfile. By default, if the NSProfile is
        consumed in a Firewall rule, it won't get deleted. In such
        situations, pass "force=true" as query param to force delete
        the NSProfile.
      operationId: DeleteNSProfile
      parameters:
      - description: |-
          NSProfile Id
        in: path
        name: ns-profile-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete NSProfile
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified NSProfile.
      operationId: ReadNSProfile
      parameters:
      - description: |-
          NSProfile Id
        in: path
        name: ns-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSProfile
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
    put:
      consumes:
      - application/json
      description: |
        Updates the specified NSProfile.
        Rules for using attributes and sub-attributes in single NSProfile
        1. One type of attribute can't have multiple occurrences. ( Example -
         Attribute type APP_ID can be used only once per NSProfile.)
        2. Values for an attribute are mentioned as array of strings.
         ( Example - For type APP_ID , values can be mentioned as ["SSL","FTP"].)
        3. If sub-attribtes are mentioned for an attribute, then only single
         value is allowed for that attribute.
        4. To get a list of supported
         attributes and sub-attributes fire the following REST API
         GET https://&lt;nsx-mgr&gt;/api/v1/ns-profiles/attributes
      operationId: UpdateNSProfile
      parameters:
      - description: |-
          NSProfile Id
        in: path
        name: ns-profile-id
        required: true
        type: string
      - in: body
        name: NSProfile
        required: true
        schema:
          $ref: '#/definitions/NSProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSProfile
      tags:
      - Management Plane API, Grouping Objects, NS Profiles
      x-vmw-nsx-module: NSProfile
  /ns-service-groups:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of NSServiceGroups
      operationId: ListNSServiceGroups
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Fetch all default NSServiceGroups
        in: query
        name: default_service
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSServiceGroupListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all NSServiceGroups
      tags:
      - Management Plane API, Grouping Objects, NS Service Groups
      x-vmw-nsx-module: NSServiceGroup
    post:
      consumes:
      - application/json
      description: |
        Creates a new NSServiceGroup which can contain NSServices.
        A given NSServiceGroup can contain either only ether type of NSServices
        or only non-ether type of NSServices, i.e. an NSServiceGroup cannot
        contain a mix of both ether and non-ether types of NSServices.
      operationId: CreateNSServiceGroup
      parameters:
      - in: body
        name: NSServiceGroup
        required: true
        schema:
          $ref: '#/definitions/NSServiceGroup'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NSServiceGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create NSServiceGroup
      tags:
      - Management Plane API, Grouping Objects, NS Services
      x-vmw-nsx-module: NSServiceGroup
  /ns-service-groups/{ns-service-group-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified NSServiceGroup. By default, if the NSServiceGroup is
        consumed in a Firewall rule, it won't get deleted. In such situations, pass
        "force=true" as query param to force delete the NSServiceGroup.
      operationId: DeleteNSServiceGroup
      parameters:
      - description: |-
          NSServiceGroup Id
        in: path
        name: ns-service-group-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete NSServiceGroup
      tags:
      - Management Plane API, Grouping Objects, NS Service Groups
      x-vmw-nsx-module: NSServiceGroup
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified NSServiceGroup
      operationId: ReadNSServiceGroup
      parameters:
      - description: |-
          NSServiceGroup Id
        in: path
        name: ns-service-group-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSServiceGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSServiceGroup
      tags:
      - Management Plane API, Grouping Objects, NS Service Groups
      x-vmw-nsx-module: NSServiceGroup
    put:
      consumes:
      - application/json
      description: |
        Updates the specified NSService. Modifiable parameters include the description,
        display_name and members.
      operationId: UpdateNSServiceGroup
      parameters:
      - description: |-
          NSServiceGroup Id
        in: path
        name: ns-service-group-id
        required: true
        type: string
      - in: body
        name: NSServiceGroup
        required: true
        schema:
          $ref: '#/definitions/NSServiceGroup'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSServiceGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSServiceGroup
      tags:
      - Management Plane API, Grouping Objects, NS Service Groups
      x-vmw-nsx-module: NSServiceGroup
  /ns-services:
    get:
      consumes:
      - application/json
      description: |
        Returns paginated list of NSServices
      operationId: ListNSServices
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Fetch all default NSServices
        in: query
        name: default_service
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all NSServices
      tags:
      - Management Plane API, Grouping Objects, NS Services
      x-vmw-nsx-module: NSService
    post:
      consumes:
      - application/json
      description: |
        Creates a new NSService which allows users to specify characteristics to use
        for matching network traffic.
      operationId: CreateNSService
      parameters:
      - in: body
        name: NSService
        required: true
        schema:
          $ref: '#/definitions/NSService'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/NSService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create NSService
      tags:
      - Management Plane API, Grouping Objects, Nsgroup Consumption Span
      x-vmw-nsx-module: NSService
  /ns-services/{ns-service-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified NSService. By default, if the NSService is being
        referred in an NSServiceGroup, it can't be deleted. In such situations,
        pass "force=true" as a parameter to force delete the NSService. System
        defined NSServices can't be deleted using "force" flag.
      operationId: DeleteNSService
      parameters:
      - description: |-
          NSService Id
        in: path
        name: ns-service-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete NSService
      tags:
      - Management Plane API, Grouping Objects, NS Services
      x-vmw-nsx-module: NSService
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified NSService
      operationId: ReadNSService
      parameters:
      - description: |-
          NSService Id
        in: path
        name: ns-service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read NSService
      tags:
      - Management Plane API, Grouping Objects, NS Services
      x-vmw-nsx-module: NSService
    put:
      consumes:
      - application/json
      description: |
        Updates the specified NSService. Modifiable parameters include the description,
        display_name and the NSService element. The system defined NSServices can't be
        modified
      operationId: UpdateNSService
      parameters:
      - description: |-
          NSService Id
        in: path
        name: ns-service-id
        required: true
        type: string
      - in: body
        name: NSService
        required: true
        schema:
          $ref: '#/definitions/NSService'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NSService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update NSService
      tags:
      - Management Plane API, Grouping Objects, NS Services
      x-vmw-nsx-module: NSService
  /nvds-urt/precheck:
    get:
      consumes:
      - application/json
      description: |-
        Retrieve latest precheck ID of the N-VDS to VDS migration
      operationId: GetNvdsUpgradePrecheckId
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NvdsUpgradePrecheckId'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retrieve latest precheck ID of the N-VDS to VDS migration
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
    post:
      consumes:
      - application/json
      description: |-
        Start precheck for N-VDS to VDS migration
      operationId: CreateNvdsUpgradePrecheck
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NvdsUpgradePrecheckId'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Start precheck for N-VDS to VDS migration
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /nvds-urt/status-summary/{precheck-id}:
    get:
      consumes:
      - application/json
      description: |-
        Get summary of N-VDS to VDS migration
      operationId: GetNvdsUpgradeReadinessCheckSummary
      parameters:
      - in: path
        name: precheck-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NvdsUpgradeStatusSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get summary of N-VDS to VDS migration
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /nvds-urt/topology/{precheck-id}:
    get:
      consumes:
      - application/json
      description: |-
        Recommmended topology
      operationId: GetRecommendedVdsTopology
      parameters:
      - in: path
        name: precheck-id
        required: true
        type: string
      - description: vCenter identifier
        in: query
        name: compute_manager_id
        required: false
        type: string
      - description: Flag to indicate if VdsTopology should contain VDS configuration
        in: query
        name: show_vds_config
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeTopology'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Recommmended topology
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /nvds-urt/topology?action=apply:
    post:
      consumes:
      - application/json
      description: |-
        Set VDS configuration and create it in vCenter
      operationId: SetTargetVdsTopologyApply
      parameters:
      - in: body
        name: UpgradeTopology
        required: true
        schema:
          $ref: '#/definitions/UpgradeTopology'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeTopology'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set VDS configuration and create it in vCenter
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /nvds-urt?action=cleanup:
    post:
      consumes:
      - application/json
      description: |-
        Clean up all nvds upgrade related configurations
      operationId: NvdsUpgradeCleanup
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Clean up all nvds upgrade related configurations
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /nvds-urt?action=ignore_migrate_status:
    post:
      consumes:
      - application/json
      description: |-
        Set the migrate status key of ExtraConfigProfile of all Transport Nodes to IGNORE
      operationId: IgnoreMigrateStatusIgnore_migrate_status
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set the migrate status key of ExtraConfigProfile of all Transport Nodes to IGNORE
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  /pbr/sections:
    get:
      consumes:
      - application/json
      description: |
        List all PBR section in paginated form. A default page size is limited
        to 1000 PBR sections.
      operationId: ListPBRSections
      parameters:
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: exclude_applied_to_type
        required: false
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: include_applied_to_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All PBR Sections
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    post:
      consumes:
      - application/json
      description: |
        Creates new empty PBR section in the system.
      operationId: AddPBRSection
      parameters:
      - in: body
        name: PBRSection
        required: true
        schema:
          $ref: '#/definitions/PBRSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PBRSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a New Empty Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes PBR section from the system. PBR section with
        rules can only be deleted by passing "cascade=true" parameter.
      operationId: DeletePBRSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - default: false
        description: Flag to cascade delete of this object to all it's child objects.
        in: query
        name: cascade
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Section and Its Associated Rules
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    get:
      consumes:
      - application/json
      description: |
        Returns information about PBR section for the identifier.
      operationId: GetPBRSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified section, but does not modify the section's associated rules.
      operationId: UpdatePBRSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRSection
        required: true
        schema:
          $ref: '#/definitions/PBRSection'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}/rules:
    get:
      consumes:
      - application/json
      description: |
        Return all PBR rule(s) information for a given PBR section.
      operationId: GetPBRRules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRuleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get All the Rules for a Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    post:
      consumes:
      - application/json
      description: |
        Adds a new PBR rule in existing PBR section.
      operationId: AddPBRRuleInSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRRule
        required: true
        schema:
          $ref: '#/definitions/PBRRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRule'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a Single Rule in a Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}/rules/stats:
    get:
      consumes:
      - application/json
      description: |
        Get aggregated statistics for all rules for a given pbr section.
        Data includes total number of packets, and total number of bytes for all
        PBR rules in the given section.
      operationId: GetPBRSectionStats
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRStatsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get PBR section level statistics.
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBRStatsRule
  /pbr/sections/{section-id}/rules/{rule-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete existing PBR rule in a PBR section.
      operationId: DeletePBRRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Rule
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    get:
      consumes:
      - application/json
      description: |
        Return existing PBR rule information in a PBR section.
      operationId: GetPBRRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read an Existing Rule
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
    put:
      consumes:
      - application/json
      description: |
        Modifies existing rule in a PBR section.
      operationId: UpdatePBRRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: PBRRule
        required: true
        schema:
          $ref: '#/definitions/PBRRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}/rules/{rule-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        Get aggregated statistics for a rule for given PBR rule.
        Stats include total number of packets and total number of bytes for the
        PBR rule.
      operationId: GetPBRRuleStats
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRStats'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get PBR rule level statistics.
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBRStatsRule
  /pbr/sections/{section-id}/rules/{rule-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing PBR rule along with relative position among
        other PBR rules inside a PBR section.
      operationId: RevisePBRRuleRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: PBRRule
        required: true
        schema:
          $ref: '#/definitions/PBRRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule and Reorder the Rule
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}/rules?action=create_multiple:
    post:
      consumes:
      - application/json
      description: |
        Create multiple PBR rules in existing PBR section bounded by
        limit of 1000 PBR rules per section.
      operationId: AddPBRRulesInSectionCreate_multiple
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRRuleList
        required: true
        schema:
          $ref: '#/definitions/PBRRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRRuleList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Multiple Rules in a Section
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}?action=list_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Returns PBR section information with rules for a section identifier.
        When invoked on a section with a large number of rules, this API is supported
        only at low rates of invocation (not more than 4-5 times per minute). The
        typical latency of this API with about 1024 rules is about 4-5 seconds. This
        API should not be invoked with large payloads at automation speeds. More than
        50 rules with a large number rule references is not supported.

        Instead, to read PBR rules, use:
        GET /api/v1/pbr/sections/&lt;section-id&gt;/rules with the appropriate
        page_size.
      operationId: GetPBRSectionWithRulesList_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section, Including Rules
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing PBR section along with its relative position
        among other PBR sections in the system.
      operationId: RevisePBRSectionRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRSection
        required: true
        schema:
          $ref: '#/definitions/PBRSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, including Its Position
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}?action=revise_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing PBR section along with its relative position
        among other PBR sections with rules. When invoked on a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 2 times per minute). The typical latency of this API with about 1024
        rules is about 15 seconds in a cluster setup. This API should not be
        invoked with large payloads at automation speeds.

        Instead, to move a section above or below another section, use:
        POST /api/v1/pbr/sections/&lt;section-id&gt;?action=revise

        To modify rules, use:
        PUT /api/v1/pbr/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;
      operationId: RevisePBRSectionWithRulesRevise_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/PBRSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section with Rules
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections/{section-id}?action=update_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing PBR section along with its association with rules.
        When invoked on a large number of rules, this API is supported only at low
        rates of invocation (not more than 2 times per minute). The typical latency
        of this API with about 1024 rules is about 15 seconds in a cluster setup.
        This API should not be invoked with large payloads at automation speeds.

        Instead, to update rule content, use:
        PUT /api/v1/pbr/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;
      operationId: UpdatePBRSectionWithRulesUpdate_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: PBRSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/PBRSectionRuleList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PBRSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, Including Its Rules
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pbr/sections?action=create_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Creates a new PBR section with rules. The limit on the number of
        rules is defined by maxItems in collection types for PBRRule
        (PBRRuleXXXList types). When invoked on a section with a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 4-5 times per minute). The typical latency of this API with about 1024
        rules is about 4-5 seconds. This API should not be invoked with large
        payloads at automation speeds. More than 50 rules with a large number of
        rule references is not supported.

        Instead, to create sections, use:
        POST /api/v1/pbr/sections

        To create rules, use:
        POST /api/v1/pbr/sections/&lt;section-id&gt;/rules
      operationId: AddPBRSectionWithRulesCreate_with_rules
      parameters:
      - in: body
        name: PBRSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/PBRSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PBRSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Section with Rules
      tags:
      - Management Plane API, Networking, Services, Policy Based Routing
      x-vmw-nsx-module: PBR
  /pktcap/session:
    post:
      consumes:
      - application/json
      description: |
        Create an new packet capture session on given node with specified options
      operationId: CreatePacketCaptureSession
      parameters:
      - in: body
        name: PacketCaptureRequest
        required: true
        schema:
          $ref: '#/definitions/PacketCaptureRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create an new packet capture session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/session/{session-id}:
    get:
      consumes:
      - application/json
      description: |
        Get the packet capture status information by session id.
      operationId: ReadPacketCaptureSession
      parameters:
      - description: |-
          Packet capture session id
        in: path
        name: session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the status of packet capture session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/session/{session-id}/capturefile:
    get:
      consumes:
      - application/json
      description: |
        You must provide the request header
        "Accept:application/octet-stream" when calling this API.
        The capture file can only be found in MP which receives the capture request.
      operationId: GetCaptureFile
      parameters:
      - description: |-
          Packet capture session id
        in: path
        name: session-id
        required: true
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get packet capture file
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/session/{session-id}?action=delete:
    post:
      consumes:
      - application/json
      description: |
        Before calling this method, terminate any running capture session.
      operationId: DeletePacketCaptureSessionDelete
      parameters:
      - description: |-
          Packet capture session id
        in: path
        name: session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete the packet capture session by session id.
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/session/{session-id}?action=restart:
    post:
      consumes:
      - application/json
      description: |
        Restart the packet capture session
      operationId: RestartPacketCaptureSessionRestart
      parameters:
      - description: |-
          Packet capture session id
        in: path
        name: session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart the packet capture session
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/session/{session-id}?action=terminate:
    post:
      consumes:
      - application/json
      description: |
        Terminate the packet capture session by session id.
      operationId: TerminatePacketCaptureSessionTerminate
      parameters:
      - description: |-
          Packet capture session id
        in: path
        name: session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Terminate the packet capture session by session id
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/sessions:
    get:
      consumes:
      - application/json
      description: |
        Get the information of all packet capture sessions.
      operationId: ListPacketCaptureSessions
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSessionList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the information of all packet capture sessions
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pktcap/sessions?action=delete:
    post:
      consumes:
      - application/json
      description: |
        Delete all the packet capture sessions.
      operationId: DeleteAllCaptureSessionsDelete
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PacketCaptureSessionList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete all the packet capture sessions
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Packet Capture
      x-vmw-nsx-module: PacketCapture
  /pools/ip-blocks:
    get:
      consumes:
      - application/json
      description: |
        Returns information about configured IP address blocks. Information includes
        the id, display name, description & CIDR of IP address blocks
      operationId: ListIpBlocks
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpBlockListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns list of configured IP address blocks.
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    post:
      consumes:
      - application/json
      description: |
        Creates a new IPv4 address block using the specified cidr. cidr is a required
        parameter. display_name & description are optional parameters
      operationId: CreateIpBlock
      parameters:
      - in: body
        name: IpBlock
        required: true
        schema:
          $ref: '#/definitions/IpBlock'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpBlock'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new IP address block.
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
  /pools/ip-blocks/{block-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the IP address block with specified id if it exists. IP
        block cannot be deleted if there are allocated subnets from the block.
      operationId: DeleteIpBlock
      parameters:
      - description: |-
          IP address block id
        in: path
        name: block-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an IP Address Block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    get:
      consumes:
      - application/json
      description: |
        Returns information about the IP address block with specified id.
        Information includes id, display_name, description & cidr.
      operationId: ReadIpBlock
      parameters:
      - description: |-
          IP address block id
        in: path
        name: block-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpBlock'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IP address block information.
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    put:
      consumes:
      - application/json
      description: |
        Modifies the IP address block with specifed id. display_name, description
        and cidr are parameters that can be modified. If a new cidr is specified,
        it should contain all existing subnets in the IP block. Returns a conflict error
        if the IP address block cidr can not be modified due to the presence of
        subnets that it contains. Eg: If the IP block contains a subnet 192.168.0.1/24
        and we try to change the IP block cidr to 10.1.0.1/16, it results in a conflict.
      operationId: UpdateIpBlock
      parameters:
      - description: |-
          IP address block id
        in: path
        name: block-id
        required: true
        type: string
      - in: body
        name: IpBlock
        required: true
        schema:
          $ref: '#/definitions/IpBlock'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpBlock'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an IP Address Block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
  /pools/ip-pools:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the configured IP address pools. Information
        includes the display name and description of the pool and the details of
        each of the subnets in the pool, including the DNS servers, allocation
        ranges, gateway, and CIDR subnet address.
      operationId: ListIpPools
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IP Pools
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
    post:
      consumes:
      - application/json
      description: |
        Creates a new IPv4 or IPv6 address pool. Required parameters are
        allocation_ranges and cidr. Optional parameters are display_name,
        description, dns_nameservers, dns_suffix, and gateway_ip.
      operationId: CreateIpPool
      parameters:
      - in: body
        name: IpPool
        required: true
        schema:
          $ref: '#/definitions/IpPool'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create an IP Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
  /pools/ip-pools/{pool-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified IP address pool. By default, if the IpPool is used in other configurations (such as transport node template), it won't be deleted. In such situations, pass "force=true" as query param to force delete the IpPool
      operationId: DeleteIpPool
      parameters:
      - description: |-
          IP pool ID
        in: path
        name: pool-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an IP Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified IP address pool.
      operationId: ReadIpPool
      parameters:
      - description: |-
          IP pool ID
        in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read IP Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
    post:
      consumes:
      - application/json
      description: |
        Allocates or releases an IP address from the specified IP pool. To allocate
        an address, include ?action=ALLOCATE in the request and "allocation_id":null
        in the request body. When the request is successful, the response is
        "allocation_id": "<ip-address>", where <ip-address> is an IP address from
        the specified pool. To release an IP address (return it back to the pool),
        include ?action=RELEASE in the request and "allocation_id":<ip-address> in
        the request body, where <ip-address> is the address to be released. When the
        request is successful, the response is NULL. Tags, display_name and description
        attributes are not supported for AllocationIpAddress in this release.
      operationId: AllocateOrReleaseFromIpPool
      parameters:
      - description: |-
          IP pool ID
        in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: AllocationIpAddress
        required: true
        schema:
          $ref: '#/definitions/AllocationIpAddress'
      - description: Specifies allocate or release action
        enum:
        - ALLOCATE
        - RELEASE
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AllocationIpAddress'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Allocate or Release an IP Address from a Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified IP address pool. Modifiable parameters include the
        description, display_name, and all subnet information.
      operationId: UpdateIpPool
      parameters:
      - description: |-
          IP pool ID
        in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: IpPool
        required: true
        schema:
          $ref: '#/definitions/IpPool'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an IP Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
  /pools/ip-pools/{pool-id}/allocations:
    get:
      consumes:
      - application/json
      description: |
        Returns information about which addresses have been allocated from a
        specified IP address pool.
      operationId: ListIpPoolAllocations
      parameters:
      - description: |-
          IP pool ID
        in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AllocationIpAddressListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IP Pool Allocations
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Pools
      x-vmw-nsx-module: Ipam
  /pools/ip-subnets:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all subnets present within an IP address
        block. Information includes subnet's id, display_name, description, cidr and
        allocation ranges.
      operationId: ListIpBlockSubnets
      parameters:
      - in: query
        name: block_id
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpBlockSubnetListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List subnets within an IP block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    post:
      consumes:
      - application/json
      description: |
        Carves out a subnet of requested size from the specified IP block. The "size"
        parameter  and the "block_id " are the requireds field while invoking this API.
        If the IP block has sufficient resources/space to allocate a subnet of specified size,
        the response will contain all the details of the newly created subnet including the
        display_name, description, cidr & allocation_ranges. Returns a conflict error
        if the IP block does not have enough resources/space to allocate a subnet of
        the requested size.
      operationId: CreateIpBlockSubnet
      parameters:
      - in: body
        name: IpBlockSubnet
        required: true
        schema:
          $ref: '#/definitions/IpBlockSubnet'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IpBlockSubnet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create subnet of specified size within an IP block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
  /pools/ip-subnets/{subnet-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes a subnet with specified id within a given IP address block.
        Deletion is allowed only when there are no allocated IP addresses
        from that subnet.
      operationId: DeleteIpBlockSubnet
      parameters:
      - description: |-
          Subnet id
        in: path
        name: subnet-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete subnet within an IP block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    get:
      consumes:
      - application/json
      description: |
        Returns information about the subnet with specified id within a given
        IP address block. Information includes display_name, description, cidr and
        allocation_ranges.
      operationId: ReadIpBlockSubnet
      parameters:
      - description: |-
          Subnet id
        in: path
        name: subnet-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IpBlockSubnet'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the subnet within an IP block
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
    post:
      consumes:
      - application/json
      description: |
        Allocates or releases an IP address from the specified IP subnet. To allocate
        an address, include ?action=ALLOCATE in the request and a "{}"
        in the request body. When the request is successful, the response is
        "allocation_id": "<ip-address>", where <ip-address> is an IP address from
        the specified pool. To release an IP address (return it back to the pool),
        include ?action=RELEASE in the request and "allocation_id":<ip-address> in
        the request body, where <ip-address> is the address to be released. When the
        request is successful, the response is NULL.
      operationId: AllocateOrReleaseFromIpBlockSubnet
      parameters:
      - description: |-
          IP subnet id
        in: path
        name: subnet-id
        required: true
        type: string
      - in: body
        name: AllocationIpAddress
        required: true
        schema:
          $ref: '#/definitions/AllocationIpAddress'
      - description: Specifies allocate or release action
        enum:
        - ALLOCATE
        - RELEASE
        in: query
        name: action
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AllocationIpAddress'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Allocate or Release an IP Address from a Ip Subnet
      tags:
      - System Administration, Configuration, Fabric, Pool Management, IP Blocks
      x-vmw-nsx-module: Ipam
  /pools/mac-pools:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of all the MAC pools
      operationId: ListMacPools
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MacPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List MAC Pools
      tags:
      - System Administration, Configuration, Fabric, Pool Management, MAC Pools
      x-vmw-nsx-module: MACAM
  /pools/mac-pools/{pool-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified MAC pool.
      operationId: ReadMacPool
      parameters:
      - description: |-
          MAC pool ID
        in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MacPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read MAC Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, MAC Pools
      x-vmw-nsx-module: MACAM
  /pools/vni-pools:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the default and configured virtual
        network identifier (VNI) pools for use when building logical network
        segments. Each virtual network has a unique ID called a VNI. Instead
        of creating a new VNI each time you need a new logical switch, you
        can instead allocate a VNI from a VNI pool. VNI pools are sometimes
        called segment ID pools. Each VNI pool has a range of usable VNIs. By
        default, there is one pool with two ranges [5000, 65535] and [65536,
        75000]. To create multiple smaller pools, specify a smaller range for
        each pool such as 75001-75100 and 75101-75200. The VNI range determines
        the maximum number of logical switches that can be created in each
        network segment.
      operationId: ListVNIPools
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VniPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List VNI Pools
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VNI Pools
      x-vmw-nsx-module: Vnim
    post:
      consumes:
      - application/json
      description: |
        Creates a new VNI pool using the specified VNI pool range. The range
        should be non-overlapping with an existing range. If the range in
        payload is present or overlaps with an existing range, return code 400
        with bad request and an error message is returned mentioning that the
        given range overlaps with an existing range.
      operationId: CreateVNIPool
      parameters:
      - in: body
        name: VniPool
        required: true
        schema:
          $ref: '#/definitions/VniPool'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/VniPool'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a new VNI Pool.
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VNI Pools
      x-vmw-nsx-module: Vnim
  /pools/vni-pools/{pool-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the given VNI pool.
      operationId: DeleteVNIPool
      parameters:
      - description: |-
          VNI pool id
        in: path
        name: pool-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a VNI Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VNI Pools
      x-vmw-nsx-module: Vnim
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified virtual network identifier (VNI) pool.
      operationId: ReadVNIPool
      parameters:
      - description: |-
          VNI pool ID
        in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VniPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read VNI Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VNI Pools
      x-vmw-nsx-module: Vnim
    put:
      consumes:
      - application/json
      description: |
        Updates the specified VNI pool. Modifiable parameters include description, display_name and ranges.
        Ranges can be added, modified or deleted. Overlapping ranges are not allowed.
        Only range end can be modified for any existing range.
        Range shrinking or deletion is not allowed if there are any allocated VNIs.
      operationId: UpdateVNIPool
      parameters:
      - description: |-
          VNI pool ID
        in: path
        name: pool-id
        required: true
        type: string
      - in: body
        name: VniPool
        required: true
        schema:
          $ref: '#/definitions/VniPool'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VniPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a VNI Pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VNI Pools
      x-vmw-nsx-module: Vnim
  /pools/vtep-label-pools:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of all virtual tunnel endpoint label pools
      operationId: ListVtepLabelPools
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VtepLabelPoolListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List virtual tunnel endpoint Label Pools
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VTEP Label
        Pools
      x-vmw-nsx-module: VtepLabel
  /pools/vtep-label-pools/{pool-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified virtual tunnel endpoint label pool.
      operationId: ReadVtepLabelPool
      parameters:
      - description: |-
          Virtual tunnel endpoint label pool ID
        in: path
        name: pool-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VtepLabelPool'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read a virtual tunnel endpoint label pool
      tags:
      - System Administration, Configuration, Fabric, Pool Management, VTEP Label
        Pools
      x-vmw-nsx-module: VtepLabel
  /proxy/config:
    get:
      consumes:
      - application/json
      description: |-
        Returns the proxy configuration.
      operationId: GetProxyConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Proxy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the proxy configuration
      tags:
      - System Administration, Settings, Proxy Settings
      x-vmw-nsx-module: ProxyConfig
    put:
      consumes:
      - application/json
      description: |
        Updates or creates the proxy configuration, and returns the new configuration.
      operationId: UpdateProxyConfig
      parameters:
      - in: body
        name: Proxy
        required: true
        schema:
          $ref: '#/definitions/Proxy'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Proxy'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates or updates the proxy configuration
      tags:
      - System Administration, Settings, Proxy Settings
      x-vmw-nsx-module: ProxyConfig
  /realization-state-barrier/config:
    get:
      consumes:
      - application/json
      description: |
        Returns the current barrier configuration
      operationId: GetRealizationStateBarrierConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RealizationStateBarrierConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Gets the realization state barrier configuration
      tags:
      - System Administration, Configuration, System Properties, Realization State
        Barrier
      x-vmw-nsx-module: RealizationStateBarrier
    put:
      consumes:
      - application/json
      description: |
        Updates the barrier configuration having interval set in milliseconds
        The new interval that automatically increments the global realization number
      operationId: UpdateRealizationStateBarrierConfig
      parameters:
      - in: body
        name: RealizationStateBarrierConfig
        required: true
        schema:
          $ref: '#/definitions/RealizationStateBarrierConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RealizationStateBarrierConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Updates the barrier configuration
      tags:
      - System Administration, Configuration, System Properties, Realization State
        Barrier
      x-vmw-nsx-module: RealizationStateBarrier
  /realization-state-barrier/current:
    get:
      consumes:
      - application/json
      description: |
        Returns the current global realization barrier number for NSX.
        This method has been deprecated. To track realization state, use
        X-NSX-REQUESTID request header instead.
      operationId: GetCurrentBarrier
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CurrentRealizationStateBarrier'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Gets the current barrier number
      tags:
      - System Administration, Configuration, System Properties, Realization State
        Barrier
      x-vmw-nsx-module: RealizationStateBarrier
  /realization-state-barrier/current?action=increment:
    post:
      consumes:
      - application/json
      description: |
        Increment the current barrier number by 1 for NSX.
        This method has been deprecated. To track realization state, use
        X-NSX-REQUESTID request header instead.
      operationId: IncrementRealizationStateBarrierIncrement
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/CurrentRealizationStateBarrier'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Increments the barrier count by 1
      tags:
      - System Administration, Configuration, System Properties, Realization State
        Barrier
      x-vmw-nsx-module: RealizationStateBarrier
  /repository/bundles:
    get:
      consumes:
      - application/json
      description: |
        Get list of bundle-ids which are available in repository or in-progress
      operationId: GetBundleIds
      parameters:
      - description: Type of file
        enum:
        - OVA
        in: query
        name: file_type
        required: true
        type: string
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BundleIds'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get list of bundle-ids which are available in repository or in-progress
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
    post:
      consumes:
      - application/json
      description: |
        Upload the bundle from remote bundle URL. The call returns after fetch is initiated.
        Check status by periodically retrieving bundle upload status
        using GET /repository/bundles/<bundle-id>/upload-status.
        The upload is complete when the status is SUCCESS.
      operationId: UploadBundleViaRemoteFile
      parameters:
      - in: body
        name: RemoteBundleUrl
        required: true
        schema:
          $ref: '#/definitions/RemoteBundleUrl'
      - description: Type of file
        enum:
        - OVA
        in: query
        name: file_type
        required: true
        type: string
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BundleId'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upload bundle using remote file
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /repository/bundles/ovf-deploy-info:
    get:
      consumes:
      - application/json
      description: |
        Get information of the OVF for specified product which is
        present in repository and will be used to deploy new VM.
      operationId: GetOvfDeployInfo
      parameters:
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OvfInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get information of the OVF which will be getting deployed.
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /repository/bundles/upload-allowed:
    get:
      consumes:
      - application/json
      description: |
        Checks whether bundle upload is allowed on given node for given product.
        There are different kinds of checks for different products. Some of the
        checks for Intelligence product are as follows:
        1. Is bundle upload-allowed on given node
        2. Is bundle upload already in-progress
        3. Is Intelliegnce node deployment in-progress
        4. Is Intelliegnce node upgrade in-progress
      operationId: GetBundleUploadPermissions
      parameters:
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BundleUploadPermission'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Checks bundle upload permissions
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /repository/bundles/{bundle-id}/upload-status:
    get:
      consumes:
      - application/json
      description: |-
        Get uploaded bundle upload status
      operationId: GetBundleUploadStatus
      parameters:
      - in: path
        name: bundle-id
        required: true
        type: string
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BundleUploadStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get bundle upload status
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /repository/bundles/{bundle-id}?action=cancel_upload:
    post:
      consumes:
      - application/json
      description: |
        Cancel upload of bundle. This API works only when bundle upload is
        in-progress and will not work during post-processing of bundle. If
        bundle upload is in-progress, then the API call returns http OK response
        after cancelling the upload and deleting partially uploaded bundle.
      operationId: CancelBundleUploadCancel_upload
      parameters:
      - in: path
        name: bundle-id
        required: true
        type: string
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Cancel bundle upload
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /repository/bundles?action=upload:
    post:
      consumes:
      - multipart/form-data
      description: |
        Upload the bundle. This call returns after upload is completed.
        You can check bundle processing status periodically by retrieving
        bundle upload-status to find out if the upload and processing is completed.
      operationId: UploadBundleViaLocalFileUpload
      parameters:
      - description: Local bundle
        in: formData
        name: file
        required: true
        type: file
      - description: Type of file
        enum:
        - OVA
        in: query
        name: file_type
        required: true
        type: string
      - description: Name of the product
        enum:
        - INTELLIGENCE
        in: query
        name: product
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BundleId'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upload bundle
      tags:
      - System Administration, Configuration, NSX Intelligence, Repository, Bundles
      x-vmw-nsx-module: FileUploadFramework
  /search/dsl:
    get:
      consumes:
      - application/json
      description: |-
        DSL (Domain Specific Language) search API
      operationId: DslSearch
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Search query
        in: query
        name: query
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SearchResponse'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        DSL (Domain Specific Language) search API
      tags:
      - Search, Search API
      x-vmw-nsx-module: Search
  /search/query:
    get:
      consumes:
      - application/json
      description: |-
        Full text search API
      operationId: QuerySearch
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Search query
        in: query
        name: query
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SearchResponse'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Full text search API
      tags:
      - Search, Search API
      x-vmw-nsx-module: Search
  /service-configs:
    get:
      consumes:
      - application/json
      description: |
        List of all service configs.
      operationId: ListServiceConfigs
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Fetch ServiceConfig for the given attribute profile_type
        in: query
        name: profile_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List service configs
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
    post:
      consumes:
      - application/json
      description: |
        Creates a new service config that can group profiles and configs
      operationId: CreateServiceConfig
      parameters:
      - in: body
        name: ServiceConfig
        required: true
        schema:
          $ref: '#/definitions/ServiceConfig'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create service config
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
  /service-configs/batch:
    post:
      consumes:
      - application/json
      description: |
        Creates/Updates new service configs sent in batch request.
        This API returns ALL the service configs that are created/updated.
      operationId: ServiceConfigBatchOperation
      parameters:
      - in: body
        name: ServiceConfigList
        required: true
        schema:
          $ref: '#/definitions/ServiceConfigList'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates/Updates service configs sent in batch request
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
  /service-configs/effective-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns the effective profiles applied to the specified Resource.
      operationId: EffectiveProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: The resource for which the effective profiles are to be fetched
        in: query
        name: resource_id
        required: true
        type: string
      - description: Valid Resource type in effective profiles API
        enum:
        - NSGroup
        - LogicalPort
        - VirtualMachine
        - TransportNode
        - LogicalRouter
        - LogicalSwitch
        in: query
        name: resource_type
        required: true
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EffectiveProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Effective Profiles for an Entity
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
  /service-configs/{config-set-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified service config
      operationId: DeleteServiceConfig
      parameters:
      - description: |-
          service Ccnfig Id
        in: path
        name: config-set-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete Service Config
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified Service Config.
      operationId: ReadServiceConfig
      parameters:
      - description: |-
          Service Config Id
        in: path
        name: config-set-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read Service Config
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
    put:
      consumes:
      - application/json
      description: |
        Updates the specified ServiceConfig.
      operationId: UpdateServiceConfig
      parameters:
      - description: |-
          service config Id
        in: path
        name: config-set-id
        required: true
        type: string
      - in: body
        name: ServiceConfig
        required: true
        schema:
          $ref: '#/definitions/ServiceConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update service config
      tags:
      - Management Plane API, Security, Service Configuration
      x-vmw-nsx-module: ServiceConfig
  /serviceinsertion/excludelist:
    get:
      consumes:
      - application/json
      description: |
        Note- GET serviceinsertion excludelist API is deprecated. Please use the
        policy serviceinsertion excludelist API instead.
      operationId: GetServiceInsertionExcludeList
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SIExcludeList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get list of members in exclude list
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionExcludeList
    put:
      consumes:
      - application/json
      description: |
        Modify exclude list. This includes adding/removing members in the list.
        Note- PUT serviceinsertion excludelist API is deprecated. Please use the
        policy serviceinsertion excludelist API instead.
      operationId: UpdateServiceInsertionExcludeList
      parameters:
      - in: body
        name: SIExcludeList
        required: true
        schema:
          $ref: '#/definitions/SIExcludeList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SIExcludeList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Modify exclude list
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionExcludeList
  /serviceinsertion/excludelist?action=add_member:
    post:
      consumes:
      - application/json
      description: |
        Note- POST serviceinsertion excludelist API is deprecated. Please use the
        policy serviceinsertion excludelist API instead.
      operationId: AddServiceInsertionExcludeListMemberAdd_member
      parameters:
      - in: body
        name: ResourceReference
        required: true
        schema:
          $ref: '#/definitions/ResourceReference'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ResourceReference'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a new member in the exclude list
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionExcludeList
  /serviceinsertion/excludelist?action=remove_member:
    post:
      consumes:
      - application/json
      description: |
        Note- POST serviceinsertion excludelist API is deprecated. Please use the
        policy serviceinsertion excludelist API instead.
      operationId: RemoveServiceInsertionExcludeListMemberRemove_member
      parameters:
      - description: Identifier of the object
        in: query
        maxLength: 64
        name: object_id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ResourceReference'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove an existing object from the exclude list
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionExcludeList
  /serviceinsertion/sections:
    get:
      consumes:
      - application/json
      description: |
        List all Service Insertion section in paginated form. A default page size is limited
        to 1000 sections. By default, the list of section is filtered by L3REDIRECT
        type.
        Note- GET service insertion sections API is deprecated. Please use the
        policy redirection-policy API.
      operationId: ListServiceInsertionSections
      parameters:
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: exclude_applied_to_type
        required: false
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Resource type valid for use as AppliedTo filter in section API
        enum:
        - NSGroup
        - LogicalSwitch
        - LogicalRouter
        - LogicalPort
        in: query
        name: include_applied_to_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      - default: L3REDIRECT
        description: Section Type
        enum:
        - L3REDIRECT
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List All Service Insertion Sections
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    post:
      consumes:
      - application/json
      description: |
        Creates new empty Service Insertion section in the system.
        Note- POST service insertion section API is deprecated. Please use the
        policy redirection-policy API.
      operationId: AddServiceInsertionSection
      parameters:
      - in: body
        name: ServiceInsertionSection
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceInsertionSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a New Empty Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes serviceinsertion section from the system. ServiceInsertion section with
        rules can only be deleted by passing "cascade=true" parameter.
        Note- DELETE service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: DeleteServiceInsertionSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - default: false
        description: Flag to cascade delete of this object to all it's child objects.
        in: query
        name: cascade
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Section and Its Associated Rules
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    get:
      consumes:
      - application/json
      description: |
        Returns information about serviceinsertion section for the identifier.
        Note- GET service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: GetServiceInsertionSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified section, but does not modify the section's associated rules.
        Note- PUT service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: UpdateServiceInsertionSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionSection
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSection'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}/rules:
    get:
      consumes:
      - application/json
      description: |
        Return all serviceinsertion rule(s) information for a given serviceinsertion section.
        Note- GET service insertion rules API is deprecated.
        Please use policy redirection-policy API.
      operationId: GetServiceInsertionRules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - description: AppliedTo's referenced by this section or section's Distributed
          Service Rules .
        in: query
        name: applied_tos
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Destinations referenced by this section's Distributed Service
          Rules .
        in: query
        name: destinations
        required: false
        type: string
      - default: FILTER
        description: Filter type
        enum:
        - FILTER
        - SEARCH
        in: query
        name: filter_type
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: NSService referenced by this section's Distributed Service Rules
          .
        in: query
        name: services
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Sources referenced by this section's Distributed Service Rules
          .
        in: query
        name: sources
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRuleListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get All the Rules for a Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    post:
      consumes:
      - application/json
      description: |
        Adds a new serviceinsertion rule in existing serviceinsertion section.
        Note- POST service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: AddServiceInsertionRuleInSection
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionRule
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRule'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a Single Rule in a Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}/rules/{rule-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete existing serviceinsertion rule in a serviceinsertion section.
        Note- DELETE service insertion rule API is deprecated.
        Please use policy redirection-policy API.
      operationId: DeleteServiceInsertionRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an Existing Rule
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    get:
      consumes:
      - application/json
      description: |
        Return existing serviceinsertion rule information in a serviceinsertion section.
        Note- GET service insertion rule API is deprecated.
        Please use policy redirection-policy API.
      operationId: GetServiceInsertionRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read an Existing Rule
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
    put:
      consumes:
      - application/json
      description: |
        Modifies existing serviceinsertion rule in a serviceinsertion section.
        Note- PUT service insertion rule API is deprecated.
        Please use policy redirection-policy API.
      operationId: UpdateServiceInsertionRule
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionRule
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionRule'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}/rules/{rule-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing serviceinsertion rule along with relative position among
        other serviceinsertion rules inside a serviceinsertion section.
        Note- POST service insertion rule API is deprecated.
        Please use policy redirection-policy API.
      operationId: ReviseServiceInsertionRuleRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: path
        name: rule-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionRule
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionRule'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRule'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Rule and Reorder the Rule
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}/rules?action=create_multiple:
    post:
      consumes:
      - application/json
      description: |
        Create multiple serviceinsertion rules in existing serviceinsertion section bounded by
        limit of 1000 serviceinsertion rules per section.
        Note- POST service insertion rules API is deprecated.
        Please use policy redirection-policy API.
      operationId: AddServiceInsertionRulesInSectionCreate_multiple
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionRuleList
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionRuleList'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Multiple Rules in a Section
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}?action=list_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Returns serviceinsertion section information with rules for a section identifier.
        When invoked on a section with a large number of rules, this API is supported
        only at low rates of invocation (not more than 4-5 times per minute). The
        typical latency of this API with about 1024 rules is about 4-5 seconds. This
        API should not be invoked with large payloads at automation speeds. More than
        50 rules are not supported.

        Instead, to read serviceinsertion rules, use:
        GET /api/v1/serviceinsertion/sections/&lt;section-id&gt;/rules with the appropriate
        page_size.
        Note- GET service insertion section with rules API is deprecated.
        Please use policy redirection-policy API.
      operationId: GetServiceInsertionSectionWithRulesList_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an Existing Section, Including Rules
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}?action=revise:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing serviceinsertion section along with its relative position
        among other serviceinsertion sections in the system.
        Note- POST service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: ReviseServiceInsertionSectionRevise
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionSection
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSection'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, Including Its Position
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}?action=revise_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies an existing serviceinsertion section along with its relative position
        among other serviceinsertion sections with rules. When invoked on a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 2 times per minute). The typical latency of this API with about 1024
        rules is about 15 seconds in a cluster setup. This API should not be
        invoked with large payloads at automation speeds.

        Instead, to move a section above or below another section, use:
        POST /api/v1/serviceinsertion/sections/&lt;section-id&gt;?action=revise

        To modify rules, use:
        PUT /api/v1/serviceinsertion/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;
        Note- POST service insertion section API is deprecated.
        Please use policy redirection-policy API.
      operationId: ReviseServiceInsertionSectionWithRulesRevise_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section with Rules
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections/{section-id}?action=update_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Modifies existing serviceinsertion section along with its association with rules.
        When invoked on a large number of rules, this API is supported only at low
        rates of invocation (not more than 2 times per minute). The typical latency
        of this API with about 1024 rules is about 15 seconds in a cluster setup.
        This API should not be invoked with large payloads at automation speeds.

        Instead, to update rule content, use:
        PUT /api/v1/serviceinsertion/sections/&lt;section-id&gt;/rules/&lt;rule-id&gt;
        Note- POST service insertion section with rules API is deprecated.
        Please use policy redirection-policy API.
      operationId: UpdateServiceInsertionSectionWithRulesUpdate_with_rules
      parameters:
      - in: path
        name: section-id
        required: true
        type: string
      - in: body
        name: ServiceInsertionSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSectionRuleList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an Existing Section, Including Its Rules
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/sections?action=create_with_rules:
    post:
      consumes:
      - application/json
      description: |
        Creates a new serviceinsertion section with rules. The limit on the number of
        rules is defined by maxItems in collection types for ServiceInsertionRule
        (ServiceInsertionRuleXXXList types). When invoked on a section with a large number
        of rules, this API is supported only at low rates of invocation (not more
        than 4-5 times per minute). The typical latency of this API with about 1024
        rules is about 4-5 seconds. This API should not be invoked with large
        payloads at automation speeds. More than 50 rules are not supported.

        Instead, to create sections, use:
        POST /api/v1/serviceinsertion/sections

        To create rules, use:
        POST /api/v1/serviceinsertion/sections/&lt;section-id&gt;/rules
        Note- POST service insertion section creation with rules API is deprecated.
        Please use policy redirection-policy API.
      operationId: AddServiceInsertionSectionWithRulesCreate_with_rules
      parameters:
      - in: body
        name: ServiceInsertionSectionRuleList
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionSectionRuleList'
      - description: Identifier of the anchor rule or section. This is a required
          field in case operation like 'insert_before' and 'insert_after'.
        in: query
        maxLength: 64
        name: id
        required: false
        type: string
      - default: insert_top
        description: Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        in: query
        name: operation
        required: false
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceInsertionSectionRuleList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Section with Rules
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionRules
  /serviceinsertion/service-attachments:
    get:
      consumes:
      - application/json
      description: |
        Returns all Service-Attachement(s) present in the system.
      operationId: ListServiceAttachments
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceAttachmentListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all service attachments.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new Service attachment. A service attachment represents a point
        on NSX entity (Example: Logical Router) to which service instance can be
        connected through an InstanceEndpoint.
      operationId: AddServiceAttachment
      parameters:
      - in: body
        name: ServiceAttachment
        required: true
        schema:
          $ref: '#/definitions/ServiceAttachment'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceAttachment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a Service Attachment.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-attachments/{service-attachment-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete existing service attachment from system.
        Before deletion, please make sure that, no instance endpoints are connected
        to this attachment. In turn no appliance should be connected to this attachment.
      operationId: DeleteServiceAttachment
      parameters:
      - in: path
        name: service-attachment-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing service attachment
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns detailed Attachment information for a given service attachment.
      operationId: GetServiceAttachment
      parameters:
      - in: path
        name: service-attachment-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceAttachment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular service attachment.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    put:
      consumes:
      - application/json
      description: |
        Modifies an existing service attachment. Updates to
        name, description and Logical Router list only supported.
      operationId: UpdateServiceAttachment
      parameters:
      - in: path
        name: service-attachment-id
        required: true
        type: string
      - in: body
        name: ServiceAttachment
        required: true
        schema:
          $ref: '#/definitions/ServiceAttachment'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceAttachment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing service attachment.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-chains:
    get:
      consumes:
      - application/json
      description: |
        List all service chains in the system.
      operationId: ListServiceChains
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceChainListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all ServiceChains.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new service chain. Service Chains is can contain profile belonging
        to same or different Service(s). It represents a redirection target for a Rule.
      operationId: AddServiceChain
      parameters:
      - in: body
        name: ServiceChain
        required: true
        schema:
          $ref: '#/definitions/ServiceChain'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceChain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Service Chain
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-chains/{service-chain-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a particular service chain.
      operationId: DeleteServiceChain
      parameters:
      - in: path
        name: service-chain-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Service Chain.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns detailed service chain information.
      operationId: GetServiceChain
      parameters:
      - in: path
        name: service-chain-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceChain'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular service chain.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-chains/{service-chain-id}/service-paths:
    get:
      consumes:
      - application/json
      description: |
        List all service paths for the given service chain for the given service chain id
        NOTE: GET service paths api is deprecated, please use the policy API.
      operationId: ListServicePaths
      parameters:
      - in: path
        name: service-chain-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServicePathListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all service paths
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-instances:
    get:
      consumes:
      - application/json
      description: |
        Returns all Service-Instance(s) of all Services present in system.
        When request parameter (deployed_to or service_deployment_id) is provided as a part of request,
        it will filter out Service-Instances accordingly.
      operationId: ListServiceInstances
      parameters:
      - description: Deployed_to referenced by service instances present in system
        in: query
        name: deployed_to
        required: false
        type: string
      - description: Service Deployment Id using which the instances were deployed
        in: query
        name: service_deployment_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInstanceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all Service-Instances present in system
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-managers:
    get:
      consumes:
      - application/json
      description: |
        List all service managers.
      operationId: ListServiceManagers
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceManagerListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List service managers
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |-
        Register service-manager with NSX with basic details like name, username, password.
      operationId: RegisterServiceManager
      parameters:
      - in: body
        name: ServiceManager
        required: true
        schema:
          $ref: '#/definitions/ServiceManager'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceManager'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register service manager
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/service-managers/{service-manager-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete service-manager which is registered with NSX with basic details like name, username, password.
      operationId: DeleteServiceManager
      parameters:
      - in: path
        name: service-manager-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete service manager
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |-
        Retrieve service-manager details like name, username, password, vendor ID, thumbprint for a given ID.
      operationId: GetServiceManager
      parameters:
      - in: path
        name: service-manager-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceManager'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get service manager
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    put:
      consumes:
      - application/json
      description: |-
        Update service-manager which is registered with NSX with basic details like name, username, password.
      operationId: UpdateServiceManager
      parameters:
      - in: path
        name: service-manager-id
        required: true
        type: string
      - in: body
        name: ServiceManager
        required: true
        schema:
          $ref: '#/definitions/ServiceManager'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceManager'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update service manager
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services:
    get:
      consumes:
      - application/json
      description: |
        List all Service-Insertion Service Definitions.
      operationId: ListServiceInsertionServices
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Service-Insertion Services.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Creates new Service-Insertion Service in the system.
      operationId: AddServiceInsertionService
      parameters:
      - in: body
        name: ServiceDefinition
        required: true
        schema:
          $ref: '#/definitions/ServiceDefinition'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceDefinition'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Service-Insertion Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes Service-Insertion Service from the system. A Service with
        Service-Instances can only be deleted by passing "cascade=true" parameter.
      operationId: DeleteServiceInsertionService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - default: false
        description: Flag to cascade delete all the child objects, associated with
          it.
        in: query
        name: cascade
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing Service and the Service-Instance associated with it.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns information about Service-Insertion Service with the given identifier.
      operationId: GetServiceInsertionService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDefinition'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an existing Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    put:
      consumes:
      - application/json
      description: |
        Modifies the specified Service.
      operationId: UpdateServiceInsertionService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: ServiceDefinition
        required: true
        schema:
          $ref: '#/definitions/ServiceDefinition'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDefinition'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-deployments:
    get:
      consumes:
      - application/json
      description: |
        Returns the list of deployments for the given service
      operationId: GetServiceDeployments
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDeploymentListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all service deployments for the given service id
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    post:
      consumes:
      - application/json
      description: |
        This will deploy a particular service on a given cluster / host. Internally multiple service instance can be
        created during the deployment. If there are no issues in the parameters, the call returns immediately,
        and the service VMs will be deployed asynchronously. To get the overall status of the deployment or to get
        the status of individual service vm, please use the deployment status APIs.
      operationId: DeployService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: ServiceDeployment
        required: true
        schema:
          $ref: '#/definitions/ServiceDeployment'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ServiceDeployment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deploys a particular service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-deployments/{service-deployment-id}:
    delete:
      consumes:
      - application/json
      description: |
        Remove the service deployment. Will remove all the Service VMs that were
        created as part of this deployment. User can send optional force delete
        option which will force remove the deployment, but should be used
        only when the regular delete is not working. Regular delete will ensure
        proper cleanup of Service VMs and related objects. Directly calling this
        API without trying regular undeploy will result in unexpected results,
        and orphan objects.
      operationId: DeleteServiceDeployment
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove service deployment
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    get:
      consumes:
      - application/json
      description: |
        Returns detail of service deployment.
      operationId: GetServiceDeployment
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDeployment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular service deployment.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    put:
      consumes:
      - application/json
      description: |
        This API is deprecated since only property we can change on service deployment
        is display name, which is used for the SVM name. Changing the name will
        cause the name of the deployment to go out of sync with the deployed VM.
      operationId: UpdateServiceDeployment
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      - in: body
        name: ServiceDeployment
        required: true
        schema:
          $ref: '#/definitions/ServiceDeployment'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDeployment'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing Service Deployment.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-deployments/{service-deployment-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns configuration state of deployed partner service using service insertion framework.
      operationId: GetServiceDeploymentState
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Service-Deployment state for Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-deployments/{service-deployment-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns current status of the deployment of partner service. Available only for EPP Services.
        By default this API would return cached status. Caching happens every 3 minutes.
        For realtime status, query parameter "source=realtime" needs to be passed.
      operationId: GetServiceDeploymentStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceDeploymentStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular service deployment status.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-deployments/{service-deployment-id}?action=upgrade:
    post:
      consumes:
      - application/json
      description: "If new deployment spec is provided, the deployment will be moved\
        \ to the provided spec provided\nthat current deployment state is either UPGRADE_FAILED\
        \ or DEPLOYMENT_SUCCESSFUL\nIf same deployment spec is provided, upgrade will\
        \ be done only if current deployment state is\nUPGRADE_FAILED \n"
      operationId: UpgradeServiceDeploymentUpgrade
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-deployment-id
        required: true
        type: string
      - in: body
        name: DeploymentSpecName
        required: true
        schema:
          $ref: '#/definitions/DeploymentSpecName'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upgrade all VMs part of this service deployment to new Spec OVF.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances:
    get:
      consumes:
      - application/json
      description: |
        Returns all Service-Instance(s) for a given Service-Insertion Service.
      operationId: ListServiceInstancesForService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInstanceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all Service-Instances for Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new Service-Instance under the specified Service.
      operationId: AddServiceInstance
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: BaseServiceInstance
        required: true
        schema:
          $ref: '#/definitions/BaseServiceInstance'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseServiceInstance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a Service Instance for a specified Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete existing Service-Instance for a given Service-Insertion Service.
      operationId: DeleteServiceInstance
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing Service-Instance
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns Service-Instance information for a given Service-Insertion Service.
      operationId: GetServiceInstance
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseServiceInstance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Service-Instance for Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    put:
      consumes:
      - application/json
      description: |
        Modifies an existing Service-Instance for a given Service-Insertion Service.
      operationId: UpdateServiceInstance
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: body
        name: BaseServiceInstance
        required: true
        schema:
          $ref: '#/definitions/BaseServiceInstance'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseServiceInstance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update an existing Service-Instance.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/group-associations:
    get:
      consumes:
      - application/json
      description: |
        Returns list of NSGroups used in Service Insertion North-South rules for a given
        Service Instance.
      operationId: GetServiceInstanceNSGroups
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInstanceNSGroups'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get NSgroups for a given ServiceInstance.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-endpoints:
    get:
      consumes:
      - application/json
      description: |
        List all InstanceEndpoints of a service instance.
      operationId: ListInstanceEndpoints
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InstanceEndpointListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all InstanceEndpoints of a Service Instance.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new instance endpoint. It belongs to one service instance and is attached
        to one service attachment. It represents a redirection target for a Rule.
      operationId: AddInstanceEndpoint
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: body
        name: InstanceEndpoint
        required: true
        schema:
          $ref: '#/definitions/InstanceEndpoint'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InstanceEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add an InstanceEndpoint for a Service Instance
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-endpoints/{instance-endpoint-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete instance endpoint information for a given instace endpoint.
        Please make sure to delete all the Service Insertion Rules, which
        refer to this Endpoint as 'redirect_tos' target.
      operationId: DeleteInstanceEndpoint
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: path
        name: instance-endpoint-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a particular InstanceEndpoint.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns detailed Endpoint information for a given InstanceEndpoint.
      operationId: GetInstanceEndpoint
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: path
        name: instance-endpoint-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InstanceEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular instance endpoint for a service instance.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes:
    get:
      consumes:
      - application/json
      description: |
        Returns list of instance runtimes of service VMs being deployed for a given service instance id
      operationId: ListInstanceRuntimes
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InstanceRuntimeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns list of instance runtimes of service VM being deployed
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes/{instance-runtime-id}:
    post:
      consumes:
      - application/json
      description: |
        Set service VM either in or out of maintenance mode for maintenance mode, or in service or out
        of service for runtime state. Only one value can be set at one time.
      operationId: UpdateServiceVmState
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: path
        name: instance-runtime-id
        required: true
        type: string
      - enum:
        - enable_maintenance_mode
        - disable_maintenance_mode
        - is_healthy
        - is_stopped
        - is_not_responding
        in: query
        name: action
        type: string
      - description: Reason for the unhealthy state
        in: query
        maxLength: 500
        name: unhealthy_reason
        required: false
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update maintenance mode or runtime state of a service VM
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  ? /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes/{instance-runtime-id}/interfaces/{interface_index}/statistics
  : get:
      consumes:
      - application/json
      description: |
        Returns statistics of a specified interface via associated logical port. If the logical port is attached to
        a logical router port, query parameter "source=realtime" is not supported.
      operationId: GetRuntimeInterfaceStatistics
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: path
        name: instance-runtime-id
        required: true
        type: string
      - in: path
        name: interface_index
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RuntimeInterfaceStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get statistics for a given interface identified by the interface index
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  ? /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes/{instance-runtime-id}/interfaces/{interface_index}/status
  : get:
      consumes:
      - application/json
      description: |-
        Returns operational status of a specified interface
      operationId: GetRuntimeInterfaceOperationalStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - in: path
        name: instance-runtime-id
        required: true
        type: string
      - in: path
        name: interface_index
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/RuntimeInterfaceOperationalStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get operational status for an interface
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes?action=delete:
    post:
      consumes:
      - application/json
      description: |
        Undeploy one service VM as standalone or two service VMs as HA. Associated deployment information and instance
        runtime will also be deleted once service VMs have been un-deployed successfully.
      operationId: DeleteServiceVMsDelete
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Remove service VMs either as standalone or HA
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes?action=deploy:
    post:
      consumes:
      - application/json
      description: |
        Deploys one service VM as standalone, or two service VMs as HA where one VM is active and another one is standby.

        During the deployment of service VMs, service will be set up based on deployment events using callbacks.
      operationId: DeployServiceVMsDeploy
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      responses:
        '201':
          description: Created
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deploy and set up service VMs either as standalone or HA
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/instance-runtimes?action=upgrade:
    post:
      consumes:
      - application/json
      description: |
        Upgrade service VMs using newer version of OVF.
        Upgrade is a 2 step process. Update the 'deployment_spec_name' in the
        ServiceInstance to the new DeploymentSpec to which the service VMs will be
        upgraded, folowed by this 'upgrade' api.
        In case of HA, the stand-by service VM will be upgrade first. Once it has been upgraded,
        it switches to be the Active one and then the other VM will be upgrade.
      operationId: UpgradeServiceVMsUpgrade
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upgrade service VMs using newer version of OVF
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns configuration state of one instance of a deployed partner service using service insertion framework.
      operationId: GetServiceInstanceState
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ConfigurationState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Service-Instance state for Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-instances/{service-instance-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Returns status of one instance of a deployed partner service using service insertion framework.
        By default this API would return cached status. Caching happens every 3 minutes.
        For realtime status, query parameter "source=realtime" needs to be passed.
      operationId: GetServiceInstanceStatus
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-instance-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInstanceStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Service-Instance status for Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionVMDeployment
  /serviceinsertion/services/{service-id}/service-profiles:
    get:
      consumes:
      - application/json
      description: |
        List all service profiles of a service.
      operationId: ListSIServiceProfiles
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SIServiceProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Service Profiles of a Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new service profile.
      operationId: AddSIServiceProfile
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: BaseServiceProfile
        required: true
        schema:
          $ref: '#/definitions/BaseServiceProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseServiceProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add ServiceProfile for a given Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-profiles/{service-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete service profile for a given service.
      operationId: DeleteSIServiceProfile
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a particular ServiceProfile.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns detailed service profile information for a given Service.
      operationId: GetSIServiceProfile
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseServiceProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular ServiceProfile for a Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-profiles/{service-profile-id}/nsgroups:
    get:
      consumes:
      - application/json
      description: |
        Returns list of NSGroups used in Service Insertion rules for a given Service Profile.
      operationId: GetServiceProfileNSGroups
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceProfileNSGroups'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get NSgroups for a given ServiceProfile.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/service-profiles/{service-profile-id}/service-chain-mappings:
    get:
      consumes:
      - application/json
      description: |
        List all service chain mappings in the system for the given service profile.
      operationId: ListServiceChainMappings
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: service-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceChainMappingListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all ServiceChainMappings.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/solution-configs:
    get:
      consumes:
      - application/json
      description: |
        Returns Solution Config information for a given service.
      operationId: ListSolutionConfigs
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SolutionConfigListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Solution Config Information associated with a given service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: Nxgi
    post:
      consumes:
      - application/json
      description: |
        Adds a solution config. Solution Config are service level objects,
        required for configuring the NXGI partner Service after deployment.
      operationId: CreateSolutionConfig
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: SolutionConfig
        required: true
        schema:
          $ref: '#/definitions/SolutionConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SolutionConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Solution Config for a given Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: Nxgi
  /serviceinsertion/services/{service-id}/solution-configs/{solution-config-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes solution config information for a given service.
      operationId: DeleteSolutionConfig
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: solution-config-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Deletes solution config information.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: Nxgi
    get:
      consumes:
      - application/json
      description: |
        Returns Solution Config information for a given solution config id.
      operationId: GetSolutionConfig
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: solution-config-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SolutionConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Solution Config Information for a given solution config id.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: Nxgi
    put:
      consumes:
      - application/json
      description: |
        Updates a solution config. Solution Config are service level objects,
        required for configuring the NXGI partner Service after deployment.
      operationId: UpdateSolutionConfig
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: solution-config-id
        required: true
        type: string
      - in: body
        name: SolutionConfig
        required: true
        schema:
          $ref: '#/definitions/SolutionConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SolutionConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Updates Solution Config for a given Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: Nxgi
  /serviceinsertion/services/{service-id}/vendor-templates:
    get:
      consumes:
      - application/json
      description: |
        List all vendor templates of a service.
      operationId: ListVendorTemplates
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Name of vendor template
        in: query
        name: vendor_template_name
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VendorTemplateListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all VendorTemplates of a Service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    post:
      consumes:
      - application/json
      description: |
        Adds a new vendor template. Vendor templates are service level objects,
        registered to be used in Service Profiles.
      operationId: AddVendorTemplate
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: body
        name: VendorTemplate
        required: true
        schema:
          $ref: '#/definitions/VendorTemplate'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VendorTemplate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add Vendor Template for a given Service
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/services/{service-id}/vendor-templates/{vendor-template-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete vendor template information for a given service.
        Please make sure to delete all the Service Profile(s), which
        refer to this vendor tempalte before deleting the template itself.
      operationId: DeleteVendorTemplate
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: vendor-template-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a particular vendor tempalte.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
    get:
      consumes:
      - application/json
      description: |
        Returns detailed vendor template information for a given service.
      operationId: GetVendorTemplate
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - in: path
        name: vendor-template-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/VendorTemplate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a particular vendor template for a given service.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/source-entities:
    get:
      consumes:
      - application/json
      description: |
        Service insertion data path inserts unique 'source node id' value
        into each packet. This API can be used to identify the source of the packet
        using this value. It can be resolved to multiple source entities.
      operationId: ResolveSourceEntities
      parameters:
      - description: value
        in: query
        name: source_node_value
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SourceEntityResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Resolve 'source node id' value to source entities.
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertion
  /serviceinsertion/status:
    get:
      consumes:
      - application/json
      description: |-
        List all service insertion status for supported contexts
      operationId: ListServiceInsertionStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all service insertion status for supported contexts
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionStatus
  /serviceinsertion/status/{context-type}:
    get:
      consumes:
      - application/json
      description: |-
        Get ServiceInsertion global status for a context
      operationId: GetServiceInsertionStatus
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get ServiceInsertion global status for a context
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionStatus
    put:
      consumes:
      - application/json
      description: |-
        Update global ServiceInsertion status for a context
      operationId: UpdateServiceInsertionStatus
      parameters:
      - in: path
        name: context-type
        required: true
        type: string
      - in: body
        name: ServiceInsertionStatus
        required: true
        schema:
          $ref: '#/definitions/ServiceInsertionStatus'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ServiceInsertionStatus'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update global ServiceInsertion status for a context
      tags:
      - Management Plane API, Security, Services, Service Insertion
      x-vmw-nsx-module: ServiceInsertionStatus
  /switching-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the system-default and user-configured switching
        profiles. Each switching profile has a unique ID, a display name, and
        various other read-only and configurable properties. The default switching
        profiles are assigned automatically to each switch.
      operationId: ListSwitchingProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Whether the list result contains system resources
        in: query
        name: include_system_owned
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: comma-separated list of switching profile types, e.g. ?switching_profile_type=QosSwitchingProfile,IpDiscoverySwitchingProfile
        in: query
        name: switching_profile_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SwitchingProfilesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Switching Profiles
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
    post:
      consumes:
      - application/json
      description: |
        Creates a new, custom qos, port-mirroring, spoof-guard or port-security
        switching profile. You can override their default switching profile assignments
        by creating a new switching profile and assigning it to one or more logical
        switches. You cannot override the default ipfix or ip_discovery switching profiles.
      operationId: CreateSwitchingProfile
      parameters:
      - in: body
        name: BaseSwitchingProfile
        required: true
        schema:
          $ref: '#/definitions/BaseSwitchingProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BaseSwitchingProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Switching Profile
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
  /switching-profiles/{switching-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes the specified switching profile.
      operationId: DeleteSwitchingProfile
      parameters:
      - in: path
        name: switching-profile-id
        required: true
        type: string
      - default: false
        description: force unbinding of logical switches and ports from a switching
          profile
        in: query
        name: unbind
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Switching Profile
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified switching profile.
      operationId: GetSwitchingProfile
      parameters:
      - in: path
        name: switching-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseSwitchingProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Switching Profile by ID
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
    put:
      consumes:
      - application/json
      description: |
        Updates the user-configurable parameters of a switching profile. Only the qos,
        port-mirroring, spoof-guard and port-security switching profiles can be modified.
        You cannot modify the ipfix or ip-discovery switching profiles.
      operationId: UpdateSwitchingProfile
      parameters:
      - in: path
        name: switching-profile-id
        required: true
        type: string
      - in: body
        name: BaseSwitchingProfile
        required: true
        schema:
          $ref: '#/definitions/BaseSwitchingProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BaseSwitchingProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Switching Profile
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
  /switching-profiles/{switching-profile-id}/summary:
    get:
      consumes:
      - application/json
      description: |-
        Get Counts of Ports and Switches Using This Switching Profile
      operationId: GetSwitchingProfileStatus
      parameters:
      - in: path
        name: switching-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SwitchingProfileStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Counts of Ports and Switches Using This Switching Profile
      tags:
      - Management Plane API, Networking, Logical Switching, Logical Switch Ports
      x-vmw-nsx-module: BaseSwitchingProfile
  /systemhealth/appliances/latency/status:
    get:
      consumes:
      - application/json
      description: |
        Show the details of latency status in all appliances.
      operationId: ShowAllApplianceLatencyData
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceLatencyListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of latency status for all appliances
      tags:
      - System Administration, Monitoring, System Health, Appliance, Process
      x-vmw-nsx-module: ShaApplianceMonitor
  /systemhealth/appliances/process/status:
    get:
      consumes:
      - application/json
      description: |
        Show the details of process status in all appliances.
      operationId: ShowALLApplianceProcessData
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceProcessListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of process status in all appliances.
      tags:
      - System Administration, Monitoring, System Health, Appliance, Process
      x-vmw-nsx-module: ShaApplianceMonitor
  /systemhealth/appliances/{appliance-id}/latency/status:
    get:
      consumes:
      - application/json
      description: |
        Show the details of process status in given appliance.
      operationId: ShowApplianceLatencyData
      parameters:
      - in: path
        name: appliance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceLatencyData'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of process status in given appliance
      tags:
      - System Administration, Monitoring, System Health, Appliance, Process
      x-vmw-nsx-module: ShaApplianceMonitor
  /systemhealth/appliances/{appliance-id}/process/status:
    get:
      consumes:
      - application/json
      description: |
        Show the details of process status in given appliance.
        The appliance id can be obtained by below APIs.
          1. /api/v1/cluster/nodes
          2. /api/v1/systemhealth/appliances/process/status
      operationId: ShowApplianceProcessData
      parameters:
      - in: path
        name: appliance-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ApplianceProcessData'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of process status in given appliance
      tags:
      - System Administration, Monitoring, System Health, Appliance, Process
      x-vmw-nsx-module: ShaApplianceMonitor
  /systemhealth/container-cluster/ncp/status:
    get:
      consumes:
      - application/json
      description: |-
        Get all the container cluster status
      operationId: ReadContainerClusterStatusList
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ContainerClusterStatusList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all the container cluster status
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
    post:
      consumes:
      - application/json
      description: |-
        Create container cluster status list
      operationId: CreateContainerClusterStatus
      parameters:
      - in: body
        name: ContainerClusterStatus
        required: true
        schema:
          $ref: '#/definitions/ContainerClusterStatus'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ContainerClusterStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create container cluster status list
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
  /systemhealth/container-cluster/{cluster-id}/ncp/status:
    delete:
      consumes:
      - application/json
      description: |-
        Create container cluster status list
      operationId: DeleteContainerClusterSummary
      parameters:
      - in: path
        name: cluster-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create container cluster status list
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
    get:
      consumes:
      - application/json
      description: |-
        Get the container cluster status by given id
      operationId: ReadContainerClusterStatus
      parameters:
      - in: path
        name: cluster-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/ContainerClusterSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the container cluster status by given id
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
  /systemhealth/plugins:
    get:
      consumes:
      - application/json
      description: |
        Show all the system health plugins.
      operationId: ListAllSystemHealthPlugins
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemHealthPluginProfileList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show all the system health plugin
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
    post:
      consumes:
      - application/json
      description: |
        Create a system health plugin.
      operationId: CreateSystemHealthPlugin
      parameters:
      - in: body
        name: SystemHealthPluginProfile
        required: true
        schema:
          $ref: '#/definitions/SystemHealthPluginProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SystemHealthPluginProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a system health plugin
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
  /systemhealth/plugins/status/{node-id}:
    get:
      consumes:
      - application/json
      description: |
        Show all the installed system health plugins on given node
      operationId: ShowSystemHealthPluginOnNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PluginStatusList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the installed system health plugin list
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
  /systemhealth/plugins/{plugin-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing system health plugin by ID.
      operationId: DeleteSystemHealthPlugin
      parameters:
      - in: path
        name: plugin-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing system health plugin
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
    get:
      consumes:
      - application/json
      description: |
        Show the details of a system health plugin.
      operationId: ShowSystemHealthPlugin
      parameters:
      - in: path
        name: plugin-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemHealthPluginProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of a system health plugin
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
  /systemhealth/plugins/{plugin-id}/files/{file-name}/data:
    post:
      consumes:
      - multipart/form-data
      description: |-
        Upload a plugin File to MP
      operationId: CreatePluginFile
      parameters:
      - description: |-
          Plugin filename
        in: path
        name: file-name
        required: true
        type: string
      - description: |-
          Plugin ID
        in: path
        name: plugin-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PluginFileProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upload a plugin File to MP
      tags:
      - System Administration, Monitoring, System Health, Plugins
      x-vmw-nsx-module: SystemHealthPlugin
  /systemhealth/profiles:
    get:
      consumes:
      - application/json
      description: |
        List all system health profiles.
      operationId: ListSystemHealthAgentProfiles
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemHealthAgentProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all system health profiles
      tags:
      - System Administration, Monitoring, System Health, Profiles
      x-vmw-nsx-module: SystemHealthAgent
    post:
      consumes:
      - application/json
      description: |
        Create a system health profile.
      operationId: CreateSystemHealthAgentProfile
      parameters:
      - in: body
        name: SystemHealthAgentProfile
        required: true
        schema:
          $ref: '#/definitions/SystemHealthAgentProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/SystemHealthAgentProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a system health profile
      tags:
      - System Administration, Monitoring, System Health, Profiles
      x-vmw-nsx-module: SystemHealthAgent
  /systemhealth/profiles/{profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete an existing system health profile by ID.
      operationId: DeleteSystemHealthAgentProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete an existing system health profile
      tags:
      - System Administration, Monitoring, System Health, Profiles
      x-vmw-nsx-module: SystemHealthAgent
    get:
      consumes:
      - application/json
      description: |
        Show the details of a system health profile.
      operationId: ShowSystemHealthAgentProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemHealthAgentProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show the details of a system health profile
      tags:
      - System Administration, Monitoring, System Health, Profiles
      x-vmw-nsx-module: SystemHealthAgent
    put:
      consumes:
      - application/json
      description: |
        Update a system health profile definition.
      operationId: UpdateSystemHealthAgentProfile
      parameters:
      - in: path
        name: profile-id
        required: true
        type: string
      - in: body
        name: SystemHealthAgentProfile
        required: true
        schema:
          $ref: '#/definitions/SystemHealthAgentProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SystemHealthAgentProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a system health profile
      tags:
      - System Administration, Monitoring, System Health, Profiles
      x-vmw-nsx-module: SystemHealthAgent
  /systemhealth/transport-nodes/{node-id}/container/agent/status:
    get:
      consumes:
      - application/json
      description: |-
        Get the containter status on given node
      operationId: ReadTnContainerAgentStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TnNodeAgentStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the containter status on given node
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
  /systemhealth/transport-nodes/{node-id}/container/hyperbus/status:
    get:
      consumes:
      - application/json
      description: |-
        Get the containter hyperbus status on given node
      operationId: ReadTnHyperbusStatus
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TnHyperbusStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the containter hyperbus status on given node
      tags:
      - System Administration, Monitoring, System Health, Container
      x-vmw-nsx-module: TnContainerStatus
  /tasks:
    get:
      consumes:
      - application/json
      description: |-
        Get information about all tasks
      operationId: ListTasks
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Request URI(s) to include in query result
        in: query
        name: request_uri
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Status(es) to include in query result
        in: query
        name: status
        type: string
      - description: Names of users to include in query result
        in: query
        name: user
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TaskListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get information about all tasks
      tags:
      - System Administration, Configuration, NSX Managers, API Services, Task Management
      x-vmw-nsx-module: Tasks
  /tasks/{task-id}:
    get:
      consumes:
      - application/json
      description: |-
        Get information about the specified task
      operationId: ReadTaskProperties
      parameters:
      - description: |-
          ID of task to read
        in: path
        name: task-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TaskProperties'
        '303':
          description: See Other
          schema:
            $ref: '#/definitions/TaskProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get information about the specified task
      tags:
      - System Administration, Configuration, NSX Managers, API Services, Task Management
      x-vmw-nsx-module: Tasks
  /tasks/{task-id}/response:
    get:
      consumes:
      - application/json
      description: |-
        Get the response of a task
      operationId: ReadTaskResult
      parameters:
      - description: |-
          ID of task to read
        in: path
        name: task-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            type: object
        '303':
          description: See Other
          schema:
            type: object
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the response of a task
      tags:
      - System Administration, Configuration, NSX Managers, API Services, Task Management
      x-vmw-nsx-module: Tasks
  /telemetry/agreement:
    get:
      consumes:
      - application/json
      description: |-
        Returns telemetry agreement information.
      operationId: GetTelemetryAgreement
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TelemetryAgreement'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns telemetry agreement information
      tags:
      - System Administration, Settings, Customer Experience Improvement, Telemetry
      x-vmw-nsx-module: TelemetryConfig
    put:
      consumes:
      - application/json
      description: |-
        Set telemetry agreement information.
      operationId: UpdateTelemetryAgreement
      parameters:
      - in: body
        name: TelemetryAgreement
        required: true
        schema:
          $ref: '#/definitions/TelemetryAgreement'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TelemetryAgreement'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set telemetry agreement information
      tags:
      - System Administration, Settings, Customer Experience Improvement, Telemetry
      x-vmw-nsx-module: TelemetryConfig
  /telemetry/config:
    get:
      consumes:
      - application/json
      description: |-
        Returns the telemetry configuration.
      operationId: GetTelemetryConfig
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TelemetryConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the telemetry configuration
      tags:
      - System Administration, Settings, Customer Experience Improvement, Telemetry
      x-vmw-nsx-module: TelemetryConfig
    put:
      consumes:
      - application/json
      description: |
        Updates or creates the telemetry configuration, and returns the new configuration.
      operationId: UpdateTelemetryConfig
      parameters:
      - in: body
        name: TelemetryConfig
        required: true
        schema:
          $ref: '#/definitions/TelemetryConfig'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TelemetryConfig'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates or updates the telemetry configuration
      tags:
      - System Administration, Settings, Customer Experience Improvement, Telemetry
      x-vmw-nsx-module: TelemetryConfig
  /traceflows:
    get:
      consumes:
      - application/json
      description: |
        List all Traceflow rounds; if a logical port id is given as a query parameter,
        only those originated from the logical port are returned.
      operationId: ListTraceflows
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: id of the source logical port where the trace flows originated
        in: query
        name: lport_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TraceflowListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List all Traceflow rounds
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Traceflow
      x-vmw-nsx-module: Traceflow
    post:
      consumes:
      - application/json
      description: |-
        Initiate a Traceflow Operation on the Specified Port
      operationId: CreateTraceflow
      parameters:
      - in: body
        name: TraceflowRequest
        required: true
        schema:
          $ref: '#/definitions/TraceflowRequest'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Traceflow'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Initiate a Traceflow Operation on the Specified Port
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Traceflow
      x-vmw-nsx-module: Traceflow
  /traceflows/{traceflow-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete the Traceflow round
      operationId: DeleteTraceflow
      parameters:
      - in: path
        name: traceflow-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete the Traceflow round
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Traceflow
      x-vmw-nsx-module: Traceflow
    get:
      consumes:
      - application/json
      description: |-
        Get the Traceflow round status and result summary
      operationId: GetTraceflow
      parameters:
      - in: path
        name: traceflow-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Traceflow'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Traceflow round status and result summary
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Traceflow
      x-vmw-nsx-module: Traceflow
  /traceflows/{traceflow-id}/observations:
    get:
      consumes:
      - application/json
      description: |-
        Get observations for the Traceflow round
      operationId: GetTraceflowObservations
      parameters:
      - in: path
        name: traceflow-id
        required: true
        type: string
      - description: Observations having the given component name will be listed.
        in: query
        name: component_name
        required: false
        type: string
      - description: Observations having the given component type will be listed.
        enum:
        - PHYSICAL
        - LR
        - LS
        - DFW
        - BRIDGE
        - EDGE_TUNNEL
        - EDGE_HOSTSWITCH
        - FW_BRIDGE
        - LOAD_BALANCER
        - NAT
        - IPSEC
        - SERVICE_INSERTION
        - VMC
        - SPOOFGUARD
        - EDGE_FW
        - DLB
        - UNKNOWN
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: The type of observations that will be listed.
        enum:
        - TraceflowObservationForwarded
        - TraceflowObservationDropped
        - TraceflowObservationDelivered
        - TraceflowObservationReceived
        - TraceflowObservationForwardedLogical
        - TraceflowObservationDroppedLogical
        - TraceflowObservationReceivedLogical
        - TraceflowObservationReplicationLogical
        - TraceflowObservationRelayedLogical
        in: query
        name: resource_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Observations having the given transport node name will be listed.
        in: query
        name: transport_node_name
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TraceflowObservationListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get observations for the Traceflow round
      tags:
      - Management Plane API, Troubleshooting And Monitoring, Traceflow
      x-vmw-nsx-module: Traceflow
  /transport-node-collections:
    get:
      consumes:
      - application/json
      description: |-
        Returns all Transport Node collections
      operationId: ListTransportNodeCollections
      parameters:
      - description: Managed object ID of cluster in VC
        in: query
        name: cluster_moid
        required: false
        type: string
      - description: Compute collection id
        in: query
        name: compute_collection_id
        required: false
        type: string
      - description: UUID for VC deployment
        in: query
        name: vc_instance_uuid
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeCollectionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Transport Node collections
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
    post:
      consumes:
      - application/json
      description: |
        When transport node collection is created the hosts which are part
        of compute collection will be prepared automatically i.e. NSX Manager
        attempts to install the NSX components on hosts. Transport nodes for these
        hosts are created using the configuration specified in transport node
        profile.
      operationId: CreateTransportNodeCollection
      parameters:
      - in: body
        name: TransportNodeCollection
        required: true
        schema:
          $ref: '#/definitions/TransportNodeCollection'
      - default: true
        description: Indicates if the Transport Node Profile (TNP) configuration should
          be applied during creation
        in: query
        name: apply_profile
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TransportNodeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create transport node collection by attaching Transport Node Profile to cluster.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
  /transport-node-collections/{transport-node-collection-id}:
    delete:
      consumes:
      - application/json
      description: |
        By deleting transport node collection, we are detaching the transport node
        profile(TNP) from the compute collection. It has no effect on existing
        transport nodes. However, new hosts added to the compute collection will no
        longer be automatically converted to NSX transport node.
        Detaching TNP from compute collection does not delete TNP.
      operationId: DeleteTransportNodeCollection
      parameters:
      - in: path
        name: transport-node-collection-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Detach transport node profile from compute collection.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
    get:
      consumes:
      - application/json
      description: |-
        Returns transport node collection by id
      operationId: GetTransportNodeCollection
      parameters:
      - in: path
        name: transport-node-collection-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Transport Node collection by id
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
    put:
      consumes:
      - application/json
      description: |
        Attach different transport node profile to compute collection by updating
        transport node collection.
      operationId: UpdateTransportNodeCollection
      parameters:
      - in: path
        name: transport-node-collection-id
        required: true
        type: string
      - in: body
        name: TransportNodeCollection
        required: true
        schema:
          $ref: '#/definitions/TransportNodeCollection'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeCollection'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update Transport Node collection
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
  /transport-node-collections/{transport-node-collection-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns the state of transport node collection based on the states of
        transport nodes of the hosts which are part of compute collection.
      operationId: GetTransportNodeCollectionState
      parameters:
      - in: path
        name: transport-node-collection-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeCollectionState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Transport Node collection application state
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
  /transport-node-collections/{transport-node-collection-id}?action=retry_profile_realization:
    post:
      consumes:
      - application/json
      description: |-
        This API is relevant for compute collection on which vLCM is enabled. This API shpuld be invoked to retry the realization of transport node profile on the compute collection. This is useful when profile realization had failed because of error in vLCM. This API has no effect if vLCM is not enabled on the computer collection.
      operationId: RetryTransportNodeCollectionRealizationRetry_profile_realization
      parameters:
      - in: path
        name: transport-node-collection-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Retry the process on applying transport node profile
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Collections
      x-vmw-nsx-module: TransportNodeCollection
  /transport-node-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all transport node profiles.
      operationId: ListTransportNodeProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Transport Nodes
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Node Profiles
      x-vmw-nsx-module: TransportNodeProfile
    post:
      consumes:
      - application/json
      description: |
        Transport node profile captures the configuration needed to create
        a transport node. A transport node profile can be attached to
        compute collections for automatic TN creation of member hosts.
      operationId: CreateTransportNodeProfile
      parameters:
      - in: body
        name: TransportNodeProfile
        required: true
        schema:
          $ref: '#/definitions/TransportNodeProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TransportNodeProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Transport Node Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Node Profiles
      x-vmw-nsx-module: TransportNodeProfile
  /transport-node-profiles/{transport-node-profile-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified transport node profile. A transport node profile
        can be deleted only when it is not attached to any compute collection.
      operationId: DeleteTransportNodeProfile
      parameters:
      - in: path
        name: transport-node-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Transport Node Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Node Profiles
      x-vmw-nsx-module: TransportNodeProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified transport node profile.
      operationId: GetTransportNodeProfile
      parameters:
      - in: path
        name: transport-node-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Node Profiles
      x-vmw-nsx-module: TransportNodeProfile
    put:
      consumes:
      - application/json
      description: |
        When configurations of a transport node profile(TNP) is updated, all the
        transport nodes in all the compute collections to which this TNP is attached
        are updated to reflect the updated configuration.
      operationId: UpdateTransportNodeProfile
      parameters:
      - in: path
        name: transport-node-profile-id
        required: true
        type: string
      - in: body
        name: TransportNodeProfile
        required: true
        schema:
          $ref: '#/definitions/TransportNodeProfile'
      - description: The network ids to which the ESX vmk interfaces will be migrated
        in: query
        name: esx_mgmt_if_migration_dest
        required: false
        type: string
      - description: The ESX vmk interfaces to migrate
        in: query
        name: if_id
        required: false
        type: string
      - description: IP Addresses to ping right after ESX vmk interfaces were migrated.
        in: query
        name: ping_ip
        required: false
        type: string
      - default: false
        description: Whether to skip front-end validation for vmk/vnic/pnic migration
        in: query
        name: skip_validation
        required: false
        type: boolean
      - description: The ESX vmk interfaces and/or VM NIC to migrate
        in: query
        name: vnic
        required: false
        type: string
      - description: The migration destinations of ESX vmk interfaces and/or VM NIC
        in: query
        name: vnic_migration_dest
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Transport Node Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Node Profiles
      x-vmw-nsx-module: TransportNodeProfile
  /transport-nodes:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all transport nodes along with underlying host or
        edge details. A transport node is a host or edge that contains hostswitches.
        A hostswitch can have virtual machines connected to them.

        Because each transport node has hostswitches, transport nodes can also have
        virtual tunnel endpoints, which means that they can be part of the overlay.
      operationId: ListTransportNodesWithDeploymentInfo
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: maintenance mode flag
        in: query
        name: in_maintenance_mode
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: node identifier
        in: query
        name: node_id
        required: false
        type: string
      - description: Fabric node IP address
        in: query
        name: node_ip
        required: false
        type: string
      - description: a list of fabric node types separated by comma or a single type
        in: query
        name: node_types
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Transport zone identifier
        in: query
        name: transport_zone_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Transport Nodes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
    post:
      consumes:
      - application/json
      description: |
        Transport nodes are hypervisor hosts and NSX Edges that will participate
        in an NSX-T overlay. For a hypervisor host, this means that it hosts
        VMs that will communicate over NSX-T logical switches. For NSX Edges,
        this means that it will have logical router uplinks and downlinks.

        This API creates transport node for a host node (hypervisor) or edge node
        (router) in the transport network.

        When you run this command for a host, NSX Manager attempts to install the
        NSX kernel modules, which are packaged as VIB, RPM, or DEB files. For the
        installation to succeed, you must provide the host login credentials and the
        host thumbprint.

        To get the ESXi host thumbprint, SSH to the host and run the
        <b>openssl x509 -in /etc/vmware/ssl/rui.crt -fingerprint -sha256 -noout</b>
        command.

        To generate host key thumbprint using SHA-256 algorithm please follow the
        steps below.

        Log into the host, making sure that the connection is not vulnerable to a
        man in the middle attack. Check whether a public key already exists.
        Host public key is generally located at '/etc/ssh/ssh_host_rsa_key.pub'.
        If the key is not present then generate a new key by running the following
        command and follow the instructions.

        <b>ssh-keygen -t rsa</b>

        Now generate a SHA256 hash of the key using the following command. Please
        make sure to pass the appropriate file name if the public key is stored with
        a different file name other than the default 'id_rsa.pub'.

        <b>awk '{print $2}' id_rsa.pub | base64 -d | sha256sum -b | sed 's/ .*$//' | xxd -r -p | base64</b>
        This api is deprecated as part of FN+TN unification. Please use Transport Node API
        to install NSX components on a node.

        Additional documentation on creating a transport node can be found
        in the NSX-T Installation Guide.

        In order for the transport node to forward packets,
        the host_switch_spec property must be specified.

        Host switches (called bridges in OVS on KVM hypervisors) are the
        individual switches within the host virtual switch. Virtual machines
        are connected to the host switches.

        When creating a transport node, you need to specify if the host switches
        are already manually preconfigured on the node, or if NSX should create
        and manage the host switches. You specify this choice by the type
        of host switches you pass in the host_switch_spec property of the
        TransportNode request payload.

        For a KVM host, you can preconfigure the host switch, or you can have
        NSX Manager perform the configuration. For an ESXi host or NSX Edge
        node, NSX Manager always configures the host switch.

        To preconfigure the host switches on a KVM host, pass an array
        of PreconfiguredHostSwitchSpec objects that describes those host
        switches. In the current NSX-T release, only one prefonfigured host
        switch can be specified.  See the PreconfiguredHostSwitchSpec schema
        definition for documentation on the properties that must be provided.
        Preconfigured host switches are only supported on KVM hosts, not on
        ESXi hosts or NSX Edge nodes.

        To allow NSX to manage the host switch configuration on KVM hosts,
        ESXi hosts, or NSX Edge nodes, pass an array of StandardHostSwitchSpec
        objects in the host_switch_spec property, and NSX will automatically
        create host switches with the properties you provide. In the current
        NSX-T release, up to 16 host switches can be automatically managed.
        See the StandardHostSwitchSpec schema definition for documentation on
        the properties that must be provided.

        Note: Previous versions of NSX-T also used a property named
        transport_zone_endpoints at TransportNode level. This property is
        deprecated which creates some combinations of new client along with
        old client payloads. Examples [1] & [2] show old/existing client
        request and response by populating transport_zone_endpoints property
        at TransportNode level. Example [3] shows TransportNode creation
        request/response by populating transport_zone_endpoints property
        at StandardHostSwitch level and other new properties.

        The request should either provide node_deployement_info or node_id.

        If the host node (hypervisor) or edge node (router) is already added in
        system then it can be converted to transport node by providing node_id in
        request.

        If host node (hypervisor) or edge node (router) is not already present in
        system then information should be provided under node_deployment_info.
      operationId: CreateTransportNodeWithDeploymentInfo
      parameters:
      - in: body
        name: TransportNode
        required: true
        schema:
          $ref: '#/definitions/TransportNode'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/state:
    get:
      consumes:
      - application/json
      description: |
        Returns a list of transport node states that have realized state as provided
        as query parameter
      operationId: ListTransportNodesByStateWithDeploymentInfo
      parameters:
      - description: maintenance mode state
        enum:
        - ENTERING
        - ENABLED
        - EXITING
        - DISABLED
        in: query
        name: mm_state
        required: false
        type: string
      - description: Realized state of transport nodes
        enum:
        - PENDING
        - IN_PROGRESS
        - SUCCESS
        - PARTIAL_SUCCESS
        - FAILED
        - ORPHANED
        in: query
        name: status
        required: false
        type: string
      - description: Virtual tunnel endpoint ip address of transport node
        in: query
        name: vtep_ip
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeStateListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List transport nodes by realized state
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/status:
    get:
      consumes:
      - application/json
      description: |-
        Get high-level summary of all transport nodes. The service layer does not support source = realtime or cached.
      operationId: GetAllTransportNodesStatus
      parameters:
      - description: Transport node type
        enum:
        - HOST
        - EDGE
        in: query
        name: node_type
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HeatMapTransportZoneStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get high-level summary of all transport nodes. The service layer does not support source = realtime or cached.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-nodes/{edge-node-id}/inter-site/bgp/neighbors:
    get:
      consumes:
      - application/json
      description: |
        Paginated list of BGP Neighbors on edge transport node.
      operationId: ListInterSiteEdgeNodeBgpNeighbors
      parameters:
      - in: path
        name: edge-node-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Paginated list of BGP Neighbors on edge transport node
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcInterSite
  /transport-nodes/{edge-node-id}/inter-site/bgp/neighbors/{neighbor-id}/advertised-routes:
    get:
      consumes:
      - application/json
      description: |
        Returns routes advertised by BGP neighbor from the given edge transport node.
        It always returns realtime response.
      operationId: GetInterSiteEdgeNodeBgpNeighborAdvertisedRoutes
      parameters:
      - in: path
        name: edge-node-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetails'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get BGP neighbor advertised routes on edge transport node
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcInterSite
  /transport-nodes/{edge-node-id}/inter-site/bgp/neighbors/{neighbor-id}/routes:
    get:
      consumes:
      - application/json
      description: |
        Returns routes learned by BGP neighbor from the given edge transport node.
        It always returns realtime response.
      operationId: GetInterSiteEdgeNodeBgpNeighborRoutes
      parameters:
      - in: path
        name: edge-node-id
        required: true
        type: string
      - in: path
        name: neighbor-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/BgpNeighborRouteDetails'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get BGP neighbor learned routes on edge transport node
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcInterSite
  /transport-nodes/{edge-node-id}/inter-site/bgp/summary:
    get:
      consumes:
      - application/json
      description: |
        Returns BGP summary for all configured neighbors in tunnel VRF
        on the given egde node. It always returns realtime response.
      operationId: GetInterSiteEdgeNodeBgpSummary
      parameters:
      - in: path
        name: edge-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/InterSiteBgpSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get inter-site BGP summary of edge node
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcInterSite
  /transport-nodes/{edge-node-id}/inter-site/statistics:
    get:
      consumes:
      - application/json
      description: |
        Returns RTEP to RTEP tunnel port statistics of the given edge node.
        It always returns realtime response.
      operationId: GetInterSiteEdgeNodeStatistics
      parameters:
      - in: path
        name: edge-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterSiteStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get inter-site statistics of edge node
      tags:
      - System Administration, Configuration, Fabric, Edge Clusters, Inter-Sites
      x-vmw-nsx-module: AggSvcInterSite
  /transport-nodes/{node-id}/modules:
    get:
      consumes:
      - application/json
      description: |
        Get the module details of a transport node
      operationId: GetFabricNodeModulesOfTransportNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/SoftwareModuleResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Get the module details of a transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{node-id}/pnic-bond-status:
    get:
      consumes:
      - application/json
      description: |-
        Get high-level summary of a transport node
      operationId: GetPnicStatusesForTransportNode
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: pNic/bond status
        enum:
        - UNKNOWN
        - UP
        - DOWN
        - DEGRADED
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PnicBondStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get high-level summary of a transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-nodes/{node-id}/remote-transport-node-status:
    get:
      consumes:
      - application/json
      description: |
        Read status of all transport nodes with tunnel connections to transport node
      operationId: ListRemoteTransportNodeStatus
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: BFD diagnostic code of Tunnel
        enum:
        - '0'
        - NO_DIAGNOSTIC
        - '1'
        - CONTROL_DETECTION_TIME_EXPIRED
        - '2'
        - ECHO_FUNCTION_FAILED
        - '3'
        - NEIGHBOR_SIGNALED_SESSION_DOWN
        - '4'
        - FORWARDING_PLANE_RESET
        - '5'
        - PATH_DOWN
        - '6'
        - CONCATENATED_PATH_DOWN
        - '7'
        - ADMINISTRATIVELY_DOWN
        - '8'
        - REVERSE_CONCATENATED_PATH_DOWN
        in: query
        name: bfd_diagnostic_code
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Tunnel Status
        enum:
        - UP
        - DOWN
        in: query
        name: tunnel_status
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Read status of all transport nodes with tunnel connections to transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-nodes/{node-id}/statistics/nat-rules:
    get:
      consumes:
      - application/json
      description: |
        Returns the summation of statistics for all rules from all logical routers
        which are present on given transport node. Only cached statistics are supported.
        The query parameter "source=realtime" is not supported.
      operationId: GetNatStatisticsPerTransportNode
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NatStatisticsPerTransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get statistics for all logical router NAT rules on a transport node
      tags:
      - Management Plane API, Networking, Logical Routing And Services, NAT
      x-vmw-nsx-module: AggSvcLogicalRouter
  /transport-nodes/{node-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Read status of a transport node
      operationId: GetTransportNodeStatus
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read status of a transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-nodes/{node-id}/tunnels:
    get:
      consumes:
      - application/json
      description: |-
        List of tunnels
      operationId: QueryTunnels
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: BFD diagnostic code of Tunnel as defined in RFC 5880
        enum:
        - '0'
        - NO_DIAGNOSTIC
        - '1'
        - CONTROL_DETECTION_TIME_EXPIRED
        - '2'
        - ECHO_FUNCTION_FAILED
        - '3'
        - NEIGHBOR_SIGNALED_SESSION_DOWN
        - '4'
        - FORWARDING_PLANE_RESET
        - '5'
        - PATH_DOWN
        - '6'
        - CONCATENATED_PATH_DOWN
        - '7'
        - ADMINISTRATIVELY_DOWN
        - '8'
        - REVERSE_CONCATENATED_PATH_DOWN
        in: query
        name: bfd_diagnostic_code
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: remote_node_id
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Tunnel status
        enum:
        - UP
        - DOWN
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TunnelList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List of tunnels
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Tunnels
      x-vmw-nsx-module: Tunnel
  /transport-nodes/{node-id}/tunnels/{tunnel-name}:
    get:
      consumes:
      - application/json
      description: |-
        Tunnel properties
      operationId: GetTunnel
      parameters:
      - description: |-
          ID of transport node
        in: path
        name: node-id
        required: true
        type: string
      - description: |-
          Tunnel name
        in: path
        name: tunnel-name
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TunnelProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Tunnel properties
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Tunnels
      x-vmw-nsx-module: Tunnel
  /transport-nodes/{node-id}?action=redeploy:
    post:
      consumes:
      - application/json
      description: |
        Redeploys an edge node at NSX Manager that replaces the edge node with
        identifier <node-id>. If NSX Manager can access the specified edge node,
        then the node is put into maintenance mode and then the associated VM is
        deleted. This is a means to reset all configuration on the edge node.
        The communication channel between NSX Manager and edge is established after
        this operation.
      operationId: RedeployEdgeTransportNodeRedeploy
      parameters:
      - in: path
        name: node-id
        required: true
        type: string
      - in: body
        name: TransportNode
        required: true
        schema:
          $ref: '#/definitions/TransportNode'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Redeploys a new node that replaces the specified edge node.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{target-node-id}/{target-uri}:
    delete:
      consumes:
      - application/json
      description: |-
        Invoke DELETE request on target transport node
      operationId: InvokeDeleteTransportNodeCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke DELETE request on target transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: CentralApiModule
    get:
      consumes:
      - application/json
      description: |-
        Invoke GET request on target transport node
      operationId: InvokeGetTransportNodeCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke GET request on target transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: CentralApiModule
    post:
      consumes:
      - application/json
      description: |-
        Invoke POST request on target transport node
      operationId: InvokePostTransportNodeCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke POST request on target transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: CentralApiModule
    put:
      consumes:
      - application/json
      description: |-
        Invoke PUT request on target transport node
      operationId: InvokePutTransportNodeCentralAPI
      parameters:
      - description: |-
          Target node UUID
        in: path
        name: target-node-id
        required: true
        type: string
      - description: |-
          URI of API to invoke on target node
        in: path
        name: target-uri
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
        '504':
          description: Gateway Timeout
      summary: |-
        Invoke PUT request on target transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: CentralApiModule
  /transport-nodes/{transport-node-id}:
    delete:
      consumes:
      - application/json
      description: |
        Deletes the specified transport node. Query param force can be used to
        force delete the host nodes. Force deletion of edge and public cloud
        gateway nodes is not supported.

        It also removes the specified node (host or edge) from system.
        If unprepare_host option is set to false, then host will be deleted
        without uninstalling the NSX components from the host.
      operationId: DeleteTransportNodeWithDeploymentInfo
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      - default: true
        description: Uninstall NSX components from host while deleting
        in: query
        name: unprepare_host
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified transport node.
      operationId: GetTransportNodeWithDeploymentInfo
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
    put:
      consumes:
      - application/json
      description: |
        Modifies the transport node information. The host_switch_name field
        must match the host_switch_name value specified in the transport zone
        (API: transport-zones). You must create the associated uplink profile
        (API: host-switch-profiles) before you can specify an uplink_name here.
        If the host is an ESX and has only one physical NIC being used by a vSphere
        standard switch, TransportNodeUpdateParameters should be used to migrate
        the management interface and the physical NIC into a logical switch that
        is in a transport zone this transport node will join or has already joined.
        If the migration is already done, TransportNodeUpdateParameters can also be
        used to migrate the management interface and the physical NIC back to a
        vSphere standard switch.
        In other cases, the TransportNodeUpdateParameters should NOT be used.
        When updating transport node you should follow pattern where you should
        fetch the existing transport node and then only modify the required
        properties keeping other properties as is.

        It also modifies attributes of node (host or edge).

        Note: Previous versions of NSX-T also used a property named
        transport_zone_endpoints at TransportNode level. This property is
        deprecated which creates some combinations of new client along with
        old client payloads. Examples [1] shows old/existing client
        request and response by populating transport_zone_endpoints property
        at TransportNode level. Example [2] shows TransportNode updating
        TransportNode from exmaple [1] request/response by adding a
        new StandardHostSwitch by populating transport_zone_endpoints at
        StandardHostSwitch level. TransportNode level transport_zone_endpoints
        will ONLY have TransportZoneEndpoints that were originally specified
        here during create/update operation and does not include
        TransportZoneEndpoints that were directly specified at
        StandardHostSwitch level.
      operationId: UpdateTransportNodeWithDeploymentInfo
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      - in: body
        name: TransportNode
        required: true
        schema:
          $ref: '#/definitions/TransportNode'
      - description: The network ids to which the ESX vmk interfaces will be migrated
        in: query
        name: esx_mgmt_if_migration_dest
        required: false
        type: string
      - description: The ESX vmk interfaces to migrate
        in: query
        name: if_id
        required: false
        type: string
      - description: IP Addresses to ping right after ESX vmk interfaces were migrated.
        in: query
        name: ping_ip
        required: false
        type: string
      - default: false
        description: Whether to skip front-end validation for vmk/vnic/pnic migration
        in: query
        name: skip_validation
        required: false
        type: boolean
      - description: The ESX vmk interfaces and/or VM NIC to migrate
        in: query
        name: vnic
        required: false
        type: string
      - description: The migration destinations of ESX vmk interfaces and/or VM NIC
        in: query
        name: vnic_migration_dest
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNode'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}/capabilities:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about capabilities of transport host node. Edge nodes do not have capabilities.
      operationId: ListTransportNodeCapabilities
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeCapabilitiesResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of capabilities of transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}/network/interfaces:
    get:
      consumes:
      - application/json
      description: |
        Returns the number of interfaces on the node and detailed
        information about each interface. Interface information includes MTU,
        broadcast and host IP addresses, link and admin status, MAC address, network
        mask, and the IP configuration method (static or DHCP).
      operationId: ListTransportNodeInterfaces
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      - description: Admin status of the interface
        enum:
        - UP
        - DOWN
        in: query
        name: admin_status
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfacePropertiesListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List the specified transport node's network interfaces
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Interfaces
      x-vmw-nsx-module: ApplianceStats
  /transport-nodes/{transport-node-id}/network/interfaces/{interface-id}:
    get:
      consumes:
      - application/json
      description: |
        Returns detailed information about the specified interface. Interface
        information includes MTU, broadcast and host IP addresses, link and admin
        status, MAC address, network  mask, and the IP configuration method (static
        or DHCP).
      operationId: ReadTransportNodeInterface
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the transport node's network interface
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Interfaces
      x-vmw-nsx-module: ApplianceStats
  /transport-nodes/{transport-node-id}/network/interfaces/{interface-id}/stats:
    get:
      consumes:
      - application/json
      description: |
        On the specified interface, returns the number of received (rx), transmitted
        (tx), and dropped packets; the number of bytes and errors received and
        transmitted on the interface; and the number of detected collisions.
      operationId: ReadTransportNodeInterfaceStatistics
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      - in: path
        name: interface-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInterfaceStatisticsProperties'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read the NSX Manager's Network Interface Statistics
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Interfaces
      x-vmw-nsx-module: ApplianceStats
  /transport-nodes/{transport-node-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the current state of the transport node
        configuration and information about the associated hostswitch.
      operationId: GetTransportNodeStateWithDeploymentInfo
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Transport Node's State
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=disable_flow_cache:
    post:
      consumes:
      - application/json
      description: |
        Disable flow cache for edge transport node.
        Caution: This involves restart of the edge
        dataplane and hence may lead to network disruption.
      operationId: DisableFlowCacheDisable_flow_cache
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Disable flow cache for an edge transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=enable_flow_cache:
    post:
      consumes:
      - application/json
      description: |
        Enable flow cache for edge transport node.
        Caution: This involves restart of the edge
        dataplane and hence may lead to network disruption.
      operationId: EnableFlowCacheEnable_flow_cache
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Enable flow cache for an edge transport node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=migrate_to_vds:
    post:
      consumes:
      - application/json
      description: |
        Migrates all NVDS to VDS on given TransportNode. Upgrade precheck apis
        should have been run prior to invoking this API on transport node and a
        migration topology should be created. Please refer to Migration guide
        for details about migration APIs.
      operationId: MigrateTransportNodeFromNvdsToVdsMigrate_to_vds
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Trigger Migration of NVDS to VDS on this TransportNode.
      tags:
      - Management Plane API, Network Transport, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=refresh_node_configuration&resource_type=EdgeNode:
    post:
      consumes:
      - application/json
      description: |
        The API is applicable for Edge transport nodes. If you update the VM
        configuration and find a discrepancy in VM configuration at NSX Manager,
        then use this API to refresh configuration at NSX Manager.
        It refreshes the VM configuration from sources external to MP. Sources
        include vSphere Server and the edge node. After this action, the API
        GET api/v1/transport-nodes will show refreshed data.
      operationId: RefreshTransportNode
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Refresh the node configuration for the Edge node.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=restart_inventory_sync:
    post:
      consumes:
      - application/json
      description: |
        Restart the inventory sync for the node if it is currently internally paused.
        After this action the next inventory sync coming from the node is processed.
      operationId: RestartTransportNodeInventorySyncRestart_inventory_sync
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Restart the inventory sync for the node if it is paused currently.
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transport-node-id}?action=restore_cluster_config:
    post:
      consumes:
      - application/json
      description: |
        A host can be overridden to have different configuration than Transport
        Node Profile(TNP) on cluster. This action will restore such overridden host
        back to cluster level TNP.

        This API can be used in other case. When TNP is applied to a cluster,
        if any validation fails (e.g. VMs running on host) then existing transport
        node (TN) is not updated. In that case after the issue is resolved manually
        (e.g. VMs powered off), you can call this API to update TN as per cluster
        level TNP.
      operationId: RestoreParentClusterConfigurationRestore_cluster_config
      parameters:
      - in: path
        name: transport-node-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Apply cluster level Transport Node Profile on overridden host
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNodeLcm
  /transport-nodes/{transportnode-id}:
    post:
      consumes:
      - application/json
      description: |-
        Put transport node into maintenance mode or exit from maintenance mode.
      operationId: UpdateTransportNodeMaintenanceMode
      parameters:
      - in: path
        name: transportnode-id
        required: true
        type: string
      - enum:
        - enter_maintenance_mode
        - forced_enter_maintenance_mode
        - exit_maintenance_mode
        in: query
        name: action
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update transport node maintenance mode
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNode
  /transport-nodes/{transportnode-id}?action=resync_host_config:
    post:
      consumes:
      - application/json
      description: |
        Resync the TransportNode configuration on a host.
        It is similar to updating the TransportNode with existing configuration,
        but force synce these configurations to the host (no backend optimizations).
      operationId: ResyncTransportNodeResync_host_config
      parameters:
      - in: path
        name: transportnode-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Resync a Transport Node
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Nodes
      x-vmw-nsx-module: TransportNode
  /transport-zones:
    get:
      consumes:
      - application/json
      description: |
        Returns information about configured transport zones. NSX requires at
        least one transport zone. NSX uses transport zones to provide connectivity
        based on the topology of the underlying network, trust zones, or
        organizational separations. For example, you might have hypervisors that
        use one network for management traffic and a different network for VM
        traffic. This architecture would require two transport zones. The
        combination of transport zones plus transport connectors enables NSX to
        form tunnels between hypervisors. Transport zones define which interfaces
        on the hypervisors can communicate with which other interfaces on other
        hypervisors to establish overlay tunnels or provide connectivity to a VLAN.
        A logical switch can be in one (and only one) transport zone. This means
        that all of a switch's interfaces must be in the same transport zone.
        However, each hypervisor virtual switch (OVS or VDS) has multiple
        interfaces (connectors), and each connector can be attached to a different
        logical switch. For example, on a single hypervisor with two connectors,
        connector A can be attached to logical switch 1 in transport zone A, while
        connector B is attached to logical switch 2 in transport zone B. In this
        way, a single hypervisor can participate in multiple transport zones. The
        API for creating a transport zone requires that a single host switch be
        specified for each transport zone, and multiple transport zones can share
        the same host switch.
      operationId: ListTransportZones
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Filter to indicate whether to include system owned Transport
          Zones.
        in: query
        name: include_system_owned
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Filter to choose if default transport zones will be returned
        in: query
        name: is_default
        type: boolean
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Filter to choose the type of transport zones to return
        enum:
        - OVERLAY
        - VLAN
        in: query
        name: transport_type
        type: string
      - description: The transport zone's uplink teaming policy name
        in: query
        name: uplink_teaming_policy_name
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZoneListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List Transport Zones
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
    post:
      consumes:
      - application/json
      description: |
        Creates a new transport zone. The required parameters are host_switch_name
        and transport_type (OVERLAY or VLAN). The optional parameters are
        description and display_name.
      operationId: CreateTransportZone
      parameters:
      - in: body
        name: TransportZone
        required: true
        schema:
          $ref: '#/definitions/TransportZone'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TransportZone'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Transport Zone
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
  /transport-zones/status:
    get:
      consumes:
      - application/json
      description: |-
        Get high-level summary of a transport zone. The service layer does not support source = realtime or cached.
      operationId: GetAllTransportZoneStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HeatMapTransportNodesAggregateStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get high-level summary of a transport zone. The service layer does not support source = realtime or cached.
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: Heatmap
  /transport-zones/transport-node-status:
    get:
      consumes:
      - application/json
      description: |-
        Read status of all the transport nodes
      operationId: ListTransportNodeStatus
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Transport node
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read status of all the transport nodes
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-zones/transport-node-status-report:
    get:
      consumes:
      - application/json
      description: |-
        You must provide the request header "Accept:application/octet-stream" when calling this API.
      operationId: GetTransportNodeReport
      parameters:
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Transport node
        enum:
        - UP
        - DOWN
        - DEGRADED
        in: query
        name: status
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates a status report of transport nodes of all the transport zones
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-zones/{zone-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes an existing transport zone.
      operationId: DeleteTransportZone
      parameters:
      - in: path
        name: zone-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a Transport Zone
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a single transport zone.
      operationId: GetTransportZone
      parameters:
      - in: path
        name: zone-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZone'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Transport Zone
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
    put:
      consumes:
      - application/json
      description: |
        Updates an existing transport zone. Modifiable parameters are
        is_default, description, and display_name. The
        request must include the existing host_switch_name.
      operationId: UpdateTransportZone
      parameters:
      - in: path
        name: zone-id
        required: true
        type: string
      - in: body
        name: TransportZone
        required: true
        schema:
          $ref: '#/definitions/TransportZone'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZone'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a Transport Zone
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
  /transport-zones/{zone-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Get high-level summary of a transport zone
      operationId: GetHeatmapTransportZoneStatus
      parameters:
      - description: |-
          ID of transport zone
        in: path
        name: zone-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/HeatMapTransportZoneStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get high-level summary of a transport zone
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: Heatmap
  /transport-zones/{zone-id}/summary:
    get:
      consumes:
      - application/json
      description: |
        Returns information about a specified transport zone, including the number
        of logical switches in the transport zone, number of logical spitch ports
        assigned to the transport zone, and number of transport nodes in the
        transport zone.
      operationId: GetTransportZoneStatus
      parameters:
      - in: path
        name: zone-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZoneStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a Transport Zone's Current Runtime Status Information
      tags:
      - System Administration, Configuration, Fabric, Transport Zones
      x-vmw-nsx-module: TransportZone
  /transport-zones/{zone-id}/transport-node-status:
    get:
      consumes:
      - application/json
      description: |-
        Read status of transport nodes in a transport zone
      operationId: ListTransportNodeStatusForTransportZone
      parameters:
      - description: |-
          ID of transport zone
        in: path
        name: zone-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Transport node
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportNodeStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Read status of transport nodes in a transport zone
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transport-zones/{zone-id}/transport-node-status-report:
    get:
      consumes:
      - application/json
      description: |-
        You must provide the request header "Accept:application/octet-stream" when calling this API.
      operationId: GetTransportNodeReportForATransportZone
      parameters:
      - description: |-
          ID of transport zone
        in: path
        name: zone-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      - description: Transport node
        enum:
        - UP
        - DOWN
        - DEGRADED
        in: query
        name: status
        type: string
      produces:
      - application/octet-stream
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates a status report of transport nodes in a transport zone
      tags:
      - System Administration, Configuration, Fabric, Nodes, Transport Node Status
      x-vmw-nsx-module: Heatmap
  /transportzone-profiles:
    get:
      consumes:
      - application/json
      description: |
        Returns information about the configured transport zone profiles. Transport zone
        profiles define networking policies for transport zones and transport zone endpoints.
      operationId: ListTransportZoneProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Whether the list result contains system resources
        in: query
        name: include_system_owned
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: comma-separated list of transport zone profile types, e.g. ?resource_type=BfdHealthMonitoringProfile
        in: query
        name: resource_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZoneProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List transport zone profiles
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Zone Profiles
      x-vmw-nsx-module: TransportZoneProfile
    post:
      consumes:
      - application/json
      description: |
        Creates a transport zone profile. The resource_type is required.
      operationId: CreateTransportZoneProfile
      parameters:
      - in: body
        name: TransportZoneProfile
        required: true
        schema:
          $ref: '#/definitions/TransportZoneProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TransportZoneProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a transport zone Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Zone Profiles
      x-vmw-nsx-module: TransportZoneProfile
  /transportzone-profiles/{transportzone-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes a specified transport zone profile.
      operationId: DeleteTransportZoneProfile
      parameters:
      - in: path
        name: transportzone-profile-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a transport zone Profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Zone Profiles
      x-vmw-nsx-module: TransportZoneProfile
    get:
      consumes:
      - application/json
      description: |-
        Returns information about a specified transport zone profile.
      operationId: GetTransportZoneProfile
      parameters:
      - in: path
        name: transportzone-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZoneProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get transport zone profile by identifier
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Zone Profiles
      x-vmw-nsx-module: TransportZoneProfile
    put:
      consumes:
      - application/json
      description: |
        Modifies a specified transport zone profile. The body of the PUT request must include the resource_type.
      operationId: UpdateTransportZoneProfile
      parameters:
      - in: path
        name: transportzone-profile-id
        required: true
        type: string
      - in: body
        name: TransportZoneProfile
        required: true
        schema:
          $ref: '#/definitions/TransportZoneProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TransportZoneProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a transport zone profile
      tags:
      - System Administration, Configuration, Fabric, Profiles, Transport Zone Profiles
      x-vmw-nsx-module: TransportZoneProfile
  /trust-management:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the supported algorithms and key sizes.
      operationId: GetTrustObjects
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TrustManagementData'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the Properties of a Trust Manager
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificate-profile/{service-type}:
    get:
      consumes:
      - application/json
      description: |
        Get an available certificate profile
      operationId: GetCertificateProfile
      parameters:
      - description: |-
          Unique Service Type of the Certificate Profile
        in: path
        name: service-type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CertificateProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the certificate profile for the given service type
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificate-profiles:
    get:
      consumes:
      - application/json
      description: |-
        Return the list of certificate profiles. |
      operationId: ListCertificateProfiles
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CertificateProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of certificate profiles. |
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates:
    get:
      consumes:
      - application/json
      description: |
        Returns all certificate information viewable by the user, including each
        certificate's UUID; resource_type (for example, certificate_self_signed,
        certificate_ca, or certificate_signed); pem_encoded data; and history of the
        certificate (who created or modified it and when). For additional
        information, include the ?details=true modifier at the end of the request
        URI.
      operationId: GetCertificates
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: whether to expand the pem data and show all its details
        in: query
        name: details
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Type of certificate to return
        enum:
        - cluster_api_certificate
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CertificateList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return All the User-Facing Components' Certificates
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates/{cert-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes the specified certificate. The private key associated with the
        certificate is also deleted.
      operationId: DeleteCertificate
      parameters:
      - description: |-
          ID of certificate to delete
        in: path
        name: cert-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete Certificate for the Given Certificate ID
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |
        Returns information for the specified certificate ID, including the
        certificate's UUID; resource_type (for example, certificate_self_signed,
        certificate_ca, or certificate_signed); pem_encoded data; and history of the
        certificate (who created or modified it and when). For additional
        information, include the ?details=true modifier at the end of the request
        URI.
      operationId: GetCertificate
      parameters:
      - description: |-
          ID of certificate to read
        in: path
        name: cert-id
        required: true
        type: string
      - default: false
        description: whether to expand the pem data and show all its details
        in: query
        name: details
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Certificate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show Certificate Data for the Given Certificate ID
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates/{cert-id}?action=apply_certificate:
    post:
      consumes:
      - application/json
      description: |
        Look up the Certificate Profile matching the service-type and apply the certificate.
        When the Certificate Profile has cluster_certificate=false, the node_id parameter
        is required to designate the node where the certificate needs to be applied.
      operationId: ApplyCertificateApply_certificate
      parameters:
      - description: |-
          ID of certificate to apply
        in: path
        name: cert-id
        required: true
        type: string
      - description: Node Id
        in: query
        maxLength: 255
        name: node_id
        required: false
        type: string
      - description: Supported service types, that are using certificates.
        enum:
        - MGMT_CLUSTER
        - MGMT_PLANE
        - API
        - NOTIFICATION_COLLECTOR
        - SYSLOG_SERVER
        - RSYSLOG_CLIENT
        - APH
        - GLOBAL_MANAGER
        - LOCAL_MANAGER
        - CLIENT_AUTH
        - RMQ
        in: query
        name: service_type
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Apply a certificate for a CertificateProfile
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates/{cert-id}?action=validate:
    get:
      consumes:
      - application/json
      description: |
        Checks whether certificate is valid. When the certificate contains a chain, the full chain is validated.
        The usage parameter can be SERVER (default) or CLIENT. This indicates whether the certificate needs to
        be validated as a server-auth or a client-auth certificate.
      operationId: ValidateCertificateValidate
      parameters:
      - description: |-
          ID of certificate to validate
        in: path
        name: cert-id
        required: true
        type: string
      - description: Usage Type of the Certificate, SERVER or CLIENT. Default is SERVER
        enum:
        - SERVER
        - CLIENT
        in: query
        name: usage
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CertificateCheckingStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Validate a certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates?action=import:
    post:
      consumes:
      - application/json
      description: |
        Adds a new private-public certificate or a chain of certificates (CAs) and,
        optionally, a private key that can be applied to one of the user-facing
        components (appliance management or edge). The certificate and the key
        should be stored in PEM format. If no private key is provided, the
        certificate is used as a client certificate in the trust store.
      operationId: AddCertificateImport
      parameters:
      - in: body
        name: TrustObjectData
        required: true
        schema:
          $ref: '#/definitions/TrustObjectData'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/CertificateList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a New Certificate
      tags:
      - System Administration, Settings, Certificates, Certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/certificates?action=set_pi_certificate_for_federation:
    post:
      consumes:
      - application/json
      description: |
        Set a certificate that has been imported to be either the principal
        identity certificate for the local cluster with either GM or LM service
        type.
        Currently, the service type specified must match the current service type
        of the local cluster.
      operationId: SetPrincipalIdentityCertificateForFederationSet_pi_certificate_for_federation
      parameters:
      - in: body
        name: SetPrincipalIdentityCertificateForFederationRequest
        required: true
        schema:
          $ref: '#/definitions/SetPrincipalIdentityCertificateForFederationRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Set a certificate as a GM or LM Principal Identity certificate
      x-vmw-nsx-module: CertificateManager
  /trust-management/crl-distribution-points:
    get:
      consumes:
      - application/json
      description: |-
        Return the list of CrlDistributionPoints
      operationId: ListCrlDistributionPoints
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CrlDistributionPointList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of CrlDistributionPoints
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
    post:
      consumes:
      - application/json
      description: |
        Create an entity that will represent a Crl Distribution Point
      operationId: CreateCrlDistributionPoint
      parameters:
      - in: body
        name: CrlDistributionPoint
        required: true
        schema:
          $ref: '#/definitions/CrlDistributionPoint'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/CrlDistributionPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a Crl Distribution Point
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
  /trust-management/crl-distribution-points/pem-file:
    post:
      consumes:
      - application/json
      description: |-
        Return stored CRL in PEM format
      operationId: GetCrlDistributionPointPem
      parameters:
      - in: body
        name: CrlPemRequestType
        required: true
        schema:
          $ref: '#/definitions/CrlPemRequestType'
      produces:
      - text/plain;charset=UTF-8
      responses:
        '200':
          description: OK
          schema:
            type: string
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return stored CRL in PEM format
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
  /trust-management/crl-distribution-points/{crl-distribution-point-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a CrlDistributionPoint. It does not delete the actual CRL.
      operationId: DeleteCrlDistributionPoint
      parameters:
      - description: |-
          Unique id of the CrlDistributionPoint to delete
        in: path
        name: crl-distribution-point-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a CrlDistributionPoint
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |-
        Return the CrlDistributionPoint with <crl-distribution-point-id>
      operationId: GetCrlDistributionPoint
      parameters:
      - in: path
        name: crl-distribution-point-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CrlDistributionPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the CrlDistributionPoint with <crl-distribution-point-id>
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
    put:
      consumes:
      - application/json
      description: |
        Update CrlDistributionPoint with <crl-distribution-point-id>
        This allows updating the ManagedResource fields.
      operationId: UpdateCrlDistributionPoint
      parameters:
      - in: path
        name: crl-distribution-point-id
        required: true
        type: string
      - in: body
        name: CrlDistributionPoint
        required: true
        schema:
          $ref: '#/definitions/CrlDistributionPoint'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CrlDistributionPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Update CrlDistributionPoint with <crl-distribution-point-id>
        This allows updating the ManagedResource fields.
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
  /trust-management/crl-distribution-points/{crl-distribution-point-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Return the status of the CrlDistributionPoint
      operationId: GetCrlDistributionPointStatus
      parameters:
      - in: path
        name: crl-distribution-point-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CrlDistributionPointStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the status of the CrlDistributionPoint
      tags:
      - System Administration, Settings, Certificates, CRL
      x-vmw-nsx-module: CertificateManager
  /trust-management/crls:
    get:
      consumes:
      - application/json
      description: |
        Returns information about all CRLs. For additional information, include the
        ?details=true modifier at the end of the request URI.
      operationId: GetCrls
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: whether to expand the pem data and show all its details
        in: query
        name: details
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Type of certificate to return
        enum:
        - cluster_api_certificate
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CrlList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return All Added CRLs
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/crls/{crl-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Deletes an existing CRL.
      operationId: DeleteCrl
      parameters:
      - description: |-
          ID of CRL to delete
        in: path
        name: crl-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a CRL
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |
        Returns information about the specified CRL. For additional information,
        include the ?details=true modifier at the end of the request URI.
      operationId: GetCrl
      parameters:
      - description: |-
          ID of CRL to read
        in: path
        name: crl-id
        required: true
        type: string
      - default: false
        description: whether to expand the pem data and show all its details
        in: query
        name: details
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Crl'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show CRL Data for the Given CRL ID
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
    put:
      consumes:
      - application/json
      description: |-
        Updates an existing CRL.
      operationId: UpdateCrl
      parameters:
      - description: |-
          ID of CRL to update
        in: path
        name: crl-id
        required: true
        type: string
      - in: body
        name: Crl
        required: true
        schema:
          $ref: '#/definitions/Crl'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Crl'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update CRL for the Given CRL ID
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/crls?action=import:
    post:
      consumes:
      - application/json
      description: |
        Adds a new certificate revocation list (CRL). The CRL is used to verify the
        client certificate status against the revocation lists published by the CA.
        For this reason, the administrator needs to add the CRL in certificate
        repository as well.
      operationId: AddCrlImport
      parameters:
      - in: body
        name: CrlObjectData
        required: true
        schema:
          $ref: '#/definitions/CrlObjectData'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/CrlList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add a New Certificate Revocation List
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/csrs:
    get:
      consumes:
      - application/json
      description: |-
        Returns information about all of the CSRs that have been created.
      operationId: GetCsrs
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/CsrList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return All the Generated CSRs
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
    post:
      consumes:
      - application/json
      description: |
        Creates a new certificate signing request (CSR). A CSR is encrypted text that
        contains information about your organization (organization name, country,
        and so on) and your Web server's public key, which is a public certificate
        the is generated on the server that can be used to forward this request to a
        certificate authority (CA). A private key is also usually created at the
        same time as the CSR.
      operationId: GenerateCsr
      parameters:
      - in: body
        name: Csr
        required: true
        schema:
          $ref: '#/definitions/Csr'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Csr'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Generate a New Certificate Signing Request
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/csrs/{csr-id}:
    delete:
      consumes:
      - application/json
      description: |
        Removes a specified CSR. If a CSR is not used for verification, you can
        delete it. Note that the CSR import and upload POST actions automatically
        delete the associated CSR.
      operationId: DeleteCsr
      parameters:
      - description: |-
          ID of CSR to delete
        in: path
        name: csr-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a CSR
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |-
        Returns information about the specified CSR.
      operationId: GetCsr
      parameters:
      - description: |-
          ID of CSR to read
        in: path
        name: csr-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Csr'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Show CSR Data for the Given CSR ID
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/csrs/{csr-id}/pem-file:
    get:
      consumes:
      - application/json
      description: |-
        Downloads the CSR PEM file for a specified CSR. Clients must include an Accept: text/plain request header.
      operationId: GetCsrPem
      parameters:
      - description: |-
          ID of CSR to read
        in: path
        name: csr-id
        required: true
        type: string
      produces:
      - text/plain;charset=UTF-8
      responses:
        '200':
          description: OK
          schema:
            type: string
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get CSR PEM File for the Given CSR ID
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/csrs/{csr-id}?action=import:
    post:
      consumes:
      - application/json
      description: |
        Imports a certificate authority (CA)-signed certificate for a CSR. This
        action links the certificate to the private key created by the CSR. The
        pem_encoded string in the request body is the signed certificate provided by
        your CA in response to the CSR that you provide to them. The import POST
        action automatically deletes the associated CSR.
      operationId: ImportCertificateImport
      parameters:
      - description: |-
          CSR this certificate is associated with
        in: path
        name: csr-id
        required: true
        type: string
      - in: body
        name: TrustObjectData
        required: true
        schema:
          $ref: '#/definitions/TrustObjectData'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/CertificateList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Import a Certificate Associated with an Approved CSR
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/csrs/{csr-id}?action=self_sign:
    post:
      consumes:
      - application/json
      description: |
        Self-signs the previously generated CSR. This action is similar to the
        import certificate action, but instead of using a public certificate signed
        by a CA, the self_sign POST action uses a certificate that is signed with
        NSX's own private key. For validity, if a value greater than 825 days is provided,
        it will be set to 825 days.
      operationId: SelfSignCertificateSelf_sign
      parameters:
      - description: |-
          CSR this certificate is associated with
        in: path
        name: csr-id
        required: true
        type: string
      - default: 825
        description: Number of days the certificate will be valid, default 825 days
        format: int64
        in: query
        maximum: 10000
        minimum: 1
        name: days_valid
        required: true
        type: integer
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Certificate'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Self-Sign the CSR
      tags:
      - System Administration, Settings, Certificates, CSR
      x-vmw-nsx-module: CertificateManager
  /trust-management/oidc-uris:
    get:
      consumes:
      - application/json
      description: |-
        Return the list of OpenID Connect end-points.
      operationId: ListOidcEndPoints
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OidcEndPointListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of OpenID Connect end-points.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
    post:
      consumes:
      - application/json
      description: |
        This request also fetches the issuer and jwks_uri meta-data from the OIDC
        end-point and stores it.
      operationId: AddOidcEndPoint
      parameters:
      - in: body
        name: OidcEndPoint
        required: true
        schema:
          $ref: '#/definitions/OidcEndPoint'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/OidcEndPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add an OpenID Connect end-point.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/oidc-uris/{id}:
    get:
      consumes:
      - application/json
      description: |
        When ?refresh=true is added to the request, the meta-data is newly fetched
        from the OIDC end-point.
      operationId: GetOidcEndPoint
      parameters:
      - in: path
        name: id
        required: true
        type: string
      - default: false
        description: Refresh meta-data
        in: query
        name: refresh
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OidcEndPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get an OpenID Connect end-point.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/oidc-uris?action=update_thumbprint:
    post:
      consumes:
      - application/json
      description: |
        Update a OpenID Connect end-point's thumbprint used to connect to the
        oidc_uri through SSL
      operationId: UpdateOidcEndPointThumbprintUpdate_thumbprint
      parameters:
      - in: body
        name: UpdateOidcEndPointThumbprintRequest
        required: true
        schema:
          $ref: '#/definitions/UpdateOidcEndPointThumbprintRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/OidcEndPoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a OpenID Connect end-point's thumbprint
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/principal-identities:
    get:
      consumes:
      - application/json
      description: |-
        Returns the list of principals registered with a certificate.
      operationId: GetPrincipalIdentities
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PrincipalIdentityList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of principal identities
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
    post:
      consumes:
      - application/json
      description: |
        Associates a principal's name with a certificate that is used to authenticate.
        The combination name and node_id needs to be unique across token-based and
        certificate-based principal identities.
        Deprecated, use POST /trust-management/principal-identities/with-certificate instead.
      operationId: RegisterPrincipalIdentity
      parameters:
      - in: body
        name: PrincipalIdentity
        required: true
        schema:
          $ref: '#/definitions/PrincipalIdentity'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register a name-certificate combination.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/principal-identities/with-certificate:
    post:
      consumes:
      - application/json
      description: |
        Create a principal identity with a new, unused, certificate.
        The combination name and node_id needs to be unique across token-based and
        certificate-based principal identities.
      operationId: RegisterPrincipalIdentityWithCertificate
      parameters:
      - in: body
        name: PrincipalIdentityWithCertificate
        required: true
        schema:
          $ref: '#/definitions/PrincipalIdentityWithCertificate'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/PrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register a name-certificate combination.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/principal-identities/{principal-identity-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a principal identity. It does not delete the certificate.
      operationId: DeletePrincipalIdentity
      parameters:
      - description: |-
          Unique id of the principal identity to delete
        in: path
        name: principal-identity-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a principal identity
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |
        Get a stored principal identity
      operationId: GetPrincipalIdentity
      parameters:
      - description: |-
          ID of the principal identity to get
        in: path
        name: principal-identity-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a principal identity
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/principal-identities?action=update_certificate:
    post:
      consumes:
      - application/json
      description: |
        Update a principal identity's certificate
      operationId: UpdatePrincipalIdentityCertificateUpdate_certificate
      parameters:
      - in: body
        name: UpdatePrincipalIdentityCertificateRequest
        required: true
        schema:
          $ref: '#/definitions/UpdatePrincipalIdentityCertificateRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/PrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update a principal identity's certificate
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/token-principal-identities:
    get:
      consumes:
      - application/json
      description: |-
        Return the list of token-based principal identities. | These don't have certificate or role information.
      operationId: ListTokenBasedPrincipalIdentities
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TokenBasedPrincipalIdentityListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return the list of token-based principal identities. | These don't have certificate or role information.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
    post:
      consumes:
      - application/json
      description: |
        Register a principal identity that is going to be authenticated through a token.
        The combination name and node_id needs to be unique across token-based and
        certificate-based principal identities.
      operationId: RegisterTokenBasedPrincipalIdentity
      parameters:
      - in: body
        name: TokenBasedPrincipalIdentity
        required: true
        schema:
          $ref: '#/definitions/TokenBasedPrincipalIdentity'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/TokenBasedPrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Register a token-based principal identity.
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /trust-management/token-principal-identities/{principal-identity-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete a token-based principal identity.
      operationId: DeleteTokenBasedPrincipalIdentity
      parameters:
      - description: |-
          Unique id of the token-based principal identity to delete
        in: path
        name: principal-identity-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a token-based principal identity
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
    get:
      consumes:
      - application/json
      description: |
        Get a stored token-based principal identity
      operationId: GetTokenBasedPrincipalIdentity
      parameters:
      - description: |-
          ID of the principal identity to get
        in: path
        name: principal-identity-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/TokenBasedPrincipalIdentity'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a token-based principal identity
      tags:
      - System Administration, Settings, User Management, Principal Identity
      x-vmw-nsx-module: CertificateManager
  /ui-views:
    get:
      consumes:
      - application/json
      description: |
        If no query params are specified then all the views entitled for the user
        are returned. The views to which a user is entitled to include the views
        created by the user and the shared views.
      operationId: ListViews
      parameters:
      - description: The tag for which associated views to be queried.
        in: query
        name: tag
        type: string
      - description: Ids of the Views
        in: query
        maxLength: 8192
        name: view_ids
        type: string
      - description: Id of widget configuration
        in: query
        maxLength: 255
        name: widget_id
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ViewList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the Views based on query criteria defined in ViewQueryParameters.
      tags:
      - System Administration, Monitoring, Dashboards, UI Views
      x-vmw-nsx-module: NsxDashboard
    post:
      consumes:
      - application/json
      description: |-
        Creates a new View.
      operationId: CreateView
      parameters:
      - in: body
        name: View
        required: true
        schema:
          $ref: '#/definitions/View'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/View'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates a new View.
      tags:
      - System Administration, Monitoring, Dashboards, UI Views
      x-vmw-nsx-module: NsxDashboard
  /ui-views/{view-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete View
      operationId: DeletView
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete View
      tags:
      - System Administration, Monitoring, Dashboards, UI Views
      x-vmw-nsx-module: NsxDashboard
    get:
      consumes:
      - application/json
      description: |
        Returns Information about a specific View.
      operationId: GetView
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/View'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns View Information
      tags:
      - System Administration, Monitoring, Dashboards, UI Views
      x-vmw-nsx-module: NsxDashboard
    put:
      consumes:
      - application/json
      description: |-
        Update View
      operationId: UpdateView
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - in: body
        name: View
        required: true
        schema:
          $ref: '#/definitions/View'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/View'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update View
      tags:
      - System Administration, Monitoring, Dashboards, UI Views
      x-vmw-nsx-module: NsxDashboard
  /ui-views/{view-id}/widgetconfigurations:
    get:
      consumes:
      - application/json
      description: |
        If no query params are specified then all the Widget Configurations of
        the specified view are returned.
      operationId: ListWidgetConfigurations
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - description: Id of the container
        in: query
        maxLength: 255
        name: container
        type: string
      - description: Ids of the WidgetConfigurations
        in: query
        maxLength: 8192
        name: widget_ids
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/WidgetConfigurationList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns the Widget Configurations based on query criteria defined in WidgetQueryParameters.
      tags:
      - System Administration, Monitoring, Dashboards, Widget Configuration
      x-vmw-nsx-module: NsxDashboard
    post:
      consumes:
      - application/json
      description: |
        Creates a new Widget Configuration and adds it to the specified view.
        Supported resource_types are LabelValueConfiguration, DonutConfiguration,
        GridConfiguration, StatsConfiguration, MultiWidgetConfiguration,
        GraphConfiguration and ContainerConfiguration.

        Note: Expressions should be given in a single line. If an expression spans
          multiple lines, then form the expression in a single line.
        For label-value pairs, expressions are evaluated as follows:
          a. First, render configurations are evaluated in their order of
             appearance in the widget config. The 'field' is evaluated at the end.
          b. Second, when render configuration is provided then the order of
             evaluation is
             1. If expressions provided in 'condition' and 'display value' are
                well-formed and free of runtime-errors such as 'null pointers' and
                evaluates to 'true'; Then remaining render configurations are not
                evaluated, and the current render configuration's 'display value'
                is taken as the final value.
             2. If expression provided in 'condition' of render configuration is
                false, then next render configuration is evaluated.
             3. Finally, 'field' is evaluated only when every render configuration
                evaluates to false and no error occurs during steps 1 and 2 above.

        If an error occurs during evaluation of render configuration, then an
          error message is shown. The display value corresponding to that label is
          not shown and evaluation of the remaining render configurations continues
          to collect and show all the error messages (marked with the 'Label' for
          identification) as 'Error_Messages: {}'.

        If during evaluation of expressions for any label-value pair an error
          occurs, then it is marked with error. The errors are shown in the report,
          along with the label value pairs that are error-free.

        Important: For elements that take expressions, strings should be provided
          by escaping them with a back-slash. These elements are - condition, field,
          tooltip text and render_configuration's display_value.
      operationId: CreateWidgetConfiguration
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - in: body
        name: WidgetConfiguration
        required: true
        schema:
          $ref: '#/definitions/WidgetConfiguration'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/WidgetConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Creates a new Widget Configuration.
      tags:
      - System Administration, Monitoring, Dashboards, Widget Configuration
      x-vmw-nsx-module: NsxDashboard
  /ui-views/{view-id}/widgetconfigurations/{widgetconfiguration-id}:
    delete:
      consumes:
      - application/json
      description: |
        Detaches widget from a given view. If the widget is no longer part of any
        view, then it will be purged.
      operationId: DeleteWidgetConfiguration
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - in: path
        name: widgetconfiguration-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete Widget Configuration
      tags:
      - System Administration, Monitoring, Dashboards, Widget Configuration
      x-vmw-nsx-module: NsxDashboard
    get:
      consumes:
      - application/json
      description: |
        Returns Information about a specific Widget Configuration.
      operationId: GetWidgetConfiguration
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - in: path
        name: widgetconfiguration-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/WidgetConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns Widget Configuration Information
      tags:
      - System Administration, Monitoring, Dashboards, Widget Configuration
      x-vmw-nsx-module: NsxDashboard
    put:
      consumes:
      - application/json
      description: |
        Updates the widget at the given view. If the widget is referenced by other
        views, then the widget will be updated in all the views that it is part of.
      operationId: UpdateWidgetConfiguration
      parameters:
      - in: path
        name: view-id
        required: true
        type: string
      - in: path
        name: widgetconfiguration-id
        required: true
        type: string
      - in: body
        name: WidgetConfiguration
        required: true
        schema:
          $ref: '#/definitions/WidgetConfiguration'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/WidgetConfiguration'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update Widget Configuration
      tags:
      - System Administration, Monitoring, Dashboards, Widget Configuration
      x-vmw-nsx-module: NsxDashboard
  /upgrade/bundles:
    post:
      consumes:
      - application/json
      description: |
        Fetches the upgrade bundle from url. The call returns after fetch is initiated.
        Check status by periodically retrieving upgrade bundle upload status
        using GET /upgrade/bundles/<bundle-id>/upload-status.
        The upload is complete when the status is SUCCESS.
      operationId: FetchUpgradeBundleFromUrl
      parameters:
      - in: body
        name: UpgradeBundleFetchRequest
        required: true
        schema:
          $ref: '#/definitions/UpgradeBundleFetchRequest'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeBundleId'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Fetch upgrade bundle from given url
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /upgrade/bundles/{bundle-id}:
    get:
      consumes:
      - application/json
      description: |
        Get uploaded upgrade bundle information
      operationId: GetUpgradeBundleInfo
      parameters:
      - in: path
        name: bundle-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeBundleInfo'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get uploaded upgrade bundle information
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /upgrade/bundles/{bundle-id}/upload-status:
    get:
      consumes:
      - application/json
      description: |
        Get uploaded upgrade bundle upload status
      operationId: GetUpgradeBundleUploadStatus
      parameters:
      - in: path
        name: bundle-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeBundleUploadStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get uploaded upgrade bundle upload status
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /upgrade/bundles/{bundle-id}?action=cancel_upload:
    post:
      consumes:
      - application/json
      description: |
        Cancel upload of upgrade bundle. This API works only when bundle upload is
        in-progress and will not work during post-processing of upgrade bundle. If
        bundle upload is in-progress, then the API call returns http OK response
        after cancelling the upload and deleting partially uploaded bundle.
      operationId: CancelUpgradeBundleUploadCancel_upload
      parameters:
      - in: path
        name: bundle-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Cancel upgrade bundle upload
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /upgrade/bundles?action=upload:
    post:
      consumes:
      - multipart/form-data
      description: |
        Upload the upgrade bundle. This call returns after upload is completed.
        You can check bundle processing status periodically by retrieving upgrade
        bundle upload status to find out if the upload and processing is completed.
      operationId: UploadUpgradeBundleAsyncUpload
      parameters:
      - description: Upgrade bundle file
        in: formData
        name: file
        required: true
        type: file
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeBundleId'
        '400':
          $ref: '#/responses/BadRequest'
        '401':
          description: Unauthorized
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upload upgrade bundle
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /upgrade/eula/accept:
    post:
      consumes:
      - application/json
      description: |
        Accept end user license agreement
      operationId: AcceptUpgradeEULA
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Accept end user license agreement
      tags:
      - System Administration, Lifecycle Management, Upgrade, Eula
      x-vmw-nsx-module: UpgradeEULA
  /upgrade/eula/acceptance:
    get:
      consumes:
      - application/json
      description: |
        Return the acceptance status of end user license agreement
      operationId: GetUpgradeEULAAcceptance
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EULAAcceptance'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Return the acceptance status of end user license agreement
      tags:
      - System Administration, Lifecycle Management, Upgrade, Eula
      x-vmw-nsx-module: UpgradeEULA
  /upgrade/eula/content:
    get:
      consumes:
      - application/json
      description: |
        Return the content of end user license agreement in the specified format.
        By default, it's pure string without line break
      operationId: GetUpgradeEULAContent
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: End User License Agreement content output format
        in: query
        name: value_format
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/EULAContent'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |
        Return the content of end user license agreement
      tags:
      - System Administration, Lifecycle Management, Upgrade, Eula
      x-vmw-nsx-module: UpgradeEULA
  /upgrade/functional-state:
    get:
      consumes:
      - application/json
      description: |
        Get the functional state of the upgrade coordinator.
      operationId: GetUcFunctionalState
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UcFunctionalState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get functional state of the upgrade coordinator
      tags:
      - System Administration, Lifecycle Management, Upgrade, Status
      x-vmw-nsx-module: Upgrade
  /upgrade/history:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade history
      operationId: GetUpgradeHistory
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeHistoryList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade history
      tags:
      - System Administration, Lifecycle Management, Upgrade, History
      x-vmw-nsx-module: Upgrade
  /upgrade/nodes:
    get:
      consumes:
      - application/json
      description: |
        Get list of nodes. If request parameter component type is specified, then
        all nodes for that component will be returned. If request parameter component
        version is specified, then all nodes at that version will be returned.
      operationId: GetNodes
      parameters:
      - description: Component type based on which nodes will be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Component version based on which nodes will be filtered
        in: query
        name: component_version
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get list of nodes across all types
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: Upgrade
  /upgrade/nodes-summary:
    get:
      consumes:
      - application/json
      description: |-
        Get summary of nodes, which includes node count for each type and component version.
      operationId: GetNodesSummary
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/NodeSummaryList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get summary of nodes
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: Upgrade
  /upgrade/plan/{component_type}/settings:
    get:
      consumes:
      - application/json
      description: |
        Get the upgrade plan settings for the component.
      operationId: GetUpgradePlanSettings
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradePlanSettings'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade plan settings for the component
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
    put:
      consumes:
      - application/json
      description: |
        Update the upgrade plan settings for the component.
      operationId: UpdateUpgradePlanSettings
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      - in: body
        name: UpgradePlanSettings
        required: true
        schema:
          $ref: '#/definitions/UpgradePlanSettings'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradePlanSettings'
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update upgrade plan settings for the component
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=continue:
    post:
      consumes:
      - application/json
      description: |
        Continue the upgrade. Resumes the upgrade from the point where
        it was paused.
      operationId: ContinueUpgradeContinue
      parameters:
      - description: Component to upgrade.
        in: query
        name: component_type
        required: false
        type: string
      - default: false
        description: Skip to upgrade of next component.
        in: query
        name: skip
        required: false
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Continue upgrade
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=pause:
    post:
      consumes:
      - application/json
      description: |
        Pause the upgrade. Upgrade will be paused after upgrade of all
        the nodes currently in progress is completed either successfully
        or with failure. User can make changes in the upgrade plan when
        the upgrade is paused.
      operationId: PauseUpgradePause
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Pause upgrade
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=reset:
    post:
      consumes:
      - application/json
      description: |
        Reset the upgrade plan to default plan. User has an option to change
        the default plan. But if after making changes, user wants to go
        back to the default plan, this is the way to do so.
      operationId: ResetUpgradePlanReset
      parameters:
      - description: Component type
        in: query
        name: component_type
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset upgrade plan to default plan
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=stage-upgrade:
    post:
      consumes:
      - application/json
      description: |
        This will stage the upgrade bits so that upgrade can be driven
        from outside NSX upgrade-coordinator. If component type is not
        provided as a request parameter then upgrade staging will be
        performed on all the components.
      operationId: StageUpgradeStage-upgrade
      parameters:
      - description: Component type
        in: query
        name: component_type
        required: false
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Stage the upgrade bits
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=start:
    post:
      consumes:
      - application/json
      description: |
        Start the upgrade. Upgrade will start as per the upgrade plan.
      operationId: StartUpgradeStart
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Start upgrade
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/plan?action=upgrade_selected_units:
    post:
      consumes:
      - application/json
      description: |
        Upgrades, Resumes the upgrade of a selected set of units.
      operationId: UpgradeSelectedUnitsUpgrade_selected_units
      parameters:
      - in: body
        name: UpgradeUnitList
        required: true
        schema:
          $ref: '#/definitions/UpgradeUnitList'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '409':
          description: Conflict
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upgrade selected units
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/pre-upgrade-checks/failures:
    get:
      consumes:
      - application/json
      description: |
        Get failures resulting from the last execution of pre-upgrade checks. If
        the execution of checks is in progress, the response has the list of
        failures observed so far.
      operationId: GetPreUpgradeCheckFailures
      parameters:
      - description: Component type
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Filter text
        in: query
        name: filter_text
        required: false
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Type of origin of failure
        enum:
        - COMPONENT
        - UPGRADE_UNIT
        in: query
        name: origin_type
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Status of the upgrade check
        enum:
        - FAILURE
        - WARNING
        in: query
        name: type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeCheckFailureListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get Pre-upgrade Check Failures
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/pre-upgrade-checks?format=csv:
    get:
      consumes:
      - application/json
      description: |
        Returns pre-upgrade checks in csv format
      operationId: GetAllPreUpgradeChecksInCsvFormatCsv
      produces:
      - text/csv
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeCheckCsvListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns pre-upgrade checks in csv format
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/status-summary:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade status summary
      operationId: GetUpgradeStatusSummary
      parameters:
      - description: Component type based on which upgrade units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - default: ALL
        description: Flag to indicate whether to return status for only selected,
          only deselected or both type of upgrade units
        enum:
        - SELECTED
        - DESELECTED
        - ALL
        in: query
        name: selection_status
        required: false
        type: string
      - description: Get upgrade activity for a given component
        in: query
        name: show_history
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade status summary
      tags:
      - System Administration, Lifecycle Management, Upgrade, Status
      x-vmw-nsx-module: Upgrade
  /upgrade/summary:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade summary
      operationId: GetUpgradeSummary
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade summary
      tags:
      - System Administration, Lifecycle Management, Upgrade, Status
      x-vmw-nsx-module: Upgrade
  /upgrade/uc-upgrade-status:
    get:
      consumes:
      - application/json
      description: |
        Get upgrade-coordinator upgrade status
      operationId: GetUcUpgradeStatus
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UcUpgradeStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade-coordinator upgrade status
      tags:
      - System Administration, Lifecycle Management, Upgrade, Status
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-checks-info:
    get:
      consumes:
      - application/json
      description: |
        Returns information of pre-upgrade and post-upgrade checks. If request
        parameter component type is specified, then returns information about
        all pre-upgrade and post-upgrade for the component. Otherwise returns
        information of checks across all component types.
      operationId: GetUpgradeChecksInfo
      parameters:
      - description: Component type based on which upgrade checks are to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComponentUpgradeChecksInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Returns information about upgrade checks
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups:
    get:
      consumes:
      - application/json
      description: |
        Return information of all upgrade unit groups in the
        upgrade plan.  If request parameter summary is set to true, then
        only count of upgrade units will be returned, upgrade units list
        will be empty. If request parameter component type is specified,
        then all upgrade unit groups for that component will be returned.
      operationId: GetUpgradeUnitGroups
      parameters:
      - description: Component type based on which upgrade unit groups to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Flag indicating whether to return summary
        in: query
        name: summary
        required: false
        type: boolean
      - default: false
        description: Synchronize before returning upgrade unit groups
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitGroupListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return information of all upgrade unit groups
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
    post:
      consumes:
      - application/json
      description: |
        Create a group of upgrade units.
      operationId: CreateUpgradeUnitGroup
      parameters:
      - in: body
        name: UpgradeUnitGroup
        required: true
        schema:
          $ref: '#/definitions/UpgradeUnitGroup'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/UpgradeUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create a group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups-status:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade status for upgrade unit groups
      operationId: GetUpgradeUnitGroupsStatus
      parameters:
      - description: Component type on which the action is performed or on which the
          results are filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitGroupStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade status for upgrade unit groups
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/aggregate-info:
    get:
      consumes:
      - application/json
      description: |
        Return information of all upgrade unit groups in the
        upgrade plan.  If request parameter summary is set to true, then
        only count of upgrade units will be returned, upgrade units list
        will be empty. If request parameter component type is specified,
        then all upgrade unit groups for that component will be returned.
      operationId: GetUpgradeUnitGroupAggregateInfo
      parameters:
      - description: Component type based on which upgrade unit groups to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Flag indicating whether to return summary
        in: query
        name: summary
        required: false
        type: boolean
      - default: false
        description: Synchronize before returning upgrade unit groups
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitGroupAggregateInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return aggregate information of all upgrade unit groups
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/{group-id}:
    delete:
      consumes:
      - application/json
      description: |
        Delete the specified group.
        NOTE - A group can be deleted only if it is empty.
        If user tries to delete a group containing one
        or more upgrade units, the operation will fail and an error
        will be returned.
      operationId: DeleteUpgradeUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete the upgrade unit group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
    get:
      consumes:
      - application/json
      description: |
        Returns information about a specific upgrade unit group in the
        upgrade plan.  If request parameter summary is set to true, then
        only count of upgrade units will be returned, upgrade units list
        will be empty.
      operationId: GetUpgradeUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - default: false
        description: Flag indicating whether to return the summary
        in: query
        name: summary
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Return upgrade unit group information
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
    put:
      consumes:
      - application/json
      description: |
        Update the specified upgrade unit group. Removal of upgrade units from the
        group using this is not allowed. An error will be returned in that case.
        Following extended_configuration is supported:

        Key: upgrade_mode
        Supported values: maintenance_mode,in_place
        Default: maintenance_mode

        Key: maintenance_mode_config_vsan_mode
        Supported values: evacuate_all_data, ensure_object_accessibility, no_action
        Default: ensure_object_accessibility

        Key: maintenance_mode_config_evacuate_powered_off_vms
        Supported values: true, false
        Default: false

        Key: rebootless_upgrade
        Supported values: true, false
        Default: true
      operationId: UpdateUpgradeUnitGroup
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: UpgradeUnitGroup
        required: true
        schema:
          $ref: '#/definitions/UpgradeUnitGroup'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitGroup'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the upgrade unit group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/{group-id}/status:
    get:
      consumes:
      - application/json
      description: |
        Get upgrade status for upgrade units in the specified group. User can
        specify whether to show only the upgrade units with errors.
      operationId: GetUpgradeUnitGroupStatus
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - default: false
        description: Flag to indicate whether to return only upgrade units with errors
        in: query
        name: has_errors
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitStatusListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade status for group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/{group-id}/upgrade-unit/{upgrade-unit-id}?action=reorder:
    post:
      consumes:
      - application/json
      description: |
        Reorder an upgrade unit within the upgrade unit group by placing it
        before/after the specified upgrade unit
      operationId: ReorderUpgradeUnitReorder
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: path
        name: upgrade-unit-id
        required: true
        type: string
      - in: body
        name: ReorderRequest
        required: true
        schema:
          $ref: '#/definitions/ReorderRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reorder an upgrade unit within the upgrade unit group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/{group-id}?action=add_upgrade_units:
    post:
      consumes:
      - application/json
      description: |
        Add upgrade units to specified upgrade unit group. The upgrade
        units will be added at the end of the upgrade unit list.
      operationId: AddUpgradeUnitsToGroupAdd_upgrade_units
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: UpgradeUnitList
        required: true
        schema:
          $ref: '#/definitions/UpgradeUnitList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Add upgrade units to specified upgrade unit group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-unit-groups/{group-id}?action=reorder:
    post:
      consumes:
      - application/json
      description: |
        Reorder an upgrade unit group by placing it before/after
        the specified upgrade unit group.
      operationId: ReorderUpgradeUnitGroupReorder
      parameters:
      - in: path
        name: group-id
        required: true
        type: string
      - in: body
        name: ReorderRequest
        required: true
        schema:
          $ref: '#/definitions/ReorderRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reorder upgrade unit group
      tags:
      - System Administration, Lifecycle Management, Upgrade, Group
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-units:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade units
      operationId: GetUpgradeUnits
      parameters:
      - description: Component type based on which upgrade units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Current version of upgrade unit based on which upgrade units
          to be filtered
        in: query
        name: current_version
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: UUID of group based on which upgrade units to be filtered
        in: query
        name: group_id
        required: false
        type: string
      - default: false
        description: Flag to indicate whether to return only upgrade units with warnings
        in: query
        name: has_warnings
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Metadata about upgrade unit to filter on
        in: query
        name: metadata
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Upgrade unit type based on which upgrade units to be filtered
        in: query
        name: upgrade_unit_type
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade units
      tags:
      - System Administration, Lifecycle Management, Upgrade, Upgrade Units
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-units-stats:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade units stats
      operationId: GetUpgradeUnitsStats
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - default: false
        description: Synchronize before returning upgrade unit stats
        in: query
        name: sync
        required: false
        type: boolean
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitTypeStatsList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade units stats
      tags:
      - System Administration, Lifecycle Management, Upgrade, Upgrade Units
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-units/aggregate-info:
    get:
      consumes:
      - application/json
      description: |-
        Get upgrade units aggregate-info
      operationId: GetUpgradeUnitAggregateInfo
      parameters:
      - description: Component type based on which upgrade units to be filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Identifier of group based on which upgrade units to be filtered
        in: query
        name: group_id
        required: false
        type: string
      - default: false
        description: Flag to indicate whether to return only upgrade units with errors
        in: query
        name: has_errors
        required: false
        type: boolean
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Metadata about upgrade unit to filter on
        in: query
        name: metadata
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - default: ALL
        description: Flag to indicate whether to return only selected, only deselected
          or both type of upgrade units
        enum:
        - SELECTED
        - DESELECTED
        - ALL
        in: query
        name: selection_status
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      - description: Display name of upgrade unit
        in: query
        name: upgrade_unit_display_name
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnitAggregateInfoListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get upgrade units aggregate-info
      tags:
      - System Administration, Lifecycle Management, Upgrade, Upgrade Units
      x-vmw-nsx-module: Upgrade
  /upgrade/upgrade-units/{upgrade-unit-id}:
    get:
      consumes:
      - application/json
      description: |-
        Get a specific upgrade unit
      operationId: GetUpgradeUnit
      parameters:
      - in: path
        name: upgrade-unit-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/UpgradeUnit'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a specific upgrade unit
      tags:
      - System Administration, Lifecycle Management, Upgrade, Upgrade Units
      x-vmw-nsx-module: Upgrade
  /upgrade/version-whitelist:
    get:
      consumes:
      - application/json
      description: |-
        Get whitelist of versions for different components
      operationId: GetVersionWhitelist
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AcceptableComponentVersionList'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the version whitelist
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: VersionWhitelist
  /upgrade/version-whitelist/{component_type}:
    get:
      consumes:
      - application/json
      description: |-
        Get whitelist of versions for a component. Component can include HOST, EDGE, CCP, MP
      operationId: GetVersionWhitelistByComponent
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AcceptableComponentVersion'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the version whitelist for the specified component
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: VersionWhitelist
    put:
      consumes:
      - application/json
      description: |-
        Update the version whitelist for the specified component type (HOST, EDGE, CCP, MP).
      operationId: UpdateVersionWhitelist
      parameters:
      - in: path
        name: component_type
        required: true
        type: string
      - in: body
        name: VersionList
        required: true
        schema:
          $ref: '#/definitions/VersionList'
      produces:
      - application/json
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Update the version whitelist for the specified component type
      tags:
      - System Administration, Lifecycle Management, Upgrade, Nodes
      x-vmw-nsx-module: VersionWhitelist
  /upgrade/{component-type}?action=execute_post_upgrade_checks:
    post:
      consumes:
      - application/json
      description: |
        Run pre-defined checks to identify issues after upgrade of a component. The
        results of the checks are added to the respective upgrade units
        aggregate-info. The progress and status of post-upgrade checks is part of
        aggregate-info of individual upgrade unit groups.
        Returns HTTP status 500 with error code 30953 if execution of post-upgrade
        checks is already in progress.
      operationId: ExecutePostUpgradeChecksExecute_post_upgrade_checks
      parameters:
      - in: path
        name: component-type
        required: true
        type: string
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Execute post-upgrade checks
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade?action=abort_pre_upgrade_checks:
    post:
      consumes:
      - application/json
      description: |
        Aborts execution of pre-upgrade checks if already in progress. Halts the
        execution of checks awaiting execution at this point and makes best-effort
        attempts to stop checks already in execution. Returns without action if
        execution of pre-upgrade checks is not in progress.
      operationId: AbortPreUpgradeChecksAbort_pre_upgrade_checks
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Abort pre-upgrade checks
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade?action=execute_pre_upgrade_checks:
    post:
      consumes:
      - application/json
      description: |
        Run pre-defined checks to identify potential issues which can be
        encountered during an upgrade or can cause an upgrade to fail. The results
        of the checks are added to the respective upgrade units aggregate-info. The
        progress and status of operation is part of upgrade status summary of
        individual components.
        Returns HTTP status 500 with error code 30953 if execution of pre-upgrade
        checks is already in progress.
      operationId: ExecutePreUpgradeChecksExecute_pre_upgrade_checks
      parameters:
      - description: Component type on which the action is performed or on which the
          results are filtered
        in: query
        name: component_type
        required: false
        type: string
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Execute pre-upgrade checks
      tags:
      - System Administration, Lifecycle Management, Upgrade, Plan
      x-vmw-nsx-module: Upgrade
  /upgrade?action=upgrade_uc:
    post:
      consumes:
      - application/json
      description: |
        Upgrade the upgrade coordinator module itself. This call is invoked
        after user uploads an upgrade bundle. Once this call is invoked,
        upgrade coordinator stops and gets restarted and target version
        upgrade coordinator module comes up after restart.
      operationId: TriggerUcUpgradeUpgrade_uc
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          description: Internal Server Error
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Upgrade the upgrade coordinator.
      tags:
      - System Administration, Lifecycle Management, Upgrade, Bundles
      x-vmw-nsx-module: Upgrade
  /vpn/ipsec/dpd-profiles:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all dead peer detection (DPD) profiles.
      operationId: ListIPSecVPNDPDProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNDPDProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec dead peer detection (DPD)  profile list result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, DPD Profiles
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create dead peer detection (DPD) profile. Any change in profile affects all sessions consuming this profile.
      operationId: CreateIPSecVPNDPDProfile
      parameters:
      - in: body
        name: IPSecVPNDPDProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNDPDProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNDPDProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create dead peer detection (DPD) profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, DPD Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/dpd-profiles/{ipsec-vpn-dpd-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete dead peer detection (DPD) profile.
      operationId: DeleteIPSecVPNDPDProfile
      parameters:
      - in: path
        name: ipsec-vpn-dpd-profile-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete dead peer detection (DPD) profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, DPD Profiles
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get IPSec dead peer detection (DPD) profile.
      operationId: GetIPSecVPNDPDProfile
      parameters:
      - in: path
        name: ipsec-vpn-dpd-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNDPDProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec dead peer detection (DPD) profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, DPD Profiles
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit IPSec dead peer detection (DPD) profile.
      operationId: UpdateIPSecVPNDPDProfile
      parameters:
      - in: path
        name: ipsec-vpn-dpd-profile-id
        required: true
        type: string
      - in: body
        name: IPSecVPNDPDProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNDPDProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNDPDProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit IPSec dead peer detection (DPD) profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, DPD Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/ike-profiles:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all IKE Profiles.
      operationId: ListIPSecVPNIKEProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNIKEProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        List IKE profiles
      tags:
      - Management Plane API, Networking, VPN, IPSEC, IKE Profiles
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create custom internet key exchange (IKE) Profile. IKE Profile is a reusable profile that captures IKE and phase one negotiation parameters. System will be pre provisioned with system owned non editable default IKE profile and suggested set of profiles that can be used for peering with popular remote peers like AWS VPN. User can create custom profiles as needed. Any change in profile affects all sessions consuming this profile.
      operationId: CreateIPSecVPNIKEProfile
      parameters:
      - in: body
        name: IPSecVPNIKEProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNIKEProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNIKEProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create custom internet key exchange (IKE) Profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, IKE Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/ike-profiles/{ipsec-vpn-ike-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete custom IKE Profile. Profile can not be deleted if profile has references to it.
      operationId: DeleteIPSecVPNIKEProfile
      parameters:
      - in: path
        name: ipsec-vpn-ike-profile-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete custom IKE Profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, IKE Profiles
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get custom IKE Profile, given the particular id.
      operationId: GetIPSecVPNIKEProfile
      parameters:
      - in: path
        name: ipsec-vpn-ike-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNIKEProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IKE Profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, IKE Profiles
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit custom IKE Profile. System owned profiles are non editable.
      operationId: UpdateIPSecVPNIKEProfile
      parameters:
      - in: path
        name: ipsec-vpn-ike-profile-id
        required: true
        type: string
      - in: body
        name: IPSecVPNIKEProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNIKEProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNIKEProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit custom IKE Profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, IKE Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/local-endpoints:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all local endpoints.
      operationId: ListIPSecVPNLocalEndpoints
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Id of the IPSec VPN service
        in: query
        name: ipsec_vpn_service_id
        required: false
        type: string
      - description: Id of logical router
        in: query
        name: logical_router_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNLocalEndpointListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec local endpoint list result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create custom IPSec local endpoint.
      operationId: CreateIPSecVPNLocalEndpoint
      parameters:
      - in: body
        name: IPSecVPNLocalEndpoint
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNLocalEndpoint'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNLocalEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create custom local endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/local-endpoints/{ipsec-vpn-local-endpoint-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete custom IPSec local endpoint.
      operationId: DeleteIPSecVPNLocalEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-local-endpoint-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete custom IPSec local endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get custom IPSec local endpoint.
      operationId: GetIPSecVPNLocalEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-local-endpoint-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNLocalEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get custom IPSec local endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit custom IPSec local endpoint.
      operationId: UpdateIPSecVPNLocalEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-local-endpoint-id
        required: true
        type: string
      - in: body
        name: IPSecVPNLocalEndpoint
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNLocalEndpoint'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNLocalEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit custom IPSec local endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/peer-endpoints:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all peer endpoint.
      operationId: ListIPSecVPNPeerEndpoints
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNPeerEndpointListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSecVPNPeerEndpoint List Result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create custom IPSec peer endpoint.
      operationId: CreateIPSecVPNPeerEndPoint
      parameters:
      - in: body
        name: IPSecVPNPeerEndpoint
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNPeerEndpoint'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNPeerEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create custom peer endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/peer-endpoints/{ipsec-vpn-peer-endpoint-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete custom IPSec VPN peer endpoint. All references are strong references and dependent peer endpoints can not be deleted if being referenced.
      operationId: DeleteIPSecVPNPeerEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-peer-endpoint-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete custom IPSec VPN peer endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get custom IPSec VPN peer endpoint.
      operationId: GetIPSecVPNPeerEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-peer-endpoint-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNPeerEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN peer endpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit custom IPSec peer endpoint. System owned endpoints are non editable.
      operationId: UpdateIPSecVPNPeerEndpoint
      parameters:
      - in: path
        name: ipsec-vpn-peer-endpoint-id
        required: true
        type: string
      - in: body
        name: IPSecVPNPeerEndpoint
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNPeerEndpoint'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNPeerEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit custom IPSecPeerEndpoint
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/peer-endpoints/{ipsec-vpn-peer-endpoint-id}?action=show-sensitive-data:
    get:
      consumes:
      - application/json
      description: |-
        Get custom IPSec VPN peer endpoint with PSK.
      operationId: GetIPSecVPNPeerEndpointWithPSKShow-sensitive-data
      parameters:
      - in: path
        name: ipsec-vpn-peer-endpoint-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNPeerEndpoint'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN peer endpoint with PSK
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Peer Endpoints
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/services:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all IPSec VPN services.
      operationId: ListIPSecVPNServices
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN service list result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Services
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create VPN service for given logical router.
      operationId: CreateIPSecVPNService
      parameters:
      - in: body
        name: IPSecVPNService
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNService'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create VPN service
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Services
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/services/{ipsec-vpn-service-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete IPSec VPN service for given router.
      operationId: DeleteIPSecVPNService
      parameters:
      - in: path
        name: ipsec-vpn-service-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete IPSec VPN service
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Services
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get IPSec VPN service for given logical router.
      operationId: GetIPSecVPNService
      parameters:
      - in: path
        name: ipsec-vpn-service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN service
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Services
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit IPSec VPN service for given logical router.
      operationId: UpdateIPSecVPNService
      parameters:
      - in: path
        name: ipsec-vpn-service-id
        required: true
        type: string
      - in: body
        name: IPSecVPNService
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNService'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit IPSec VPN service
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Services
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/sessions:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all IPSec VPN sessions.
      operationId: ListIPSecVPNSessions
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Id of the IPSec VPN service
        in: query
        name: ipsec_vpn_service_id
        required: false
        type: string
      - description: Id of logical router
        in: query
        name: logical_router_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - description: Resource types of IPsec VPN session
        enum:
        - PolicyBasedIPSecVPNSession
        - RouteBasedIPSecVPNSession
        in: query
        name: session_type
        required: false
        type: string
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSessionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN session list result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create new VPN session.
      operationId: CreateIPSecVPNSession
      parameters:
      - in: body
        name: IPSecVPNSession
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNSession'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create new VPN session
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/sessions/summary:
    get:
      consumes:
      - application/json
      description: |-
        VPN session summary gets summary per vpn sessions and IKE session. Query parameter source supports only cached mode.
      operationId: GetIPSecVPNSessionSummary
      parameters:
      - description: Peer site id
        in: query
        name: site_id
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSessionSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        VPN session summary
      tags:
      - Management Plane API, Networking, VPN, Statistics, IPSEC Sessions Summary
      x-vmw-nsx-module: VPNStatistics
  /vpn/ipsec/sessions/{ipsec-vpn-session-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete IPSec VPN session.
      operationId: DeleteIPSecVPNSession
      parameters:
      - in: path
        name: ipsec-vpn-session-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete IPSec VPN session
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Fetch IPSec VPN session.
      operationId: GetIPSecVPNSession
      parameters:
      - in: path
        name: ipsec-vpn-session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Fetch IPSec VPN session
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit IPSec VPN session.
      operationId: UpdateIPSecVPNSession
      parameters:
      - in: path
        name: ipsec-vpn-session-id
        required: true
        type: string
      - in: body
        name: IPSecVPNSession
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNSession'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit IPSec VPN session
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/sessions/{ipsec-vpn-session-id}/peer-config:
    get:
      consumes:
      - application/json
      description: |-
        API to download VPN configuration for the peer site. The configuration contains pre-shared key and secret; be careful when sharing or storing it.
      operationId: GetPeerConfig
      parameters:
      - in: path
        name: ipsec-vpn-session-id
        required: true
        type: string
      produces:
      - text/plain; charset=utf-8
      responses:
        '200':
          description: OK
          schema:
            type: string
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get VPN configuration for the peer site
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/sessions/{ipsec-vpn-session-id}/state:
    get:
      consumes:
      - application/json
      description: |
        Return realized state information of a ipsec vpn session.
        Any configuration update that affects the ipsec vpn session can use this API
        to get its realized state by passing a request_id returned by the
        configuration change operation. e.g. Update configuration of ipsec vpn session,
        service, endpoints, profiles, etc.
        It will return a service disabled error, if the ipsec vpn service associated
        with the session is disabled.
      operationId: GetIPSecVPNSessionState
      parameters:
      - in: path
        name: ipsec-vpn-session-id
        required: true
        type: string
      - format: int64
        in: query
        minimum: 0
        name: barrier_id
        required: false
        type: integer
      - description: Realization request ID
        in: query
        name: request_id
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSessionState'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          description: Not Found
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get the Realized State of a IPSec VPN Session
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Sessions
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/sessions/{session-id}/statistics:
    get:
      consumes:
      - application/json
      description: |-
        Get statistics of a vpn session across all tunnels and IKE session. Query parameter "source=realtime" is the only supported source.
      operationId: GetIPSecVPNSessionStatistics
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSessionStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN session statistics
      tags:
      - Management Plane API, Networking, VPN, Statistics, IPSEC Sessions Statistics
      x-vmw-nsx-module: VPNStatistics
  /vpn/ipsec/sessions/{session-id}/statistics?action=reset:
    post:
      consumes:
      - application/json
      description: |-
        Reset the statistics of the given VPN session.
      operationId: ResetIPSecVPNSessionStatisticsReset
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Reset the statistics of the given VPN session
      tags:
      - Management Plane API, Networking, VPN, Statistics, IPSEC Reset Sessions Statistics
      x-vmw-nsx-module: VPNStatistics
  /vpn/ipsec/sessions/{session-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        List status of IPSec session. Query parameter source supports both realtime and cached mode.
      operationId: GetIPSecVPNIKESessionStatus
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNSessionStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec VPN IKE session status
      tags:
      - Management Plane API, Networking, VPN, Statistics, IKE Sessions Status
      x-vmw-nsx-module: VPNStatistics
  /vpn/ipsec/tunnel-profiles:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all IPSecTunnelProfiles.
      operationId: ListIPSecVPNTunnelProfiles
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNTunnelProfileListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSecTunnelProfile List Result
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Tunnel Profiles
      x-vmw-nsx-module: IPSecVPN
    post:
      consumes:
      - application/json
      description: |-
        Create custom IPSec tunnel profile. IPSec tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. System will be provisioned with system owned non editable default IPSec tunnel profile. Any change in profile affects all sessions consuming this profile.
      operationId: CreateIPSecVPNTunnelProfile
      parameters:
      - in: body
        name: IPSecVPNTunnelProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNTunnelProfile'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/IPSecVPNTunnelProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create custom IPSec tunnel profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Tunnel Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/ipsec/tunnel-profiles/{ipsec-vpn-tunnel-profile-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete custom IPSec Tunnel Profile.
      operationId: DeleteIPSecVPNTunnelProfile
      parameters:
      - in: path
        name: ipsec-vpn-tunnel-profile-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete custom IPSecTunnelProfile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Tunnel Profiles
      x-vmw-nsx-module: IPSecVPN
    get:
      consumes:
      - application/json
      description: |-
        Get custom IPSec Tunnel Profile.
      operationId: GetIPSecVPNTunnelProfile
      parameters:
      - in: path
        name: ipsec-vpn-tunnel-profile-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNTunnelProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get IPSec tunnel profile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Tunnel Profiles
      x-vmw-nsx-module: IPSecVPN
    put:
      consumes:
      - application/json
      description: |-
        Edit custom IPSec Tunnel Profile. System owned profiles are non editable.
      operationId: UpdateIPSecVPNTunnelProfile
      parameters:
      - in: path
        name: ipsec-vpn-tunnel-profile-id
        required: true
        type: string
      - in: body
        name: IPSecVPNTunnelProfile
        required: true
        schema:
          $ref: '#/definitions/IPSecVPNTunnelProfile'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNTunnelProfile'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit custom IPSecTunnelProfile
      tags:
      - Management Plane API, Networking, VPN, IPSEC, Tunnel Profiles
      x-vmw-nsx-module: IPSecVPN
  /vpn/l2vpn/services:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all L2VPN services
      operationId: ListL2VpnServices
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnServiceListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all L2VPN services
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Services
      x-vmw-nsx-module: L2VPN
    post:
      consumes:
      - application/json
      description: |-
        Create L2VPN service for a given logical router
      operationId: CreateL2VpnService
      parameters:
      - in: body
        name: L2VpnService
        required: true
        schema:
          $ref: '#/definitions/L2VpnService'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/L2VpnService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create L2VPN service
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Services
      x-vmw-nsx-module: L2VPN
  /vpn/l2vpn/services/{l2vpn-service-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific L2VPN service. If there are any L2VpnSessions on this L2VpnService, those needs to be deleted first.
      operationId: DeleteL2VpnService
      parameters:
      - in: path
        name: l2vpn-service-id
        required: true
        type: string
      - default: false
        description: 'Force delete the resource even if it is being used somewhere

          '
        in: query
        name: force
        type: boolean
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a L2VPN service
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Services
      x-vmw-nsx-module: L2VPN
    get:
      consumes:
      - application/json
      description: |-
        Get a specific L2VPN service
      operationId: GetL2VpnService
      parameters:
      - in: path
        name: l2vpn-service-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2VPN service
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Services
      x-vmw-nsx-module: L2VPN
    put:
      consumes:
      - application/json
      description: |-
        Edit a specific L2VPN service
      operationId: UpdateL2VpnService
      parameters:
      - in: path
        name: l2vpn-service-id
        required: true
        type: string
      - in: body
        name: L2VpnService
        required: true
        schema:
          $ref: '#/definitions/L2VpnService'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnService'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit a L2VPN service
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Services
      x-vmw-nsx-module: L2VPN
  /vpn/l2vpn/sessions:
    get:
      consumes:
      - application/json
      description: |-
        Get paginated list of all L2VPN sessions
      operationId: ListL2VpnSessions
      parameters:
      - description: Opaque cursor to be used for getting next page of records (supplied
          by current result page)
        in: query
        name: cursor
        type: string
      - description: Comma separated list of fields that should be included in query
          result
        in: query
        name: included_fields
        type: string
      - description: Id of the L2Vpn Service
        in: query
        name: l2vpn_service_id
        required: false
        type: string
      - default: 1000
        description: Maximum number of results to return in this page (server may
          return fewer)
        format: int64
        in: query
        maximum: 1000
        minimum: 0
        name: page_size
        type: integer
      - in: query
        name: sort_ascending
        type: boolean
      - description: Field by which records are sorted
        in: query
        name: sort_by
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnSessionListResult'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get all L2VPN sessions
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
    post:
      consumes:
      - application/json
      description: |-
        Create L2VPN session and bind to a L2VPNService
      operationId: CreateL2VpnSession
      parameters:
      - in: body
        name: L2VpnSession
        required: true
        schema:
          $ref: '#/definitions/L2VpnSession'
      produces:
      - application/json
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/L2VpnSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Create L2VPN session
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
  /vpn/l2vpn/sessions/summary:
    get:
      consumes:
      - application/json
      description: |-
        Load all the existing L2VPN sessions and return the status summary of all L2VPN sessions. Query parameter source supports only cached mode.
      operationId: GetL2VPNSessionSummary
      parameters:
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VPNSessionSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get status summary of all existing L2VPN sessions.
      tags:
      - Management Plane API, Networking, VPN, Statistics, L2VPN Sessions Summary
      x-vmw-nsx-module: L2VPNStatistics
  /vpn/l2vpn/sessions/{l2vpn-session-id}:
    delete:
      consumes:
      - application/json
      description: |-
        Delete a specific L2VPN session. If there are any logical switch ports attached to it, those needs to be deleted first.
      operationId: DeleteL2VpnSession
      parameters:
      - in: path
        name: l2vpn-session-id
        required: true
        type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Delete a L2VPN session
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
    get:
      consumes:
      - application/json
      description: |-
        Get a specific L2VPN session
      operationId: GetL2VpnSession
      parameters:
      - in: path
        name: l2vpn-session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get a L2VPN session
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
    put:
      consumes:
      - application/json
      description: |-
        Edit a specific L2VPN session
      operationId: UpdateL2VpnSession
      parameters:
      - in: path
        name: l2vpn-session-id
        required: true
        type: string
      - in: body
        name: L2VpnSession
        required: true
        schema:
          $ref: '#/definitions/L2VpnSession'
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnSession'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Edit a L2VPN session
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
  /vpn/l2vpn/sessions/{l2vpn-session-id}/peer-codes:
    get:
      consumes:
      - application/json
      description: |-
        Get peer codes for the L2VPN session to program the remote side of the tunnel.
      operationId: GetL2VpnSessionPeerCodes
      parameters:
      - in: path
        name: l2vpn-session-id
        required: true
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VpnSessionPeerCodes'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get peer codes for the L2VpnSession
      tags:
      - Management Plane API, Networking, VPN, L2VPN, Sessions
      x-vmw-nsx-module: L2VPN
  /vpn/l2vpn/sessions/{session-id}/remote-mac:
    get:
      consumes:
      - application/json
      description: |-
        Get L2VPN session remote mac for logical switch.
      operationId: GetL2VPNSessionRemoteMacsForLS
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      - description: logical switch identifier
        in: query
        name: logical_switch_id
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VPNSessionRemoteMacs'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2VPN session remote mac for logical switch
      tags:
      - Management Plane API, Networking, VPN, Statistics, L2VPN Remote MACS
      x-vmw-nsx-module: L2VPNStatistics
  /vpn/l2vpn/sessions/{session-id}/statistics:
    get:
      consumes:
      - application/json
      description: |-
        Get statistics of a L2VPN session. Query parameter source=realtime is the only supported source.
      operationId: GetL2VPNSessionStatistics
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VPNSessionStatistics'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2VPN session statistics
      tags:
      - Management Plane API, Networking, VPN, Statistics, L2VPN Session Statistics
      x-vmw-nsx-module: L2VPNStatistics
  /vpn/l2vpn/sessions/{session-id}/status:
    get:
      consumes:
      - application/json
      description: |-
        Aggregated status of L2VPN session. Query parameter source=realtime|cached is supported.
      operationId: GetL2VPNSessionStatus
      parameters:
      - in: path
        name: session-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/L2VPNSessionStatus'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Get L2VPN session status
      tags:
      - Management Plane API, Networking, VPN, Statistics, L2VPN Session Status
      x-vmw-nsx-module: L2VPNStatistics
  /vpn/services/{service-id}/summary:
    get:
      consumes:
      - application/json
      description: |-
        Cumulative statistics for one IKE service instance. Query parameter source supports only cached mode.
      operationId: GetIPSecVPNIKEService
      parameters:
      - in: path
        name: service-id
        required: true
        type: string
      - description: Data source type.
        enum:
        - realtime
        - cached
        in: query
        name: source
        required: false
        type: string
      produces:
      - application/json
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/IPSecVPNIKEServiceSummary'
        '400':
          $ref: '#/responses/BadRequest'
        '403':
          $ref: '#/responses/Forbidden'
        '404':
          $ref: '#/responses/NotFound'
        '412':
          $ref: '#/responses/PreconditionFailed'
        '500':
          $ref: '#/responses/InternalServerError'
        '503':
          $ref: '#/responses/ServiceUnavailable'
      summary: |-
        Cumulative statistics for one IKE service instance
      tags:
      - Management Plane API, Networking, VPN, Statistics, IKE Service
      x-vmw-nsx-module: VPNStatistics
definitions:
  ALGTypeNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - properties:
        alg:
          description: |
            The Application Layer Gateway (ALG) protocol.
            Please note, protocol NBNS_BROADCAST and NBDG_BROADCAST are  deprecated.
            Please use UDP protocol and create L4 Port Set type of service instead.
          enum:
          - ORACLE_TNS
          - FTP
          - SUN_RPC_TCP
          - SUN_RPC_UDP
          - MS_RPC_TCP
          - MS_RPC_UDP
          - NBNS_BROADCAST
          - NBDG_BROADCAST
          - TFTP
          title: |-
            The Application Layer Gateway (ALG) protocol
          type: string
        destination_ports:
          description: |-
            The destination_port cannot be empty and must be a single value.
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 15
          minItems: 1
          title: |-
            The destination_port cannot be empty and must be a single value.
          type: array
        source_ports:
          description: |-
            Source ports
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 15
          title: |-
            Source ports
          type: array
      required:
      - alg
      - destination_ports
      type: object
      x-vmw-nsx-module: Types
    description: |-
      An NSService element that represents an ALG protocol
    title: |-
      An NSService element that represents an ALG protocol
    x-vmw-nsx-module: Types
  AcceptableComponentVersion:
    allOf:
    - $ref: '#/definitions/VersionList'
    - properties:
        component_type:
          description: |-
            Node type
          enum:
          - HOST
          - EDGE
          - CCP
          - MP
          title: |-
            Node type
          type: string
      required:
      - component_type
      type: object
      x-vmw-nsx-module: VersionWhitelist
    x-vmw-nsx-module: VersionWhitelist
  AcceptableComponentVersionList:
    properties:
      results:
        description: |-
          Acceptable version whitelist for different components
        items:
          $ref: '#/definitions/AcceptableComponentVersion'
        title: |-
          Acceptable version whitelist for different components
        type: array
    required:
    - results
    type: object
    x-vmw-nsx-module: VersionWhitelist
  AccessTokenLoginCredential:
    allOf:
    - $ref: '#/definitions/LoginCredential'
    - properties:
        thumbprint:
          description: |-
            Thumbprint of the data source server
          title: |-
            Thumbprint of the data source server
          type: string
        token:
          description: |-
            Token obtained while validating connection config
          readOnly: false
          title: |-
            Token obtained while validating connection config
          type: string
        token_expiry:
          description: |-
            Token expiry in epoch
          format: int64
          readOnly: false
          type: integer
      type: object
      x-vmw-nsx-module: UpgradeCoordinatorServerApis
    description: |-
      A login credential specifying a access token
    title: |-
      A login credential specifying a access token
    x-vmw-nsx-module: UpgradeCoordinatorServerApis
  ActionableResource:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ip_address:
          description: |-
            A resource reference on which actions can be performed
          format: hostname-or-ip
          title: |-
            A resource reference on which actions can be performed
          type: string
      type: object
      x-vmw-nsx-module: ClusterRestore
    description: |-
      Resources managed during restore process
    title: |-
      Resources managed during restore process
    x-vmw-nsx-module: ClusterRestore
  ActionableResourceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/ActionableResource'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ClusterRestore
    x-vmw-nsx-module: ClusterRestore
  AddClusterNodeSpec:
    properties:
      controller_role_config:
        $ref: '#/definitions/AddControllerNodeSpec'
      display_name:
        description: |-
          Display name for the node
        title: |-
          Display name for the node
        type: string
      external_id:
        description: |-
          External identifier of the node
        readOnly: false
        title: |-
          External identifier of the node
        type: string
      mgr_role_config:
        $ref: '#/definitions/AddManagementNodeSpec'
    type: object
    x-vmw-nsx-module: ClusterManagement
  AddClusterNodeVMInfo:
    description: |
      Contains a list of cluster node VM deployment requests and optionally
      a clustering configuration.
    properties:
      clustering_config:
        $ref: '#/definitions/ClusteringConfig'
        description: |
          This property is deprecated since ClusteringConfig is no longer
          needed for auto-installation and will be ignored if provided.
        title: |-
          Configuration for auto-clustering of VMs post-deployment
        x-deprecated: true
      deployment_requests:
        description: |
          Cluster node VM deployment requests to be deployed by the Manager.
        items:
          $ref: '#/definitions/ClusterNodeVMDeploymentRequest'
        minItems: 1
        title: |-
          List of deployment requests
        type: array
    required:
    - deployment_requests
    title: |-
      Info for AddClusterNodeVM
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  AddControllerNodeSpec:
    properties:
      clustering_params:
        $ref: '#/definitions/ClusteringInfo'
        description: |-
          The details of the controller node required for cluster initialization or joining to an existing cluster.  If this property is set, the node will be added to an existing cluster or used to create a new cluster.  Otherwise no clustering operation/s will be performed.
        title: |-
          Clustering parameters for the node
      control_plane_server_certificate:
        description: |-
          Deprecated. Do not supply a value for this property.
        type: string
        x-deprecated: true
      host_msg_client_info:
        $ref: '#/definitions/MsgClientInfo'
      mpa_msg_client_info:
        $ref: '#/definitions/MsgClientInfo'
      node_id:
        description: |-
          Only use this if an id for the node already exists with MP. If not specified, then the node_id will be set to a random id.
        title: |-
          Internal identifier of the node
        type: string
      type:
        description: |-
          must be set to AddControllerNodeSpec
        enum:
        - AddControllerNodeSpec
        readOnly: false
        title: |-
          must be set to AddControllerNodeSpec
        type: string
    required:
    - mpa_msg_client_info
    - host_msg_client_info
    - type
    type: object
    x-vmw-nsx-module: ClusterManagement
  AddIntelligenceClusterNodeVMInfo:
    description: |
      Contains a list of NSX-Intelligence cluster node VM deployment requests and optionally
      a clustering configuration.
    properties:
      deployment_requests:
        description: |
          Intelligence Cluster node VM deployment requests to be deployed by NSX.
        items:
          $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentRequest'
        minItems: 1
        title: |-
          List of deployment requests
        type: array
    required:
    - deployment_requests
    title: |-
      Info for AddIntelligenceClusterNodeVM
    type: object
    x-vmw-nsx-module: NsxIntelligenceDeployment
  AddManagementNodeSpec:
    properties:
      cert_thumbprint:
        description: |-
          The certificate thumbprint of the remote node.
        readOnly: false
        title: |-
          The certificate thumbprint of the remote node.
        type: string
      mpa_msg_client_info:
        $ref: '#/definitions/MsgClientInfo'
      password:
        description: |-
          The password to be used to authenticate with the remote node.
        readOnly: false
        title: |-
          The password to be used to authenticate with the remote node.
        type: string
      remote_address:
        description: |-
          The host address of the remote node to which to send this join request.
        format: ip
        readOnly: false
        type: string
      type:
        description: |-
          must be set to AddManagementNodeSpec
        enum:
        - AddManagementNodeSpec
        readOnly: false
        title: |-
          must be set to AddManagementNodeSpec
        type: string
      user_name:
        description: |-
          The username to be used to authenticate with the remote node.
        readOnly: false
        title: |-
          The username to be used to authenticate with the remote node.
        type: string
    required:
    - type
    - user_name
    - remote_address
    type: object
    x-vmw-nsx-module: ClusterManagement
  AddressBindingEntry:
    description: |
      An address binding entry is a combination of the IP-MAC-VLAN binding for
      a logical port. The address bindings can be obtained via various methods
      like ARP snooping, DHCP snooping etc. or by user configuration.
    properties:
      binding:
        $ref: '#/definitions/PacketAddressClassifier'
        description: |-
          Combination of IP-MAC-VLAN binding
        title: |-
          Combination of IP-MAC-VLAN binding
      binding_timestamp:
        description: |
          Timestamp at which the binding was discovered via snooping or manually
          specified by the user
        format: int64
        type: integer
      source:
        default: UNKNOWN
        description: |-
          Source from which the address binding entry was obtained
        enum:
        - INVALID
        - UNKNOWN
        - USER_DEFINED
        - ARP_SNOOPING
        - DHCP_SNOOPING
        - VM_TOOLS
        - ND_SNOOPING
        - DHCPV6_SNOOPING
        - VM_TOOLS_V6
        type: string
    title: |-
      Combination of IP-MAC-VLAN binding
    type: object
    x-vmw-nsx-module: LogicalPort
  AdvanceClusterRestoreInput:
    properties:
      id:
        description: |
          Unique id of an instruction (as returned by the GET /restore/status
          call) for which input is to be provided
        readOnly: true
        title: |
          Unique id of an instruction (as returned by the GET /restore/status
          call) for which input is to be provided
        type: string
      resources:
        description: |-
          List of resources for which the instruction is applicable.
        items:
          $ref: '#/definitions/SelectableResourceReference'
        title: |-
          List of resources for which the instruction is applicable.
        type: array
    required:
    - resources
    type: object
    x-vmw-nsx-module: ClusterRestore
  AdvanceClusterRestoreRequest:
    properties:
      data:
        description: |-
          List of instructions and their associated data
        items:
          $ref: '#/definitions/AdvanceClusterRestoreInput'
        title: |-
          List of instructions and their associated data
        type: array
    required:
    - data
    type: object
    x-vmw-nsx-module: ClusterRestore
  AdvertiseRule:
    properties:
      action:
        default: ALLOW
        description: |-
          ALLOW action enables the advertisment and DENY action disables the advertisement of a filtered routes to the connected TIER0 router.
        enum:
        - DENY
        - ALLOW
        title: |-
          Action to ALLOW or DENY advertisement of routes
        type: string
      description:
        description: |-
          Description
        maxLength: 1024
        title: |-
          Description
        type: string
      display_name:
        description: |-
          Display name
        maxLength: 255
        title: |-
          Display name
        type: string
      networks:
        description: |-
          network(CIDR) to be routed
        items:
          description: |-
            IPv4 or IPv6 CIDR Block
          format: ip-cidr-block
          type: string
        title: |-
          network(CIDR) to be routed
        type: array
      rule_filter:
        $ref: '#/definitions/AdvertisementRuleFilter'
        description: |-
          Rule filter for the advertise rule
        title: |-
          Rule filter for the advertise rule
    required:
    - networks
    type: object
    x-vmw-nsx-module: Routing
  AdvertiseRuleList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        rules:
          default: []
          description: |-
            List of advertisement rules
          items:
            $ref: '#/definitions/AdvertiseRule'
          minItems: 0
          title: |-
            List of advertisement rules
          type: array
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  AdvertisementConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        advertise_dns_forwarder:
          default: false
          description: |-
            Flag to advertise all routes of dns forwarder listener ips and source ips
          title: |-
            Advertise dns forwarder ips
          type: boolean
        advertise_ipsec_local_ip:
          default: false
          description: |-
            Flag to advertise all IPSec VPN local endpoint ips to linked TIER0 logical router
          title: |-
            Advertise IPSec VPN local endpoint ips
          type: boolean
        advertise_lb_snat_ip:
          default: false
          description: |-
            Flag to advertise all lb SNAT ips
          title: |-
            Advertise lb SNAT ips
          type: boolean
        advertise_lb_vip:
          default: false
          description: |-
            Flag to advertise lb vip ips
          title: |-
            Advertise lb vip ips
          type: boolean
        advertise_nat_routes:
          default: false
          description: |-
            Flag to advertise all routes of nat
          title: |-
            Advertise NAT routes
          type: boolean
        advertise_nsx_connected_routes:
          default: false
          description: |-
            Flag to advertise all connected routes
          title: |-
            Advertise connected routes
          type: boolean
        advertise_static_routes:
          default: false
          description: |-
            Flag to advertise all static routes
          title: |-
            Advertise static routes
          type: boolean
        enabled:
          default: false
          description: |-
            Flag to enable this configuration
          title: |-
            Enable advertisement
          type: boolean
        logical_router_id:
          description: |-
            TIER1 logical router id on which to enable this configuration
          readOnly: true
          title: |-
            Logical router id
          type: string
      type: object
      x-vmw-nsx-module: Routing
    description: |
      Advertisement config for different types of
      routes which need to be advertised from TIER1 logical
      router to the linked TIER0 logical router
    title: |-
      Advertisement config
    x-vmw-nsx-module: Routing
  AdvertisementRuleFilter:
    description: |-
      To filter the routes advertised by the TIER1 LR to TIER0 LR. Filtering will be based on the type of route and the prefix operator configured.
    properties:
      match_route_types:
        description: |-
          Array of route types to filter routes
        items:
          description: |-
            Route types to filter the routes advertised by TIER1 LR. The ANY type filters all routes advertised by TIER1. The STATIC type is deprecated. Please refer to T1_STATIC. The T1_STATIC type filters STATIC routes advertised by TIER1. The NSX_CONNECTED type is deprecated. Please refer to T1_CONNECTED. The T1_CONNECTED type filters directly connected routes including downlink and CSP networks advertised by TIER1. The T1_NAT type filters routes for NAT rules advertised by TIER1. The T1_LB_VIP type filters LB VIP networks advertised by TIER1. The T1_LB_SNAT type filters routes corresponding to LB SNAT rules advertised by TIER1. The T1_DNSFORWARDER type filters routes for DNS FORWARDER advertised by TIER1. The T1_IPSEC_LOCAL_IP type filters IPSec VPN local endpoint ip addresses to be advertised.
          enum:
          - ANY
          - STATIC
          - T1_STATIC
          - NSX_CONNECTED
          - T1_CONNECTED
          - T1_NAT
          - T1_LB_VIP
          - T1_LB_SNAT
          - T1_DNSFORWARDER
          - T1_IPSEC_LOCAL_IP
          type: string
        minItems: 1
        title: |-
          Array of route types to filter routes
        type: array
      prefix_operator:
        default: GE
        description: |-
          GE prefix operator filters all the routes having network subset of any of the networks configured in Advertise rule. EQ prefix operator filter all the routes having network equal to any of the network configured in Advertise rule.
        enum:
        - GE
        - EQ
        title: |-
          Prefix operator to apply on networks
        type: string
    required:
    - prefix_operator
    - match_route_types
    type: object
    x-vmw-nsx-module: Routing
  AgentStatus:
    properties:
      name:
        description: |-
          Agent name
        enum:
        - NSX_AGENT
        - NSX_OPSAGENT
        - NSX_CFGAGENT
        - NSX_NESTDB
        title: |-
          Agent name
        type: string
      status:
        description: |-
          Agent status
        enum:
        - UP
        - DOWN
        - UNKNOWN
        title: |-
          Agent status
        type: string
    type: object
    x-vmw-nsx-module: Heatmap
  AgentStatusCount:
    properties:
      agents:
        description: |-
          List of agent statuses belonging to the transport node
        items:
          $ref: '#/definitions/AgentStatus'
        title: |-
          NSX agents status
        type: array
      down_count:
        description: |-
          Down count
        format: int32
        title: |-
          Down count
        type: integer
      status:
        description: |-
          Roll-up agent status
        enum:
        - UP
        - DOWN
        - UNKNOWN
        title: |-
          Roll-up agent status
        type: string
      up_count:
        description: |-
          Up count
        format: int32
        title: |-
          Up count
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  AggregatedDataCounter:
    properties:
      rx_bytes:
        $ref: '#/definitions/DataCounter'
        readOnly: true
      rx_packets:
        $ref: '#/definitions/DataCounter'
        readOnly: true
      tx_bytes:
        $ref: '#/definitions/DataCounter'
        readOnly: true
      tx_packets:
        $ref: '#/definitions/DataCounter'
        readOnly: true
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  AggregatedDataCounterEx:
    allOf:
    - $ref: '#/definitions/AggregatedDataCounter'
    - properties:
        dropped_by_security_packets:
          $ref: '#/definitions/PacketsDroppedBySecurity'
          readOnly: true
        mac_learning:
          $ref: '#/definitions/MacLearningCounters'
          readOnly: true
      type: object
      x-vmw-nsx-module: AggSvcL2Types
    x-vmw-nsx-module: AggSvcL2Types
  AggregatedLogicalRouterPortCounters:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      rx:
        $ref: '#/definitions/LogicalRouterPortCounters'
        readOnly: true
      tx:
        $ref: '#/definitions/LogicalRouterPortCounters'
        readOnly: true
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  Alarm:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        alarm_source:
          description: |
            If alarm_source_type = INTENT_PATH, this field will contain a
            list of intent paths for the entity that the event instance applies to.
            If alarm_source_type = ENTITY_ID, this field will contain a list with
            a single item identifying the entity id that the event instance applies
            to.
          items:
            type: string
          readOnly: true
          title: |
            Source identifying entity that the Event instance applies to
          type: array
          uniqueItems: true
        alarm_source_type:
          description: |
            Type of alarm source of the Event instance. Can be one of - INTENT_PATH, ENTITY_ID.
          enum:
          - INTENT_PATH
          - ENTITY_ID
          readOnly: true
          type: string
        description:
          description: |
            Detailed description of Alarm. This is the same detailed description as the corresponding
            Event identified by feature_name.event_type.
          readOnly: true
          title: |-
            Detailed description of Alarm
          type: string
        entity_id:
          description: |
            The entity that the Event instance applies to. Note entity_id may not
            be included in a response body. For example, the cpu_high Event may not
            return an entity_id.
          readOnly: true
          title: |-
            The UUID of the entity that the Event instance applies to
          type: string
        entity_resource_type:
          description: |
            The entity type that the Event instance applies to.
          readOnly: true
          title: |-
            The type of entity that the Event instance applies to
          type: string
        event_type:
          description: |
            Name of Event, e.g. manager_cpu_usage_high, certificate_expired.
          readOnly: true
          title: |-
            Name of event
          type: string
        event_type_display_name:
          description: |
            Display name of Event type.
          readOnly: true
          title: |-
            Display name of event type
          type: string
        feature_display_name:
          description: |
            Display name of feature defining this Event.
          readOnly: true
          title: |-
            Display name of feature
          type: string
        feature_name:
          description: |
            Feature defining this Event, e.g. manager_health, certificates.
          readOnly: true
          title: |-
            Feature defining this event
          type: string
        id:
          description: |
            ID that uniquely identifies an Alarm.
          readOnly: true
          title: |-
            ID that uniquely identifies an Alarm
          type: string
        last_reported_time:
          description: |
            Indicates when the corresponding Event instance was last reported in
            milliseconds since epoch.
          format: int64
          readOnly: true
          type: integer
        node_display_name:
          description: |
            Display name of node that the event instance applies to.
          readOnly: true
          title: |-
            Display name of node
          type: string
        node_id:
          description: |
            The UUID of the node that the Event instance applies to.
          readOnly: true
          title: |-
            The UUID of the node that the Event instance applies to
          type: string
        node_ip_addresses:
          description: |
            IP addresses of node that the event instance applies to.
          items:
            type: string
          readOnly: true
          title: |-
            IP addresses of node
          type: array
        node_resource_type:
          description: |
            The resource type of node that the Event instance applies to
            eg. ClusterNodeConfig, HostNode, EdgeNode.
          readOnly: true
          title: |-
            The resource type of node that the Event instance applies to
          type: string
        recommended_action:
          description: |
            Recommended action for Alarm. This is the same action as the
            corresponding Event identified by feature_name.event_type.
          readOnly: true
          title: |-
            Recommended action for Alarm
          type: string
        reoccurrences_while_suppressed:
          description: |
            The number of reoccurrences since this alarm has been SUPPRESSED.
          format: int64
          readOnly: true
          title: |-
            The number of reoccurrences since this alarm has been SUPPRESSED
          type: integer
        resolved_by:
          description: |
            User ID of the user that set the status value to RESOLVED. This value
            can be SYSTEM to indicate that the system resolved the Alarm, for
            example when the system determines CPU usage is no longer high and the
            cpu_high Alarm is no longer applicable. This property is only returned
            when the status value is RESOLVED.
          readOnly: true
          title: |-
            User ID of the user that set the status value to RESOLVED
          type: string
        resolved_time:
          description: |
            Indicates when the Alarm was resolved in milliseconds since epoch.
            This property is only returned when the status value is RESOLVED.
          format: int64
          readOnly: true
          type: integer
        severity:
          description: |
            Severity of the Alarm.Can be one of - CRITICAL, HIGH, MEDIUM, LOW.
          enum:
          - CRITICAL
          - HIGH
          - MEDIUM
          - LOW
          readOnly: true
          type: string
        status:
          description: |
            Indicate the status which the Alarm is in.
          enum:
          - OPEN
          - ACKNOWLEDGED
          - SUPPRESSED
          - RESOLVED
          type: string
        summary:
          description: |
            Summary description of Alarm. This is the same summary description as the corresponding
            Event identified by feature_name.event_type.
          readOnly: true
          title: |-
            Summary description of Alarm
          type: string
        suppress_duration:
          description: |
            The time period between suppress_start_time and suppress_start_time +
            suppress_duration (specified in hours) an Alarm is SUPPRESSED.
            This property is only returned when the status value is SUPPRESSED.
          format: int64
          title: |-
            Duration in hours for which an Alarm is SUPPRESSED
          type: integer
        suppress_start_time:
          description: |
            Indicates when the Alarm was suppressed in milliseconds since epoch.
            This property is only returned when the status value is SUPPRESSED.
          format: int64
          readOnly: true
          type: integer
        suppressed_by:
          description: |
            User ID of the user that set the status value to SUPPRESSED.
            This property is only returned when the status value is SUPPRESSED.
          readOnly: true
          title: |-
            User ID of the user that set the status value to SUPPRESSED
          type: string
      required:
      - status
      type: object
      x-vmw-nsx-module: Monitoring
    x-vmw-nsx-module: Monitoring
  AlarmListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Alarm results
          items:
            $ref: '#/definitions/Alarm'
          title: |-
            Alarm results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Alarm collection results
    title: |-
      Alarm collection results
    x-vmw-nsx-module: MISSING_MODULE
  AlarmsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of alarms known to the system
          items:
            $ref: '#/definitions/Alarm'
          readOnly: true
          title: |-
            List of alarms known to the system
          type: array
      type: object
      x-vmw-nsx-module: Monitoring
    x-vmw-nsx-module: Monitoring
  AllClusterGroupStatus:
    description: |-
      A list of the statuses of all the groups in the cluster.
    properties:
      cluster_id:
        description: |-
          UUID of the cluster
        readOnly: true
        title: |-
          UUID of the cluster
        type: string
      groups:
        description: |-
          Array of groups and their statuses
        items:
          $ref: '#/definitions/ClusterGroupStatus'
        readOnly: true
        title: |-
          Array of groups and their statuses
        type: array
      overall_status:
        description: |-
          Overall status of the cluster
        enum:
        - STABLE
        - DEGRADED
        - UNAVAILABLE
        readOnly: true
        title: |-
          Overall status of the cluster
        type: string
    title: |-
      Status of all the cluster groups
    type: object
    x-vmw-nsx-module: Cluster
  AllocatedService:
    properties:
      allocation_details:
        description: |
          Additional properties of a service, say the sub_pool_size and
          sub_pool_type for a LoadBalancer.
        items:
          $ref: '#/definitions/KeyValuePair'
        readOnly: false
        title: |-
          Key-Value map of additional specific properties of services
        type: array
      high_availability_status:
        description: |-
          Represents the active or the standby state of the service.
        enum:
        - ACTIVE
        - STANDBY
        - DOWN
        - SYNC
        - UNKNOWN
        readOnly: true
        title: |-
          HA Status of the service context node
        type: string
      service_reference:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Id and Name of the service context configured on edge node.
        readOnly: true
        title: |-
          Id and Name of the service context configured on edge node.
    type: object
    x-vmw-nsx-module: EdgeClusters
  AllocationBasedOnFailureDomain:
    allOf:
    - $ref: '#/definitions/AllocationRuleAction'
    - properties:
        enabled:
          default: false
          description: |
            Enable placement algorithm to consider failure domain of edge transport
            nodes and place active and standby contexts in different failure domains.
          title: |-
            Flag to enable failure domain based allocation
          type: boolean
      type: object
      x-vmw-nsx-module: EdgeClusters
    description: |
      Auto place TIER1 logical routers, DHCP and MDProxy contexts on two edge
      nodes (active and standby) from different failure domains.
    title: |-
      Placement based on failure domain of edge node
    x-vmw-nsx-module: EdgeClusters
  AllocationIpAddress:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        allocation_id:
          description: |-
            Address that is allocated from pool
          format: ip
          readOnly: true
          type: string
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      Allocation parameters for the IP address (e.g. specific IP address) can be specified. Tags, display_name and description attributes are not supported in this release.
    x-vmw-nsx-module: Ipam
  AllocationIpAddressListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Pool allocation list results
          items:
            $ref: '#/definitions/AllocationIpAddress'
          title: |-
            Pool allocation list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Ipam
    x-vmw-nsx-module: Ipam
  AllocationPool:
    properties:
      active_service_count:
        description: |
          Represents the number of acitve services running on the edge node.
        format: int32
        readOnly: true
        title: |-
          Number of active services on edge node
        type: integer
      standby_service_count:
        description: |
          Represents the number of standby services running on the edge node.
        format: int32
        readOnly: true
        title: |-
          Number of standby services on edge node
        type: integer
      sub_pools:
        description: |-
          Allocation details of sub-pools configured on edge node.
        items:
          $ref: '#/definitions/SubPool'
        title: |-
          Edge node sub-pool allocation details
        type: array
    type: object
    x-vmw-nsx-module: EdgeClusters
  AllocationRule:
    description: |
      Allocation rule on edge cluster which will be considered in auto placement
      of TIER1 logical routers, DHCP and MDProxy.
    properties:
      action:
        $ref: '#/definitions/AllocationRuleAction'
        description: |-
          Set action for each allocation rule
        title: |-
          Action for allocation rule
    required:
    - action
    title: |-
      Allocation rule on edge cluster
    type: object
    x-vmw-nsx-module: EdgeClusters
  AllocationRuleAction:
    description: |
      Define action for each allocation rule which added on edge cluster.
    discriminator: action_type
    properties:
      action_type:
        description: |
          Set action for each allocation rule on edge cluster which will help in
          auto placement.
        enum:
        - AllocationBasedOnFailureDomain
        type: string
    required:
    - action_type
    title: |-
      Set action for allocation rule
    type: object
    x-vmw-nsx-module: EdgeClusters
  ApiError:
    allOf:
    - $ref: '#/definitions/RelatedApiError'
    - properties:
        related_errors:
          description: |-
            Other errors related to this error
          items:
            $ref: '#/definitions/RelatedApiError'
          title: |-
            Other errors related to this error
          type: array
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Detailed information about an API Error
    title: |-
      Detailed information about an API Error
    x-vmw-nsx-module: Common
  ApiServiceConfig:
    description: |
      Properties that affect the configuration of the NSX API service.
    properties:
      basic_authentication_enabled:
        default: true
        description: |-
          Identifies whether basic authentication is enabled or disabled in API calls.
        title: |-
          Enable or disable basic authentication
        type: boolean
      cipher_suites:
        description: |-
          The TLS cipher suites that the API service will negotiate.
        items:
          $ref: '#/definitions/CipherSuite'
        minItems: 1
        title: |-
          Cipher suites used to secure contents of connection
        type: array
      client_api_concurrency_limit:
        default: 40
        description: |-
          The maximum number of concurrent API requests that will be serviced for a given authenticated client.  If the number of API requests being processed exceeds this limit, new API requests will be refused and a 503 Service Unavailable response will be returned to the client. To disable API concurrency limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Client API rate limit in calls
        type: integer
      client_api_rate_limit:
        default: 100
        description: |-
          The maximum number of API requests that will be serviced per second for a given authenticated client.  If more API requests are received than can be serviced, a 429 Too Many Requests HTTP response will be returned. To disable API rate limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Client API rate limit in calls per second
        type: integer
      connection_timeout:
        default: 30
        description: |-
          NSX connection timeout, in seconds. To disable timeout, set to 0.
        format: int64
        maximum: 2147483647
        minimum: 0
        title: |-
          NSX connection timeout
        type: integer
      cookie_based_authentication_enabled:
        default: true
        description: |-
          Identifies whether cookie-based authentication is enabled or disabled in API calls. When cookie-based authentication is disabled, new sessions cannot be created via /api/session/create.
        title: |-
          Enable or disable cookie-based authentication
        type: boolean
      global_api_concurrency_limit:
        default: 199
        description: |-
          The maximum number of concurrent API requests that will be serviced. If the number of API requests being processed exceeds this limit, new API requests will be refused and a 503 Service Unavailable response will be returned to the client.  To disable API concurrency limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Global API rate limit in calls
        type: integer
      lockout_immune_addresses:
        description: |-
          The list of IP addresses which are not subjected to a lockout on failed login attempts.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        title: |-
          IP addresses which are not subject to lockout on failed login attempts
        type: array
      protocol_versions:
        description: |-
          The TLS protocol versions that the API service will negotiate.
        items:
          $ref: '#/definitions/ProtocolVersion'
        minItems: 1
        title: |-
          TLS protocol versions
        type: array
      redirect_host:
        default: ''
        description: |-
          Host name or IP address to use for redirect location headers, or empty string to derive from current request. To disable, set redirect_host to the empty string ("").
        pattern: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$|^$/
        type: string
      session_timeout:
        default: 1800
        description: |-
          NSX session inactivity timeout
        format: int64
        maximum: 2147483647
        minimum: 0
        title: |-
          NSX session inactivity timeout
        type: integer
    title: |-
      Configuration of the API service
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ApplianceLatencyData:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        id:
          description: |-
            Display the Appliance id.
          title: |-
            Appliance id
          type: string
        latency_data:
          description: |-
            Latency Data list.
          items:
            $ref: '#/definitions/ApplianceLatencyDataItem'
          title: |-
            Latency Data List
          type: array
        name:
          description: |-
            Display the appliance name.
          title: |-
            Appliance name
          type: string
        timestamp:
          description: |-
            Timestamp of last modification.
          format: int64
          type: integer
      type: object
      x-vmw-nsx-module: ShaApplianceMonitor
    description: |-
      Display the latency data by given appliance node
    title: |-
      Display the latency data by given appliance node
    x-vmw-nsx-module: ShaApplianceMonitor
  ApplianceLatencyDataItem:
    description: |
      Describes appliance latency data in detail.
    properties:
      destination_node_id:
        description: |-
          Display the appliance node id.
        title: |-
          Node id
        type: string
      destination_node_ip:
        description: |-
          Display the appliance node ip.
        title: |-
          Node name
        type: string
      destination_node_name:
        description: |-
          Display the appliance node name.
        title: |-
          Node name
        type: string
      packet_loss_percent:
        description: |-
          Display the percentage of lost packet.
        title: |-
          Display the percentage of lost packet
        type: string
      packet_received:
        description: |-
          Display the received packets.
        format: int64
        title: |-
          Display the received packets
        type: integer
      packet_transmitted:
        description: |-
          Display the transmitted packets in Ping
        format: int64
        title: |-
          Display the transmitted packets
        type: integer
      rtt_avg:
        description: |
          Display the average Round Trip Time in milliseconds.
        title: |-
          Display the average rtt of latency value
        type: number
      rtt_max:
        description: |
          Display the max Round Trip Time in milliseconds.
        title: |-
          Display the max rtt of latency value
        type: number
      rtt_mdev:
        description: |
          Display the mean Round Trip Time in milliseconds.
        title: |-
          Display the mean rtt of latency value
        type: number
      rtt_min:
        description: |
          Display the min Round Trip Time in milliseconds.
        title: |-
          Display the min rtt of latency value
        type: number
      source_node_ip:
        description: |-
          Display the appliance node ip.
        title: |-
          Node name
        type: string
      status:
        description: |
          Display the connection status between source node and destination node.
        enum:
        - UP
        - DOWN
        title: |-
          Display the connection status
        type: string
      total_time:
        description: |
          Display the total time of sending and receiving packets in milliseconds.
        format: int64
        title: |-
          Display the total time in milliseconds
        type: integer
    title: |-
      Appliance Latency data
    type: object
    x-vmw-nsx-module: ShaApplianceMonitor
  ApplianceLatencyListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        result_count:
          description: |-
            Total appliance latency count
          format: int64
          title: |-
            Total appliance latency count
          type: integer
        results:
          description: |-
            Display the appliance latency data list.
          items:
            $ref: '#/definitions/ApplianceLatencyData'
          title: |-
            Appliance Process List
          type: array
      required:
      - result_count
      type: object
      x-vmw-nsx-module: ShaApplianceMonitor
    description: |-
      List of process data
    title: |-
      List of process data
    x-vmw-nsx-module: ShaApplianceMonitor
  ApplianceManagementTaskListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Task property results
          items:
            $ref: '#/definitions/ApplianceManagementTaskProperties'
          title: |-
            Task property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Appliance management task query results
    title: |-
      Appliance management task query results
    x-vmw-nsx-module: MISSING_MODULE
  ApplianceManagementTaskProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        async_response_available:
          description: |-
            True if response for asynchronous request is available
          readOnly: true
          title: |-
            True if response for asynchronous request is available
          type: boolean
        cancelable:
          description: |-
            True if this task can be canceled
          readOnly: true
          title: |-
            True if this task can be canceled
          type: boolean
        description:
          description: |-
            Description of the task
          readOnly: true
          title: |-
            Description of the task
          type: string
        details:
          description: |-
            Details about the task if known
          readOnly: true
          title: |-
            Details about the task if known
          type: object
        end_time:
          description: |-
            The end time of the task in epoch milliseconds
          format: int64
          readOnly: true
          type: integer
        id:
          description: |-
            Identifier for this task
          readOnly: true
          title: |-
            Identifier for this task
          type: string
        message:
          description: |-
            A message describing the disposition of the task
          readOnly: true
          title: |-
            A message describing the disposition of the task
          type: string
        progress:
          description: |-
            Task progress if known, from 0 to 100
          format: int64
          maximum: 100
          minimum: 0
          readOnly: true
          title: |-
            Task progress if known, from 0 to 100
          type: integer
        request_method:
          description: |-
            HTTP request method
          readOnly: true
          title: |-
            HTTP request method
          type: string
        request_uri:
          description: |-
            URI of the method invocation that spawned this task
          readOnly: true
          title: |-
            URI of the method invocation that spawned this task
          type: string
        start_time:
          description: |-
            The start time of the task in epoch milliseconds
          format: int64
          readOnly: true
          type: integer
        status:
          description: |-
            Current status of the task
          enum:
          - running
          - error
          - success
          - canceling
          - canceled
          - killed
          readOnly: true
          type: string
        user:
          description: |-
            Name of the user who created this task
          readOnly: true
          title: |-
            Name of the user who created this task
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Appliance management task properties
    title: |-
      Appliance management task properties
    x-vmw-nsx-module: MISSING_MODULE
  ApplianceProcessData:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        id:
          description: |-
            Display the Appliance id.
          title: |-
            Appliance id
          type: string
        name:
          description: |-
            Display the appliance name.
          title: |-
            Appliance name
          type: string
        timestamp:
          description: |-
            Timestamp of last modification.
          format: int64
          type: integer
        top_process_by_cpu_count:
          description: |-
            Display the total count of process.
          format: int64
          title: |-
            Process count
          type: integer
        top_process_by_cpu_list:
          description: |-
            Display the top process list by CPU.
          items:
            $ref: '#/definitions/ProcessInformation'
          title: |-
            Top process list by CPU
          type: array
        top_process_by_mem_count:
          description: |-
            Display the total count of process.
          format: int64
          title: |-
            Process count
          type: integer
        top_process_by_mem_list:
          description: |-
            Display the top process list by memory.
          items:
            $ref: '#/definitions/ProcessInformation'
          title: |-
            Top process list by memory
          type: array
      type: object
      x-vmw-nsx-module: ShaApplianceMonitor
    description: |-
      List of process data in given appliance node
    title: |-
      List of process data in given appliance node
    x-vmw-nsx-module: ShaApplianceMonitor
  ApplianceProcessListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Display the appliance process list.
          items:
            $ref: '#/definitions/ApplianceProcessData'
          title: |-
            Appliance Process List
          type: array
      type: object
      x-vmw-nsx-module: ShaApplianceMonitor
    description: |-
      List of process data
    title: |-
      List of process data
    x-vmw-nsx-module: ShaApplianceMonitor
  AppliedTos:
    description: |
      Entity lists where the profile will be enabled on.
    properties:
      logical_ports:
        description: |-
          Logical Port List
        items:
          $ref: '#/definitions/ResourceReference'
        readOnly: false
        title: |-
          Logical Port List
        type: array
      logical_switches:
        description: |-
          Logical Switch List
        items:
          $ref: '#/definitions/ResourceReference'
        readOnly: false
        title: |-
          Logical Switch List
        type: array
      nsgroups:
        description: |-
          NSGroup List
        items:
          $ref: '#/definitions/ResourceReference'
        readOnly: false
        title: |-
          NSGroup List
        type: array
    title: |-
      Entities Applied to Profile
    type: object
    x-vmw-nsx-module: UpmCommon
  ArpHeader:
    properties:
      dst_ip:
        description: |-
          The destination IP address
        format: ipv4
        type: string
      op_code:
        default: ARP_REQUEST
        description: |-
          This field specifies the nature of the Arp message being sent.
        enum:
        - ARP_REQUEST
        - ARP_REPLY
        title: |-
          Arp message type
        type: string
      src_ip:
        description: |-
          This field specifies the IP address of the sender. If omitted, the src_ip is set to 0.0.0.0.
        format: ipv4
        type: string
    required:
    - op_code
    - dst_ip
    type: object
    x-vmw-nsx-module: Traceflow
  AssignedByDhcp:
    allOf:
    - $ref: '#/definitions/IpAssignmentSpec'
    - type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      This type can be specified in ip assignment spec of host switch if DHCP based IP assignment is desired for host switch virtual tunnel endpoints.
    title: |-
      DHCP based IP assignment.
    x-vmw-nsx-module: TransportNode
  AssociationListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of ResourceReference
          items:
            $ref: '#/definitions/ResourceReference'
          title: |-
            Paged Collection of ResourceReference
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Association
    x-vmw-nsx-module: Association
  AttachedInterface:
    description: |
      The Attached interface is only effective for the port on Bare metal server.
    properties:
      app_intf_name:
        description: |-
          The name of application interface
        title: |-
          The name of application interface
        type: string
      default_gateway:
        description: |-
          Gateway IP
        format: ip
        type: string
      migrate_intf:
        description: |-
          IP configuration on migrate_intf will migrate to app_intf_name. It is used for Management and Application sharing the same IP.
        title: |-
          Interface name to migrate
        type: string
      routing_table:
        description: |-
          Routing rules
        items:
          type: string
        title: |-
          Routing rules
        type: array
    required:
    - app_intf_name
    title: |-
      Attached interface specification for Bare metal server
    type: object
    x-vmw-nsx-module: LogicalPort
  AttachmentContext:
    discriminator: resource_type
    properties:
      allocate_addresses:
        description: |
          A flag to indicate whether to allocate addresses from allocation
              pools bound to the parent logical switch.
        enum:
        - IpPool
        - MacPool
        - Both
        - None
        - Dhcp
        title: |
          A flag to indicate whether to allocate addresses from allocation
              pools bound to the parent logical switch.
        type: string
      resource_type:
        description: |-
          Used to identify which concrete class it is
        title: |-
          Used to identify which concrete class it is
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: LogicalPort
  Attribute:
    description: |-
      Attribute specific to a partner. There attributes are passed on to the partner appliance and is opaque to the NSX Manager. The Attributes used by the partner applicance.
    properties:
      attribute_type:
        description: |-
          Attribute Type can be of any of the allowed enum type.
        enum:
        - IP_ADDRESS
        - PORT
        - PASSWORD
        - STRING
        - LONG
        - BOOLEAN
        readOnly: false
        title: |-
          Attributetype.
        type: string
      display_name:
        description: |-
          Attribute display name string value.
        readOnly: false
        title: |-
          Display name
        type: string
      key:
        description: |-
          Attribute key string value.
        readOnly: false
        title: |-
          key
        type: string
      read_only:
        default: false
        description: |-
          Read only Attribute cannot be overdidden by service instance/deployment.
        readOnly: false
        title: |-
          read only
        type: boolean
      value:
        description: |-
          Attribute value string value.
        readOnly: false
        title: |-
          value
        type: string
    required:
    - key
    title: |-
      Attributes
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  AuditLog:
    description: |-
      Audit log in RFC5424 format
    properties:
      appname:
        description: |-
          Application name field of the log
        title: |-
          Application name field of the log
        type: string
      facility:
        description: |-
          Facility field of the log
        format: int64
        title: |-
          Facility field of the log
        type: integer
      full_log:
        description: |-
          Full log with both header and message
        title: |-
          Full log with both header and message
        type: string
      hostname:
        description: |-
          Hostname field of the log
        title: |-
          Hostname field of the log
        type: string
      message:
        description: |-
          Message field of the log
        title: |-
          Message field of the log
        type: string
      msgid:
        description: |-
          Message ID field of the log
        title: |-
          Message ID field of the log
        type: string
      priority:
        description: |-
          Priority field of the log
        format: int64
        title: |-
          Priority field of the log
        type: integer
      procid:
        description: |-
          Process ID field of the log
        format: int64
        title: |-
          Process ID field of the log
        type: integer
      struct_data:
        $ref: '#/definitions/StructuredData'
        description: |-
          Structured data field of the log
        title: |-
          Structured data field of the log
      timestamp:
        description: |-
          Date and time in UTC of the log
        title: |-
          Date and time in UTC of the log
        type: string
    required:
    - procid
    - full_log
    - appname
    - timestamp
    - hostname
    - struct_data
    - priority
    - facility
    - msgid
    - message
    title: |-
      Audit log in RFC5424 format
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  AuditLogListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_full_sync_timestamp:
          description: |-
            Timestamp of the last full audit log collection
          title: |-
            Timestamp of the last full audit log collection
          type: string
        results:
          description: |-
            Audit log results
          items:
            $ref: '#/definitions/AuditLog'
          title: |-
            Audit log results
          type: array
      required:
      - last_full_sync_timestamp
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Audit log collection results
    title: |-
      Audit log collection results
    x-vmw-nsx-module: MISSING_MODULE
  AuditLogRequest:
    properties:
      log_age_limit:
        description: |-
          Include logs with timstamps not past the age limit in days
        format: int64
        minimum: 0
        title: |-
          Include logs with timstamps not past the age limit in days
        type: integer
      log_filter:
        description: |-
          Audit logs should meet the filter condition
        title: |-
          Audit logs should meet the filter condition
        type: string
      log_filter_type:
        default: TEXT
        description: |-
          Type of log filter
        enum:
        - TEXT
        - REGEX
        title: |-
          Type of log filter
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  AuthenticationPolicyProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        api_failed_auth_lockout_period:
          default: 900
          description: |-
            Once a lockout occurs, the account remains locked out of the API for this time period. Only applies to NSX Manager nodes. Ignored on other node types.
          format: int64
          minimum: 0
          title: |-
            Lockout period in seconds
          type: integer
        api_failed_auth_reset_period:
          default: 900
          description: |-
            In order to trigger an account lockout, all authentication failures must occur in this time window. If the reset period expires, the failed login count is reset to zero. Only applies to NSX Manager nodes. Ignored on other node types.
          format: int64
          minimum: 0
          title: |-
            Period, in seconds, for authentication failures to trigger lockout
          type: integer
        api_max_auth_failures:
          default: 5
          description: |-
            Only applies to NSX Manager nodes. Ignored on other node types.
          format: int64
          minimum: 0
          title: |-
            Number of authentication failures that trigger API lockout
          type: integer
        cli_failed_auth_lockout_period:
          default: 900
          description: |-
            Once a lockout occurs, the account remains locked out of the CLI for this time period. While the lockout period is in effect, additional authentication attempts restart the lockout period, even if a valid password is specified.
          format: int64
          minimum: 0
          title: |-
            Lockout period in seconds
          type: integer
        cli_max_auth_failures:
          default: 5
          description: |-
            Number of authentication failures that trigger CLI lockout
          format: int64
          minimum: 0
          title: |-
            Number of authentication failures that trigger CLI lockout
          type: integer
        minimum_password_length:
          default: 8
          description: |-
            Minimum number of characters required in account passwords
          format: int64
          minimum: 8
          title: |-
            Minimum number of characters required in account passwords
          type: integer
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Configuration of authentication policies for the NSX node
    title: |-
      Configuration of authentication policies for the NSX node
    x-vmw-nsx-module: MISSING_MODULE
  AuthenticationScheme:
    properties:
      scheme_name:
        description: |-
          Authentication scheme name
        title: |-
          Authentication scheme name
        type: string
    required:
    - scheme_name
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  AutomaticHealthCheck:
    description: |
      Health check performed by system automatically on a specific transport zone.

      For overlay based zone, health check is performed on corresponding N-VDS of
      each transport node with the VLAN and MTU specified by uplink profile of
      N-VDS for the node.

      For VLAN based zone, health check is performed on corresponding N-VDS of each
       transport node with MTU specified by uplink profile of N-VDS for the node
       and VLAN specified by all logical switches in this zone.
    properties:
      result:
        $ref: '#/definitions/HealthCheckResult'
        readOnly: true
      transport_zone_id:
        description: |
          ID of the transport zone where this automatic health check is performed.
        readOnly: true
        title: |-
          Transport Zone ID
        type: string
    title: |-
      Automatic Health Check
    type: object
    x-vmw-nsx-module: HealthCheck
  AutomaticHealthCheckListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Automatic Health Check List
          items:
            $ref: '#/definitions/AutomaticHealthCheck'
          readOnly: true
          title: |-
            Automatic Health Check List
          type: array
      type: object
      x-vmw-nsx-module: HealthCheck
    description: |-
      Automatic health check list result for query with list parameters.
    title: |-
      List of Automatic Health Checks
    x-vmw-nsx-module: HealthCheck
  AutomaticHealthCheckToggle:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          default: false
          description: |-
            Status of automatic health check
          title: |-
            Status of automatic health check
          type: boolean
      required:
      - enabled
      type: object
      x-vmw-nsx-module: HealthCheck
    description: |
      Toggle to enable/disable automatic health check.
    title: |-
      Automatic Health Check Toggle
    x-vmw-nsx-module: HealthCheck
  Axes:
    description: |-
      Represents X and Y axes of a graph. For a multi-graph, the same axes are shared by all the graphs.
    properties:
      x_label:
        $ref: '#/definitions/Label'
        description: |-
          Label for X axis of a graph
        title: |-
          Label for X axis of a graph
      y_label:
        $ref: '#/definitions/Label'
        description: |-
          Label for Y axis of a graph
        title: |-
          Label for Y axis of a graph
    title: |-
      Axes of a graph
    type: object
    x-vmw-nsx-module: NsxDashboard
  BFDDiagnosticCount:
    properties:
      administratively_down_count:
        description: |-
          Number of tunnels with administratively down diagnostic message
        format: int64
        title: |-
          Number of tunnels with administratively message
        type: integer
      concatenated_path_down_count:
        description: |-
          Number of tunnels with concatenated path down diagnostic message
        format: int64
        title: |-
          Number of tunnels with concatenated message
        type: integer
      control_detection_time_expired_count:
        description: |-
          Number of tunnels with control detection time expired diagnostic message
        format: int64
        title: |-
          Number of tunnels with expired message
        type: integer
      echo_function_failed_count:
        description: |-
          Number of tunnels with echo function failed diagnostic message
        format: int64
        title: |-
          Number of tunnels with failed message
        type: integer
      forwarding_plane_reset_count:
        description: |-
          Number of tunnels with forwarding plane reset diagnostic message
        format: int64
        title: |-
          Number of tunnels with reset message
        type: integer
      neighbor_signaled_session_down_count:
        description: |-
          Number of tunnels neighbor signaled session down
        format: int64
        title: |-
          Number of tunnels neighbor signaled session down
        type: integer
      no_diagnostic_count:
        description: |-
          Number of tunnels with no diagnostic
        format: int64
        title: |-
          Number of tunnels with no diagnostic
        type: integer
      path_down_count:
        description: |-
          Number of tunnels with path down diagnostic message
        format: int64
        title: |-
          Number of tunnels with path down message
        type: integer
      reverse_concatenated_path_down_count:
        description: |-
          Number of tunnels with reverse concatenated path down diagnostic message
        format: int64
        title: |-
          Number of tunnels with reverse message
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  BFDProperties:
    description: |-
      BFD information
    properties:
      active:
        description: |-
          True if tunnel is active in a gateway HA setup
        readOnly: true
        title: |-
          True if tunnel is active in a gateway HA setup
        type: boolean
      diagnostic:
        description: |-
          A short message indicating what the BFD session thinks is wrong in case of a problem
        readOnly: true
        title: |-
          Diagnostic message of a problem
        type: string
      forwarding:
        description: |-
          True if the BFD session believes this interface may be used to forward traffic
        readOnly: true
        title: |-
          True if the BFD session believes this interface may be used to forward traffic
        type: boolean
      remote_diagnostic:
        description: |-
          A short message indicating what the remote interface's BFD session thinks is wrong in case of a problem
        readOnly: true
        title: |-
          Diagnostic message of a problem
        type: string
      remote_state:
        description: |-
          State of the remote interface's BFD session
        enum:
        - UNKNOWN_STATE
        - ADMIN_DOWN
        - DOWN
        - INIT
        - UP
        readOnly: true
        title: |-
          State of the remote interface's BFD session
        type: string
      state:
        description: |-
          State of the BFD session
        enum:
        - UNKNOWN_STATE
        - ADMIN_DOWN
        - DOWN
        - INIT
        - UP
        readOnly: true
        title: |-
          State of the BFD session
        type: string
    title: |-
      BFD information
    type: object
    x-vmw-nsx-module: Tunnel
  BFDStatusCount:
    properties:
      bfd_admin_down_count:
        description: |-
          Number of tunnels in BFD admin down state
        format: int32
        title: |-
          Number of tunnels in BFD admin down state
        type: integer
      bfd_down_count:
        description: |-
          Number of tunnels in BFD down state
        format: int32
        title: |-
          Number of tunnels in BFD down state
        type: integer
      bfd_init_count:
        description: |-
          Number of tunnels in BFD init state
        format: int32
        title: |-
          Number of tunnels in BFD init state
        type: integer
      bfd_up_count:
        description: |-
          Number of tunnels in BFD up state
        format: int32
        title: |-
          Number of tunnels in BFD up state
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  BGPCommunityList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        communities:
          description: |-
            Array of BGP communities
          items:
            type: string
          title: |-
            BGP community list
          type: array
        community_type:
          default: NormalBGPCommunity
          description: |
            BGP community type. It has two types as
            NormalBGPCommunity BGP normal community which includes well-known
            community name as well as community value in range from [1-4294967295]
            or value in aa:nn format(aa/nn range from 1-65535).
            LargeBGPCommunity BGP large community which includes community value
            in aa:bb:nn format where aa, bb, nn are unsigned integers in the range
            [1-4294967295].
          enum:
          - NormalBGPCommunity
          - LargeBGPCommunity
          title: |-
            BGP community type
          type: string
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
      required:
      - communities
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  BGPCommunityListListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of bgp community lists
          items:
            $ref: '#/definitions/BGPCommunityList'
          title: |-
            List of bgp communities
          type: array
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  BackupConfiguration:
    description: |-
      Configuration for taking manual/automated backup
    properties:
      after_inventory_update_interval:
        description: |-
          A number of seconds after a last backup, that needs to pass, before a topology change will trigger a generation of a new cluster/node backups. If parameter is not provided, then changes in a topology will not trigger a generation of cluster/node backups.
        format: int64
        maximum: 86400
        minimum: 300
        title: |-
          A number of seconds after a last backup, that needs to pass, before a topology change will trigger a generation of a new cluster/node backups. If parameter is not provided, then changes in a topology will not trigger a generation of cluster/node backups.
        type: integer
      backup_enabled:
        default: false
        description: |-
          true if automated backup is enabled
        title: |-
          true if automated backup is enabled
        type: boolean
      backup_schedule:
        $ref: '#/definitions/BackupSchedule'
        description: |-
          Set when backups should be taken - on a weekly schedule or at regular intervals.
        title: |-
          Set when backups should be taken - on a weekly schedule or at regular intervals.
      inventory_summary_interval:
        default: 240
        description: |-
          The minimum number of seconds between each upload of the inventory summary to backup server.
        format: int64
        maximum: 3600
        minimum: 30
        title: |-
          The minimum number of seconds between each upload of the inventory summary to backup server.
        type: integer
      passphrase:
        description: |
          Passphrase used to encrypt backup files.
          The passphrase specified must be at least 8 characters in length and must
          contain at least one lowercase, one uppercase, one numeric character and one
          special character (any other non-space character).
        title: |-
          Passphrase used to encrypt backup files.
        type: string
      remote_file_server:
        $ref: '#/definitions/RemoteFileServer'
        description: |-
          The server to which backups will be sent.
        title: |-
          The server to which backups will be sent.
    required:
    - remote_file_server
    title: |-
      Configuration for taking manual/automated backup
    type: object
    x-vmw-nsx-module: BackupConfiguration
  BackupOperationHistory:
    description: |-
      Past backup operation details
    properties:
      cluster_backup_statuses:
        description: |-
          Statuses of previous cluser backups
        items:
          $ref: '#/definitions/BackupOperationStatus'
        title: |-
          Statuses of previous cluser backups
        type: array
      inventory_backup_statuses:
        description: |-
          Statuses of previous inventory backups
        items:
          $ref: '#/definitions/BackupOperationStatus'
        title: |-
          Statuses of previous inventory backups
        type: array
      node_backup_statuses:
        description: |-
          Statuses of previous node backups
        items:
          $ref: '#/definitions/BackupOperationStatus'
        title: |-
          Statuses of previous node backups
        type: array
    title: |-
      Past backup operation details
    type: object
    x-vmw-nsx-module: BackupConfiguration
  BackupOperationStatus:
    description: |-
      Backup operation status
    properties:
      backup_id:
        description: |-
          Unique identifier of a backup
        title: |-
          Unique identifier of a backup
        type: string
      end_time:
        description: |-
          Time when operation was ended
        format: int64
        type: integer
      error_code:
        description: |-
          Error code
        enum:
        - BACKUP_NOT_RUN_ON_MASTER
        - BACKUP_SERVER_UNREACHABLE
        - BACKUP_AUTHENTICATION_FAILURE
        - BACKUP_PERMISSION_ERROR
        - BACKUP_TIMEOUT
        - BACKUP_BAD_FINGERPRINT
        - BACKUP_GENERIC_ERROR
        title: |-
          Error code
        type: string
      error_message:
        description: |-
          Error code details
        title: |-
          Error code details
        type: string
      start_time:
        description: |-
          Time when operation was started
        format: int64
        type: integer
      success:
        description: |-
          True if backup is successfully completed, else false
        title: |-
          True if backup is successfully completed, else false
        type: boolean
    required:
    - backup_id
    - success
    title: |-
      Backup operation status
    type: object
    x-vmw-nsx-module: BackupConfiguration
  BackupOverview:
    allOf:
    - $ref: '#/definitions/ClusterBackupInfoListResult'
    - properties:
        backup_config:
          $ref: '#/definitions/BackupConfiguration'
          description: |-
            Configuration to generate a manual/automated backup
          title: |-
            Backup configuration
        backup_operation_history:
          $ref: '#/definitions/BackupOperationHistory'
          description: |-
            Status of the last backup execution per component
          title: |-
            Last backup status
        current_backup_operation_status:
          $ref: '#/definitions/CurrentBackupOperationStatus'
          description: |-
            Backup status decribes type, phase, success/failure and time of a | latest backup execution
          title: |-
            Current backup status
        restore_status:
          $ref: '#/definitions/ClusterRestoreStatus'
          description: |-
            Status of restore process executing/executed on appliance
          title: |-
            Current restore status
      required:
      - current_backup_operation_status
      - backup_operation_history
      - backup_config
      - restore_status
      type: object
      x-vmw-nsx-module: BackupConfiguration
    description: |-
      Data for a single backup/restore card
    title: |-
      Backup overview
    x-vmw-nsx-module: BackupConfiguration
  BackupSchedule:
    description: |-
      Abstract base type for Weekly or Interval Backup Schedule
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Schedule type
        enum:
        - WeeklyBackupSchedule
        - IntervalBackupSchedule
        title: |-
          Schedule type
        type: string
    required:
    - resource_type
    title: |-
      Abstract base type for Weekly or Interval Backup Schedule
    type: object
    x-vmw-nsx-module: BackupConfiguration
  BackupUiFramesInfo:
    properties:
      api_endpoint:
        description: |-
          prefix to be used for api call
        enum:
        - global-manager
        - nsxapi
        - ica
        readOnly: true
        title: |-
          prefix to be used for api call
        type: string
      frame_type:
        description: |-
          Type of service, for which backup is handled
        enum:
        - GLOBAL_MANAGER
        - LOCAL_MANAGER
        - LOCAL_LOCAL_MANAGER
        - NSX_INTELLIGENCE
        readOnly: true
        title: |-
          Type of service, for which backup is handled
        type: string
      site_id:
        description: |-
          Id of the site
        readOnly: true
        title: |-
          Id of the site
        type: string
      site_version:
        description: |-
          Version of the site
        readOnly: true
        title: |-
          Version of the site
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  BackupUiFramesInfoList:
    properties:
      backup_frames_list:
        description: |-
          List of backup frames(and metadata) to be displayed in UI
        items:
          $ref: '#/definitions/BackupUiFramesInfo'
        readOnly: true
        title: |-
          List of backup frames(and metadata) to be displayed in UI
        type: array
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  BaseCountObservation:
    allOf:
    - $ref: '#/definitions/CountObservation'
    - properties:
        checkpoint_type:
          description: |-
            Type of checkpoint
          readOnly: true
          title: |-
            Type of checkpoint
          type: string
        count:
          description: |-
            Packet count
          format: int64
          readOnly: true
          title: |-
            Packet count
          type: integer
        port_id:
          description: |-
            Port ID, which is either a logical port ID or an uplink name
          readOnly: true
          title: |-
            Port ID, which is either a logical port ID or an uplink name
          type: string
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  BaseFirewallProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |-
            Resource type to use as profile type
          enum:
          - FirewallSessionTimerProfile
          - FirewallCpuMemThresholdsProfile
          - FirewallFloodProtectionProfile
          - FirewallDnsProfile
          - GeneralSecuritySettingsProfile
          title: |-
            Resource type to use as profile type.
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: FirewallProfile
    x-vmw-nsx-module: FirewallProfile
  BaseHostSwitchProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        required_capabilities:
          items:
            type: string
          readOnly: true
          type: array
        resource_type:
          description: |-
            Supported HostSwitch profiles.
          enum:
          - UplinkHostSwitchProfile
          - LldpHostSwitchProfile
          - NiocProfile
          - ExtraConfigHostSwitchProfile
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: BaseHostSwitchProfile
    x-vmw-nsx-module: BaseHostSwitchProfile
  BaseNodeAggregateInfo:
    properties:
      display_name:
        description: |-
          Defaults to ID if not set
        maxLength: 255
        title: |-
          Identifier to use when displaying entity in logs or GUI
        type: string
      id:
        description: |-
          Unique identifier of this resource
        readOnly: true
        title: |-
          Unique identifier of this resource
        type: string
      node_interface_properties:
        description: |-
          Array of Node interface statistic properties
        items:
          $ref: '#/definitions/NodeInterfaceProperties'
        readOnly: true
        title: |-
          Array of Node interface statistic properties
        type: array
      node_interface_statistics:
        description: |-
          Array of Node network interface statistic properties
        items:
          $ref: '#/definitions/NodeInterfaceStatisticsProperties'
        readOnly: true
        title: |-
          Array of Node network interface statistic properties
        type: array
      node_status:
        $ref: '#/definitions/ClusterNodeStatus'
        readOnly: true
      node_status_properties:
        description: |-
          Time series of the node's system properties
        items:
          $ref: '#/definitions/NodeStatusProperties'
        title: |-
          Time series of the node's system properties
        type: array
    type: object
    x-vmw-nsx-module: ClusterManagement
  BasePktCapResource:
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Type of packet capture resource
        title: |-
          Type of packet capture resource
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: LiveTrace
  BaseServiceInstance:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        on_failure_policy:
          description: |-
            Failure policy of the service instance - if it has to be different from the service. By default the service instance inherits the FailurePolicy of the service it belongs to.
          enum:
          - ALLOW
          - BLOCK
          title: |-
            On Failure Policy
          type: string
        resource_type:
          description: |
            ServiceInstance is used when NSX handles the lifecyle of
              appliance. Deployment and appliance related all the information is necessary.
            ByodServiceInstance is a custom instance to be used when NSX is not handling
              the lifecycles of appliance/s. User will manage their own appliance (BYOD)
              to connect with NSX.
            VirtualServiceInstance is a a custom instance to be used when NSX is not
              handling the lifecycle of an appliance and when the user is not bringing
              their own appliance.
          enum:
          - ServiceInstance
          - ByodServiceInstance
          - VirtualServiceInstance
          type: string
        service_id:
          description: |-
            The Service to which the service instance is associated.
          readOnly: true
          title: |-
            Service Id
          type: string
        transport_type:
          description: |-
            Transport to be used by this service instance for deploying the Service-VM. This field is to be set Not Applicable(NA) if the service only caters to functionality EPP(Endpoint Protection).
          enum:
          - L2_BRIDGE
          - L3_ROUTED
          - NSH
          - NA
          readOnly: false
          title: |-
            Transport Type
          type: string
      required:
      - transport_type
      - resource_type
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      The deployment of a registered service. service instance is instantiation of service.
    title: |-
      Base Instance of a service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  BaseServiceProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |-
            Service Profile type, for example 'GiServiceProfile', 'ServiceInsertionServiceProfile'
          title: |-
            Service Profile Resource type.
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Base Service Profile
    title: |-
      Base Service Profile
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  BaseSwitchingProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        required_capabilities:
          items:
            type: string
          readOnly: true
          type: array
        resource_type:
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: BaseSwitchingProfile
    x-vmw-nsx-module: BaseSwitchingProfile
  BasicAuthenticationScheme:
    allOf:
    - $ref: '#/definitions/AuthenticationScheme'
    - properties:
        password:
          description: |-
            Password to authenticate with
          title: |-
            Password to authenticate with
          type: string
        scheme_name:
          description: |-
            Authentication scheme name
          enum:
          - basic
          title: |-
            Authentication scheme name
          type: string
        username:
          description: |-
            User name to authenticate with
          title: |-
            User name to authenticate with
          type: string
      required:
      - username
      - scheme_name
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  BatchRequest:
    description: |-
      A set of operations to be performed in a single batch
    properties:
      continue_on_error:
        default: true
        description: |-
          Flag to decide if we will continue processing subsequent requests in case of current error for atomic = false.
        type: boolean
      requests:
        items:
          $ref: '#/definitions/BatchRequestItem'
        type: array
    title: |-
      A set of operations to be performed in a single batch
    type: object
    x-vmw-nsx-module: Common
  BatchRequestItem:
    description: |-
      A single request within a batch of operations
    properties:
      body:
        type: object
      method:
        description: |-
          http method type
        enum:
        - GET
        - POST
        - PUT
        - DELETE
        - PATCH
        title: |-
          method type(POST/PUT/DELETE/UPDATE)
        type: string
      uri:
        description: |-
          relative uri (path and args), of the call including resource id (if this is a POST/DELETE), exclude hostname and port and prefix, exploded form of parameters
        title: |-
          Internal uri of the call
        type: string
    required:
    - uri
    - method
    title: |-
      A single request within a batch of operations
    type: object
    x-vmw-nsx-module: Common
  BatchResponse:
    description: |-
      The reponse to a batch operation
    properties:
      has_errors:
        description: |-
          Indicates if any of the APIs failed
        title: |-
          errors indicator
        type: boolean
      results:
        description: |-
          Bulk list results
        items:
          $ref: '#/definitions/BatchResponseItem'
        title: |-
          Bulk list results
        type: array
      rolled_back:
        description: |-
          Optional flag indicating that all items were rolled back even if succeeded initially
        title: |-
          indicates if all items were rolled back.
        type: boolean
    required:
    - results
    title: |-
      The reponse to a batch operation
    type: object
    x-vmw-nsx-module: Common
  BatchResponseItem:
    description: |-
      A single respose in a list of batched responses
    properties:
      body:
        description: |-
          object returned by api
        title: |-
          object returned by api
        type: object
      code:
        description: |-
          http status code
        format: int64
        title: |-
          object returned by api
        type: integer
      headers:
        description: |-
          The headers returned by the API call
        title: |-
          object returned by api
        type: object
    required:
    - code
    title: |-
      A single respose in a list of batched responses
    type: object
    x-vmw-nsx-module: Common
  BfdConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        declare_dead_multiple:
          default: 3
          description: |-
            Number of times a packet is missed before BFD declares the neighbor down.
          format: int64
          maximum: 16
          minimum: 2
          title: |-
            Number of times a packet is missed before BFD declares the neighbor down.
          type: integer
        enabled:
          default: false
          description: |-
            Flag to enable BFD for this LogicalRouter
          title: |-
            Flag to enable BFD for this LogicalRouter
          type: boolean
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        receive_interval:
          default: 500
          description: |-
            the time interval (in milliseconds) between heartbeat packets for BFD when receiving heartbeats.
          format: int64
          maximum: 60000
          minimum: 50
          title: |-
            Receive interval for heartbeats
          type: integer
        transmit_interval:
          default: 500
          description: |-
            the time interval (in milliseconds) between heartbeat packets for BFD when sending heartbeats.
          format: int64
          maximum: 60000
          minimum: 50
          title: |-
            Transmit interval for heartbeats
          type: integer
      type: object
      x-vmw-nsx-module: Routing
    description: |-
      BFD configuration for LogicalRouter
    title: |-
      BFD configuration for LogicalRouter
    x-vmw-nsx-module: Routing
  BfdConfigParameters:
    description: |-
      BFD configuration for the given Peer.
    properties:
      declare_dead_multiple:
        default: 3
        description: |-
          Number of times a packet is missed before BFD declares the neighbor down.
        format: int64
        maximum: 16
        minimum: 2
        title: |-
          Number of times a packet is missed before BFD declares the neighbor down.
        type: integer
      receive_interval:
        default: 500
        description: |-
          The time interval (in milliseconds) between heartbeat packets for BFD when receiving heartbeats.| For edge cluster type of bare metal, this value should be >= 50ms.| For edge cluster type of virtual machine or hybrid, this value should be >= 500ms.
        format: int64
        maximum: 60000
        minimum: 50
        title: |-
          Receive interval for heartbeats
        type: integer
      transmit_interval:
        default: 500
        description: |-
          The time interval (in milliseconds) between heartbeat packets for BFD when sending heartbeats.| For edge cluster type of bare metal, this value should be >= 300ms.| For edge cluster type of virtual machine or hybrid, this value should be >= 1000ms.
        format: int64
        maximum: 60000
        minimum: 50
        title: |-
          Transmit interval for heartbeats
        type: integer
    title: |-
      BFD configuration for the given Peer.
    type: object
    x-vmw-nsx-module: Routing
  BfdHealthMonitoringProfile:
    allOf:
    - $ref: '#/definitions/TransportZoneProfile'
    - properties:
        enabled:
          description: |-
            Whether the heartbeat is enabled. A POST or PUT request with "enabled" false (with no probe intervals) will set (POST) or reset (PUT) the probe_interval to their default value.
          title: |-
            Whether the heartbeat is enabled. A POST or PUT request with "enabled" false (with no probe intervals) will set (POST) or reset (PUT) the probe_interval to their default value.
          type: boolean
        latency_enabled:
          description: |-
            The flag is to turn on/off latency. A POST or PUT request with "latency_enabled" true will enable NSX to send the networking latency data to thrid-party monitoring tools like vRNI.
          title: |-
            Whether the latency is enabled.
          type: boolean
        probe_interval:
          default: 1000
          description: |-
            The time interval (in millisec) between probe packets for tunnels between transport nodes.
          format: int64
          minimum: 300
          title: |-
            The time interval (in millisec) between probe packets for tunnels between transport nodes.
          type: integer
      required:
      - enabled
      type: object
      x-vmw-nsx-module: BfdHealthMonitoringProfile
    description: |-
      Profile for BFD health monitoring
    title: |-
      Profile for BFD health monitoring
    x-vmw-nsx-module: BfdHealthMonitoringProfile
  BgpAddressFamily:
    properties:
      in_prefix_count:
        description: |-
          Count of in prefixes
        format: int64
        readOnly: true
        title: |-
          Count of in prefixes
        type: integer
      out_prefix_count:
        description: |-
          Count of out prefixes
        format: int64
        readOnly: true
        title: |-
          Count of out prefixes
        type: integer
      type:
        description: |-
          BGP address family type
        enum:
        - IPV4_UNICAST
        - VPNV4_UNICAST
        - IPV6_UNICAST
        - L2VPN_EVPN
        readOnly: true
        title: |-
          BGP address family type
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        as_num:
          description: |-
            For VRF logical router, the as_num from parent logical router will be effective.
          title: |-
            4 Byte ASN in ASPLAIN/ASDOT Format
          type: string
        as_number:
          description: |-
            This is a deprecated property, Please use 'as_num' instead. For VRF logical router, the as_number from parent logical router will be effective.
          format: int64
          maximum: 4294967296
          minimum: 1
          title: |-
            Autonomous System Number
          type: integer
          x-deprecated: true
        ecmp:
          default: true
          description: |
            While creation of BGP config this flag will be set to true
            User can change this value while updating BGP config. If this property
            is not specified in the payload, the default value will be considered
            as true.
          title: |-
            Flag to enable outbound ECMP
          type: boolean
        enabled:
          default: false
          description: |
            While creation of BGP config this flag will be set to
            - true for Tier0 logical router with Active-Active high-availability
            mode
            - false for Tier0 logical router with Active-Standby high-availanility
            mode.
            User can change this value while updating the config. If this
            property is not specified in the payload, the default value will be
            considered as false irrespective of the high-availability mode.
          title: |-
            Flag to enable this configuration
          type: boolean
        graceful_restart:
          description: |
            Flag to enable graceful restart. This field is deprecated, kindly use
            graceful_restart_config parameter for graceful restart configuration.
            If both parameters are set and consistent with each other
            [i.e. graceful_restart=false and graceful_restart_mode=HELPER_ONLY OR
            graceful_restart=true and graceful_restart_mode=GR_AND_HELPER]
            then this is allowed, but if inconsistent with each other then this
            is not allowed and validation error will be thrown. For VRF logical router,
            the settings from parent logical router will be effective.
          title: |-
            Flag to enable graceful restart
          type: boolean
          x-deprecated: true
        graceful_restart_config:
          $ref: '#/definitions/GracefulRestartConfig'
          description: |
            Configuration parameters for BGP Graceful Restart functionality.
            It has graceful_restart_mode and graceful_restart_timer parameters.
            For VRF logical router, the settings from parent logical router will be effective.
          title: |-
            BGP Graceful Restart configuration
        inter_sr_ibgp:
          $ref: '#/definitions/InterSRRoutingConfig'
          description: |-
            Inter SR IBGP configuration
          title: |-
            Inter SR IBGP configuration
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        multipath_relax:
          description: |-
            For TIER0 logical router, default is true. For VRF logical router, the settings from parent logical router will be effective.
          title: |-
            Flag to enable BGP multipath relax option.
          type: boolean
        route_aggregation:
          description: |-
            List of routes to be aggregated
          items:
            $ref: '#/definitions/BgpRouteAggregation'
          maxItems: 1000
          minItems: 0
          title: |-
            List of routes to be aggregated
          type: array
      type: object
      x-vmw-nsx-module: Routing
    description: |
      BGP configuration for Tier0 logical router. We create BGP configuration
      while creation of Tier0 logical router.
    title: |-
      BGP configuration for logical router
    x-vmw-nsx-module: Routing
  BgpNeighbor:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        address_families:
          description: |
            User can enable the neighbor for the specific address families and also define filters per address family.
            When the neighbor is created, it is default enabled for IPV4_UNICAST address family for backward compatibility reasons.
            User can change that if required, by defining the address family configuration.
          items:
            $ref: '#/definitions/BgpNeighborAddressFamily'
          title: |-
            AddressFamily settings for the neighbor
          type: array
        allow_as_in:
          default: false
          description: |-
            Flag to enable allowas_in option for BGP neighbor
          title: |-
            Flag to enable allowas_in option for BGP neighbor
          type: boolean
        bfd_config:
          $ref: '#/definitions/BfdConfigParameters'
          description: |-
            By specifying these paramaters BFD config for this given peer can be overriden | (the globally configured values will not apply for this peer)
          title: |-
            BFD Configuration Parameters for the given peer.
        enable_bfd:
          default: false
          description: |-
            Flag to enable BFD for this BGP Neighbor. Enable this if the neighbor supports BFD as this will lead to faster convergence.
          title: |-
            Enable BFD for this BGP Neighbor
          type: boolean
        enabled:
          default: true
          description: |-
            Flag to enable this BGP Neighbor
          title: |-
            Flag to enable this BGP Neighbor
          type: boolean
        filter_in_ipprefixlist_id:
          description: |-
            This is a deprecated property, Please  use 'address_family' instead.
          title: |-
            IPPrefix List to be used for IN direction filter for IPV4_UNICAST address family
          type: string
          x-deprecated: true
        filter_in_routemap_id:
          description: |-
            This is a deprecated property, Please use 'address_family' instead.
          title: |-
            RouteMap to be used for IN direction filter for IPV4_UNICAST address family
          type: string
          x-deprecated: true
        filter_out_ipprefixlist_id:
          description: |-
            This is a deprecated property, Please use 'address_family' instead.
          title: |-
            IPPrefixList to be used for OUT direction filter for IPV4_UNICAST address family
          type: string
          x-deprecated: true
        filter_out_routemap_id:
          description: |-
            This is a deprecated property, Please use 'address_family' instead.
          title: |-
            RouteMap to be used for OUT direction filter for IPV4_UNICAST address family
          type: string
          x-deprecated: true
        graceful_restart_mode:
          description: |
            BGP Graceful Restart mode. If specified, then it will take precedence
            over global Graceful Restart mode configured in logical router
            BgpConfig otherwise BgpConfig level Graceful Restart mode will be
            applicable for peer.
          enum:
          - DISABLE
          - HELPER_ONLY
          - GR_AND_HELPER
          type: string
        hold_down_timer:
          default: 180
          description: |-
            Wait period (seconds) before declaring peer dead
          format: int64
          maximum: 65535
          minimum: 1
          title: |-
            Wait period (seconds) before declaring peer dead
          type: integer
        keep_alive_timer:
          default: 60
          description: |-
            Frequency (seconds) with which keep alive messages are sent to peers
          format: int64
          maximum: 65535
          minimum: 1
          title: |-
            Frequency (seconds) with which keep alive messages are sent to peers
          type: integer
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        maximum_hop_limit:
          default: 1
          description: |
            This value is set on TTL(time to live) of BGP header.
            When router receives the BGP packet, it decrements the TTL. The default
            value of TTL is one when BPG request is initiated.So in the case of a
            BGP peer multiple hops away and and value of TTL is one, then  next
            router in the path will decrement the TTL to 0, realize it cant forward
            the packet and will drop it. If the hop count value to reach neighbor
            is equal to or less than the maximum_hop_limit value then intermediate
            router decrements the TTL count by one and forwards the request to
            BGP neighour. If the hop count value is greater than the maximum_hop_limit
            value then intermediate router discards the request when TTL becomes 0.
          format: int32
          maximum: 255
          minimum: 1
          title: |-
            Maximum Number of hops allowed to reach BGP neighbor
          type: integer
        neighbor_address:
          description: |-
            Neighbor IP Address
          format: ip
          type: string
        password:
          description: |
            User can create (POST) the neighbor with or without the password.
            The view (GET) on the neighbor, would never reveal if the password is set or not.
            The password can be set later using edit neighbor workFlow (PUT)
            On the edit neighbor (PUT), if the user does not specify the password property, the
            older value is retained. Maximum length of this field is 20 characters.
          minLength: 1
          title: |-
            Password
          type: string
        remote_as:
          description: |-
            This is a deprecated property, Please use 'remote_as_num' instead.
          format: int64
          maximum: 4294967296
          minimum: 1
          title: |-
            Autonomous System Number of the neighbor
          type: integer
          x-deprecated: true
        remote_as_num:
          description: |-
            4 Byte ASN of the neighbor in ASPLAIN/ASDOT Format
          title: |-
            4 Byte ASN of the neighbor in ASPLAIN/ASDOT Format
          type: string
        source_address:
          description: |-
            Deprecated - do not provide a value for this field. Use source_addresses instead.
          format: ip
          type: string
          x-deprecated: true
        source_addresses:
          description: |-
            BGP neighborship will be formed from all these source addresses to this neighbour.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 8
          title: |-
            Array of Logical Router Uplink IP Addresses
          type: array
      required:
      - neighbor_address
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  BgpNeighborAddressFamily:
    properties:
      enabled:
        default: true
        description: |-
          Enable this address family
        title: |-
          Enable this address family
        type: boolean
      in_filter_ipprefixlist_id:
        description: |-
          Id of the IPPrefix List to be used for IN direction filter
        title: |-
          Id of the IPPrefix List to be used for IN direction filter
        type: string
      in_filter_routemap_id:
        description: |-
          Id of the RouteMap to be used for IN direction filter
        title: |-
          Id of the RouteMap to be used for IN direction filter
        type: string
      maximum_routes:
        description: |-
          Maximum number of routes supported on the address family
        format: int64
        minimum: 0
        title: |-
          Maximum number of routes supported on the address family
        type: integer
      out_filter_ipprefixlist_id:
        description: |-
          Id of the IPPrefixList to be used for OUT direction filter
        title: |-
          Id of the IPPrefixList to be used for OUT direction filter
        type: string
      out_filter_routemap_id:
        description: |-
          Id of the RouteMap to be used for OUT direction filter
        title: |-
          Id of the RouteMap to be used for OUT direction filter
        type: string
      type:
        description: |-
          Address family type
        enum:
        - IPV4_UNICAST
        - VPNV4_UNICAST
        - IPV6_UNICAST
        - L2VPN_EVPN
        type: string
    required:
    - type
    type: object
    x-vmw-nsx-module: Routing
  BgpNeighborListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of bgp neighbors
          items:
            $ref: '#/definitions/BgpNeighbor'
          title: |-
            Paginated list of bgp neighbors
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  BgpNeighborRouteDetails:
    description: |-
      BGP neighbor learned/advertised route details.
    properties:
      logical_router_id:
        description: |-
          Logical router id
        readOnly: true
        title: |-
          Logical router id
        type: string
      neighbor_address:
        description: |-
          BGP neighbor peer IP address.
        format: ip
        readOnly: true
        type: string
      neighbor_id:
        description: |-
          BGP neighbor id
        readOnly: true
        title: |-
          BGP neighbor id
        type: string
      per_transport_node_routes:
        description: |
          Array of BGP neighbor route details per transport node.
        items:
          $ref: '#/definitions/RoutesPerTransportNode'
        readOnly: true
        title: |-
          Route details per transport node
        type: array
    title: |-
      BGP neighbor route details
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpNeighborRouteDetailsCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        as_path:
          description: |-
            BGP AS path attribute.
          readOnly: true
          title: |-
            AS path
          type: string
        local_pref:
          description: |-
            BGP Local Preference attribute.
          format: int64
          readOnly: true
          title: |-
            Local preference
          type: integer
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        med:
          description: |-
            BGP Multi Exit Discriminator attribute.
          format: int64
          readOnly: true
          title: |-
            Multi Exit Discriminator
          type: integer
        neighbor_address:
          description: |-
            BGP neighbor peer IP address.
          format: ip
          readOnly: true
          type: string
        neighbor_id:
          description: |-
            BGP neighbor id
          readOnly: true
          title: |-
            BGP neighbor id
          type: string
        network:
          description: |-
            CIDR network address.
          format: ip-cidr-block
          readOnly: true
          type: string
        next_hop:
          description: |-
            Next hop IP address.
          format: ip
          readOnly: true
          type: string
        source_address:
          description: |-
            BGP neighbor source address.
          format: ip
          readOnly: true
          type: string
        transport_node_id:
          description: |-
            Transport node id
          readOnly: true
          title: |-
            Transport node id
          type: string
        weight:
          description: |-
            BGP Weight attribute.
          format: int64
          readOnly: true
          title: |-
            Weight
          type: integer
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    description: |-
      BGP neighbor learned/advertised route details.
    title: |-
      BGP neighbor route details
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpNeighborRouteDetailsInCsvFormat:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        results:
          items:
            $ref: '#/definitions/BgpNeighborRouteDetailsCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpNeighborStatus:
    properties:
      address_families:
        description: |-
          Address families of BGP neighbor
        items:
          $ref: '#/definitions/BgpAddressFamily'
        readOnly: true
        title: |-
          Address families of BGP neighbor
        type: array
      announced_capabilities:
        description: |-
          BGP capabilities sent to BGP neighbor.
        items:
          type: string
        readOnly: true
        title: |-
          BGP capabilities sent to BGP neighbor.
        type: array
      connection_drop_count:
        description: |-
          Count of connection drop
        format: int64
        readOnly: true
        title: |-
          Count of connection drop
        type: integer
      connection_state:
        description: |-
          Current state of the BGP session.
        enum:
        - INVALID
        - IDLE
        - CONNECT
        - ACTIVE
        - OPEN_SENT
        - OPEN_CONFIRM
        - ESTABLISHED
        - UNKNOWN
        readOnly: true
        title: |-
          Current state of the BGP session.
        type: string
      established_connection_count:
        description: |-
          Count of connections established
        format: int64
        readOnly: true
        title: |-
          Count of connections established
        type: integer
      graceful_restart:
        description: |
          Current state of graceful restart where
          graceful_restart = true indicates graceful restart is enabled and
          graceful_restart = false indicates graceful restart is disabled.
          This is deprecated field, use graceful_restart_mode instead.
        readOnly: true
        title: |-
          Graceful restart flag
        type: boolean
        x-deprecated: true
      graceful_restart_mode:
        description: |
          Current state of graceful restart of BGP neighbor. Possible
          values are -
          1. GR_AND_HELPER - Graceful restart with Helper
          2. HELPER_ONLY - Helper only
          3. DISABLE - Disabled
        readOnly: true
        title: |-
          Graceful restart mode
        type: string
      hold_time:
        description: |-
          Time in ms to wait for HELLO from BGP peer. If a HELLO packet is not seen from BGP Peer withing hold_time then BGP neighbor will be marked as down.
        format: int64
        readOnly: true
        title: |-
          Time in ms to wait for HELLO from BGP peer. If a HELLO packet is not seen from BGP Peer withing hold_time then BGP neighbor will be marked as down.
        type: integer
      keep_alive_interval:
        description: |-
          Time in ms to wait for HELLO packet from BGP peer
        format: int64
        readOnly: true
        title: |-
          Time in ms to wait for HELLO packet from BGP peer
        type: integer
      local_port:
        description: |-
          TCP port number of Local BGP connection
        format: int64
        maximum: 65535
        minimum: 1
        readOnly: true
        title: |-
          TCP port number of Local BGP connection
        type: integer
      lr_component_id:
        description: |-
          Logical router component(Service Router/Distributed Router) id
        readOnly: true
        title: |-
          Logical router component(Service Router/Distributed Router) id
        type: string
      messages_received:
        description: |-
          Count of messages received from the neighbor
        format: int64
        readOnly: true
        title: |-
          Count of messages received from the neighbor
        type: integer
      messages_sent:
        description: |-
          Count of messages sent to the neighbor
        format: int64
        readOnly: true
        title: |-
          Count of messages sent to the neighbor
        type: integer
      negotiated_capability:
        description: |-
          BGP capabilities negotiated with BGP neighbor.
        items:
          type: string
        readOnly: true
        title: |-
          BGP capabilities negotiated with BGP neighbor.
        type: array
      neighbor_address:
        description: |-
          The IP of the BGP neighbor
        format: ip
        readOnly: true
        type: string
      neighbor_router_id:
        description: |-
          Router ID of the BGP neighbor.
        format: ip
        readOnly: true
        type: string
      remote_as_number:
        description: |-
          AS number of the BGP neighbor
        readOnly: true
        title: |-
          AS number of the BGP neighbor
        type: string
      remote_port:
        description: |-
          TCP port number of remote BGP Connection
        format: int64
        maximum: 65535
        minimum: 1
        readOnly: true
        title: |-
          TCP port number of remote BGP Connection
        type: integer
      remote_site:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Remote site details.
        readOnly: true
        title: |-
          Remote site
      source_address:
        description: |-
          The Ip address of logical port
        format: ip
        readOnly: true
        type: string
      time_since_established:
        description: |-
          Time(in seconds) since connection was established.
        format: int64
        readOnly: true
        title: |-
          Time(in seconds) since connection was established.
        type: integer
      total_in_prefix_count:
        description: |-
          Sum of in prefixes counts across all address families.
        format: int64
        readOnly: true
        title: |-
          Count of in prefixes
        type: integer
      total_out_prefix_count:
        description: |-
          Sum of out prefixes counts across all address families.
        format: int64
        readOnly: true
        title: |-
          Count of out prefixes
        type: integer
      transport_node:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Transport node id and name
        readOnly: true
        title: |-
          Transport node id and name
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpNeighborStatusLiteDto:
    properties:
      connection_state:
        description: |-
          Current state of the BGP session.
        enum:
        - INVALID
        - IDLE
        - CONNECT
        - ACTIVE
        - OPEN_SENT
        - OPEN_CONFIRM
        - ESTABLISHED
        - UNKNOWN
        readOnly: true
        title: |-
          BGP session state
        type: string
      neighbor_address:
        description: |-
          Ip address of BGP neighbor.
        format: ip
        readOnly: true
        type: string
      remote_site:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Remote site details.
        readOnly: true
        title: |-
          Remote site
      source_address:
        description: |-
          Source Ip address.
        format: ip
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpNeighborsStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated, unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        logical_router_name:
          description: |-
            Name of the logical router
          readOnly: true
          title: |-
            Name of the logical router
          type: string
        results:
          additionalProperties: false
          description: |-
            Status of BGP neighbors of the logical router
          items:
            $ref: '#/definitions/BgpNeighborStatus'
          readOnly: true
          title: |-
            Status of BGP neighbors of the logical router
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  BgpRouteAggregation:
    properties:
      prefix:
        description: |-
          cidr of the aggregate address
        format: ip-cidr-block
        type: string
      summary_only:
        default: true
        description: |-
          Flag to send only summarized route
        title: |-
          Flag to send only summarized route
        type: boolean
    required:
    - prefix
    type: object
    x-vmw-nsx-module: Routing
  BinaryPacketData:
    allOf:
    - $ref: '#/definitions/PacketData'
    - properties:
        payload:
          description: |-
            Up to 1000 bytes of payload may be supplied (with a base64-encoded length of 1336 bytes.) Additional bytes of traceflow metadata will be appended to the payload. The payload must contain all headers (Ethernet, IP, etc). Note that VLAN is not supported in the logical space. Hence, payload must not contain 802.1Q headers.
          maxLength: 1336
          title: |-
            RFC3548 compatible base64 encoded full payload
          type: string
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  BpduFilter:
    description: |-
      BPDU filter configuration
    properties:
      enabled:
        description: |-
          Indicates whether BPDU filter is enabled
        readOnly: false
        title: |-
          Indicates whether BPDU filter is enabled
        type: boolean
      white_list:
        description: |-
          Pre-defined list of allowed MAC addresses to be excluded from BPDU filtering
        items:
          type: string
        maxItems: 32
        minItems: 0
        readOnly: false
        title: |-
          Pre-defined list of allowed MAC addresses to be excluded from BPDU filtering
        type: array
    required:
    - enabled
    title: |-
      BPDU filter configuration
    type: object
    x-vmw-nsx-module: SwitchSecuritySwitchingProfile
  BridgeCluster:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        bridge_nodes:
          description: |-
            Nodes used in bridging
          items:
            $ref: '#/definitions/BridgeClusterNode'
          maxItems: 2
          title: |-
            Nodes used in bridging
          type: array
        cluster_profile_bindings:
          description: |-
            Bridge cluster profile bindings
          items:
            $ref: '#/definitions/ClusterProfileTypeIdEntry'
          title: |-
            Bridge cluster profile bindings
          type: array
      type: object
      x-vmw-nsx-module: BridgeCluster
    description: |-
      Bridge Cluster
    title: |-
      Bridge Cluster
    x-vmw-nsx-module: BridgeCluster
  BridgeClusterListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            BridgeCluster Results
          items:
            $ref: '#/definitions/BridgeCluster'
          minItems: 0
          readOnly: true
          title: |-
            BridgeCluster Results
          type: array
      type: object
      x-vmw-nsx-module: BridgeCluster
    description: |-
      Bridge cluster queries result
    title: |-
      Bridge cluster queries result
    x-vmw-nsx-module: BridgeCluster
  BridgeClusterNode:
    description: |-
      Bridge transport node
    properties:
      ha_mac:
        description: |-
          MAC address used for HA protocol
        format: mac-address
        readOnly: true
        type: string
      transport_node_id:
        description: |-
          UUID of the transport node
        maxLength: 36
        title: |-
          UUID of the transport node
        type: string
    required:
    - transport_node_id
    title: |-
      Bridge transport node
    type: object
    x-vmw-nsx-module: BridgeCluster
  BridgeClusterStatus:
    properties:
      cluster_id:
        description: |-
          The id of the cluster
        readOnly: true
        title: |-
          The id of the cluster
        type: string
      health:
        description: |-
          The health status of the cluster
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        readOnly: true
        title: |-
          The health status of the cluster
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcBridging
  BridgeEndpoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        bridge_cluster_id:
          description: |
            This field will not be used if an edge cluster is being used for the
            bridge endpoint
          maxLength: 36
          title: |-
            UUID of the bridge cluster for this bridge endpoint
          type: string
        bridge_endpoint_profile_id:
          description: |
            This field will not be used if a bridge cluster is being used for the
            bridge endpoint
          title: |-
            Bridge endpoint profile used by the edge cluster
          type: string
        ha_enable:
          default: true
          description: |
            This field will not be used if an edge cluster is being used for the
            bridge endpoint
          title: |-
            Controls the enabling of HA on the VLAN for this endpoint
          type: boolean
        uplink_teaming_policy_name:
          description: |-
            This name has to be one of the switching uplink teaming policy names listed inside the TransportZone. If this field is not specified, bridge will use the first pnic in host-switch config. This field will not be used if a bridge cluster is being used for the bridge endpoint
          title: |-
            The name of the switching uplink teaming policy for the bridge endpoint
          type: string
        vlan:
          description: |
            This property is used for VLAN specification of bridge endpoint.
            It's mutually exclusive with 'vlan_trunk_spec', either 'vlan' or 'vlan_trunk_spec'
            should be specified.
          format: int64
          type: integer
        vlan_transport_zone_id:
          description: |
            This field will not be used if a bridge cluster is being used for the
            bridge endpoint
          title: |-
            VLAN transport zone id by the edge cluster
          type: string
        vlan_trunk_spec:
          $ref: '#/definitions/VlanTrunkSpec'
          description: |
            This property is used for VLAN trunk specification of edge bridge endpoint.
            It's mutually exclusive with 'vlan', either 'vlan' or 'vlan_trunk_spec'
            should be specified.
          title: |-
            VLAN trunk spec of edge bridge endpoint
      type: object
      x-vmw-nsx-module: BridgeEndpoint
    description: |
      A bridge endpoint can be created on a bridge cluster or on an edge
      cluster. Few of the properties of this class will not be used depending on
      the type of bridge endpoint being created. When creating a bridge endpoint
      on a bridge cluster, following propeties will be used: vlan,
      bridge_cluster_id and ha_enable. Similarly, for creating a bridge endpoint
      on an edge cluster following properties will be used: vlan,
      bridge_endpoint_profile_id and vlan_transport_zone_id.
    title: |-
      Bridge Endpoint
    x-vmw-nsx-module: BridgeEndpoint
  BridgeEndpointListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            BridgeEndpoint Results
          items:
            $ref: '#/definitions/BridgeEndpoint'
          minItems: 0
          readOnly: true
          title: |-
            BridgeEndpoint Results
          type: array
      type: object
      x-vmw-nsx-module: BridgeEndpoint
    description: |-
      Bridge Endpoint queries result
    title: |-
      Bridge Endpoint queries result
    x-vmw-nsx-module: BridgeEndpoint
  BridgeEndpointProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        edge_cluster_id:
          description: |-
            UUID of the edge cluster for this bridge endpoint
          maxLength: 36
          title: |-
            UUID of the edge cluster for this bridge endpoint
          type: string
        edge_cluster_member_indexes:
          description: |-
            First index will be used as the preferred member
          items:
            format: int32
            type: integer
          title: |-
            Indexes of the member hosts of the edge bridge cluster
          type: array
        failover_mode:
          default: PREEMPTIVE
          description: |-
            Faileover mode can be preemmptive or non-preemptive
          enum:
          - PREEMPTIVE
          - NON_PREEMPTIVE
          title: |-
            Failover mode for the edge bridge cluster
          type: string
        high_availability_mode:
          default: ACTIVE_STANDBY
          description: |-
            High avaialability mode can be active-active or active-standby
          enum:
          - ACTIVE_STANDBY
          title: |-
            High availability mode for the edge bridge cluster
          type: string
      required:
      - edge_cluster_id
      type: object
      x-vmw-nsx-module: BridgeEndpointProfile
    description: |-
      Bridge Endpoint Profile
    title: |-
      Bridge Endpoint Profile
    x-vmw-nsx-module: BridgeEndpointProfile
  BridgeEndpointProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            BridgeEndpointProfile Results
          items:
            $ref: '#/definitions/BridgeEndpointProfile'
          minItems: 0
          readOnly: true
          title: |-
            BridgeEndpointProfile Results
          type: array
      type: object
      x-vmw-nsx-module: BridgeEndpointProfile
    description: |-
      Bridge Endpoint Profile queries result
    title: |-
      Bridge Endpoint Profile queries result
    x-vmw-nsx-module: BridgeEndpointProfile
  BridgeEndpointStatistics:
    allOf:
    - $ref: '#/definitions/AggregatedDataCounter'
    - properties:
        endpoint_id:
          description: |-
            The id of the bridge endpoint
          readOnly: true
          title: |-
            The id of the bridge endpoint
          type: string
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
      type: object
      x-vmw-nsx-module: AggSvcBridging
    x-vmw-nsx-module: AggSvcBridging
  BridgeEndpointStatus:
    properties:
      active_nodes:
        description: |-
          The Ids of the transport nodes which actively serve the endpoint.
        items:
          type: string
        readOnly: true
        title: |-
          The Ids of the transport nodes which actively serve the endpoint.
        type: array
      endpoint_id:
        description: |-
          The id of the bridge endpoint
        readOnly: true
        title: |-
          The id of the bridge endpoint
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcBridging
  BridgeHighAvailabilityClusterProfile:
    allOf:
    - $ref: '#/definitions/ClusterProfile'
    - properties:
        bfd_probe_interval:
          default: 1000
          description: |-
            the time interval (in millisec) between probe packets for heartbeat purpose
          format: int64
          maximum: 60000
          minimum: 300
          title: |-
            the time interval (in millisec) between probe packets for heartbeat purpose
          type: integer
        enable:
          default: true
          description: |-
            whether the heartbeat is enabled
          title: |-
            whether the heartbeat is enabled
          type: boolean
      type: object
      x-vmw-nsx-module: BridgeHighAvailabilityClusterProfile
    description: |-
      Profile for BFD HA cluster setting
    title: |-
      Profile for BFD HA cluster setting
    x-vmw-nsx-module: BridgeHighAvailabilityClusterProfile
  BrokerProperties:
    description: |-
      Information about a management plane node this transport node is configured to communicate with
    properties:
      BrokerFqdn:
        description: |-
          Fully qualified domain name of the message bus broker on the management plane node.
        type: string
      BrokerIpAddress:
        description: |-
          IP address or hostname of the message bus broker on the management plane node.
        format: hostname-or-ipv4
        readOnly: false
        type: string
      BrokerIsMaster:
        description: |-
          Indicates whether this broker is the master.
        type: string
      BrokerPort:
        description: |-
          Port number of the message bus broker on the management plane node.
        type: string
      BrokerSslCertThumbprint:
        description: |-
          Certificate thumbprint of the message bus broker on the management plane node.
        type: string
      BrokerVirtualHost:
        description: |-
          Type of host running the broker.
        type: string
    required:
    - BrokerSslCertThumbprint
    - BrokerIpAddress
    title: |-
      Information about a management plane node this transport node is configured to communicate with
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  BundleId:
    description: |-
      Identifier of the bundle
    properties:
      bundle_id:
        description: |-
          Identifier of bundle upload
        readOnly: true
        title: |-
          Bundle Id
        type: string
    title: |-
      Id of bundle
    type: object
    x-vmw-nsx-module: FileUploadFramework
  BundleIds:
    description: |-
      Contains a list of bundle-ids
    properties:
      failed:
        description: |-
          Id of a bundle whose upload was failed
        readOnly: true
        title: |-
          Failed bundle-Id
        type: string
      in_progress:
        description: |-
          Id of a bundle whose upload is in-progress
        readOnly: true
        title: |-
          In-progress bundle-Id
        type: string
      successful:
        description: |-
          Id of a bundle whose upload is successful
        readOnly: true
        title: |-
          Sucessful bundle-Id
        type: string
    title: |-
      List of bundle-ids
    type: object
    x-vmw-nsx-module: FileUploadFramework
  BundleUploadPermission:
    description: |-
      Describes wether bundle upload is allowed or not
    properties:
      reason:
        description: |-
          Reason for not allowing upload
        readOnly: true
        type: string
      upload_allowed:
        default: false
        description: |-
          Flag indecation whether upload is allowed or not
        readOnly: true
        title: |-
          Bundle upload allowed flag
        type: boolean
    title: |-
      Permissions for bundle upload
    type: object
    x-vmw-nsx-module: FileUploadFramework
  BundleUploadStatus:
    description: |-
      Upload status of bundle uploaded from local or remote location
    properties:
      bundle_name:
        description: |-
          Name of the uploaded bundle.
        readOnly: true
        title: |-
          Name of the bundle
        type: string
      detailed_status:
        description: |-
          Detailed status of bundle upload
        readOnly: true
        title: |-
          Detailed status of bundle upload
        type: string
      percent:
        description: |-
          Percent of bundle uploaded from remote location
        readOnly: true
        title: |-
          Percent of upload completed
        type: number
      status:
        description: |-
          Current status of bundle upload
        enum:
        - UPLOADING
        - VERIFYING
        - SUCCESS
        - FAILED
        readOnly: true
        title: |-
          Status of bundle upload
        type: string
      url:
        description: |-
          URL for uploading bundle
        readOnly: true
        title: |-
          URL from which the bundle was uploaded
        type: string
    title: |-
      Upload status of bundle
    type: object
    x-vmw-nsx-module: FileUploadFramework
  ByodServiceInstance:
    allOf:
    - $ref: '#/definitions/BaseServiceInstance'
    - properties:
        deployment_mode:
          default: ACTIVE_STANDBY
          description: |-
            Deployment mode specifies where the partner appliance will be deployed in HA or non-HA i.e standalone mode.
          enum:
          - STAND_ALONE
          - ACTIVE_STANDBY
          readOnly: false
          title: |-
            Deployment Mode
          type: string
      required:
      - deployment_mode
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      ByodServiceInstance is a custom instance to be used when NSX is not handling the lifecycles of appliance/s. User will manage their own appliance (BYOD) to connect with NSX.
    title: |-
      Custom Instance of a service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  CCPUpgradeStatus:
    allOf:
    - $ref: '#/definitions/ComponentUpgradeStatus'
    - type: object
      x-vmw-nsx-module: Upgrade
    description: |-
      Status of CCP upgrade
    title: |-
      Status of CCP upgrade
    x-vmw-nsx-module: Upgrade
  CPUReservation:
    description: |
      Relative to the form factor pre-defined reservation value. We recommended
      that you use the predefined measures of CPU reservation shares to reduce
      the CPU reservation of a VM. Reservation shares are relative to the
      default form-factor value. Though absolute values for CPU reservation
      is supported, we advise to use this option with caution as incorrect or
      high reservation values could lead to deployment failure or lead to
      resource starvation for other VMs running on the same host.
    properties:
      reservation_in_mhz:
        description: |
          The CPU reservation in MHz is the guaranteed minimum amount of clock
          cycles that the vmkernel CPU scheduler will give the Edge VM in case
          of contention. If an Edge VM is not using its reserved resources, then
          other machines can use them thus preventing waste of CPU cycles on the
          physical host. Note: We recommend use of reservation_in_shares instead
          of this absolute configuration. When you specify this value, set
          reservation_in_shares to LOW_PRIORITY.
        format: int32
        title: |-
          CPU reservation in MHz.
        type: integer
      reservation_in_shares:
        default: HIGH_PRIORITY
        description: |
          Shares specify the relative importance of a virtual machine on a given
          host. When you assign shares to a virtual machine, you always specify
          the priority for that virtual machine relative to other powered-on
          virtual machines on the same host. The default priority for shares is
          HIGH_PRIORITY.
        enum:
        - EXTRA_HIGH_PRIORITY
        - HIGH_PRIORITY
        - NORMAL_PRIORITY
        - LOW_PRIORITY
        title: |-
          CPU reservation in shares.
        type: string
    type: object
    x-vmw-nsx-module: FabricNode
  CallbackAuthenticationScheme:
    description: |-
      CallbackAuthenticationScheme describes how notification requests should authenticate to the server.
    properties:
      certificate_id:
        description: |-
          Certificate ID with a valid certificate and private key, procured from trust-management API.
        readOnly: false
        title: |-
          Valid certificate ID
        type: string
      password:
        description: |-
          Password to use if scheme_name is BASIC_AUTH.
        readOnly: false
        title: |-
          Password for authentication
        type: string
      scheme_name:
        description: |-
          Authentication scheme to use when making notification requests to the partner console. Specify one of BASIC_AUTH or CERTIFICATE.
        enum:
        - BASIC_AUTH
        - CERTIFICATE
        readOnly: false
        title: |-
          Authentication scheme to use when making notification requests
        type: string
      username:
        description: |-
          Username to use if scheme_name is BASIC_AUTH.
        readOnly: false
        title: |-
          Username for authentication
        type: string
    required:
    - scheme_name
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  CapacityDashboardUsage:
    properties:
      current_usage_count:
        description: |
          Indicate the current usage count of object type.
        format: int64
        title: |-
          Current usage count of object type
        type: integer
      current_usage_percentage:
        description: |
          Current usage percentage for object type
        title: |-
          Current usage percentage
        type: number
      display_name:
        description: |
          Display name for NSX object type.
        title: |-
          User friendly name for object type
        type: string
      max_supported_count:
        description: |
          This is the maximum supported count for object type in consideration.
        format: int64
        title: |-
          Maximum supported count for object type
        type: integer
      max_threshold_percentage:
        description: |
          This indicates the maximum threshold percentage for object type.
        title: |-
          Max threshold percentage for object type
        type: number
      min_threshold_percentage:
        description: |
          This indicates the minimum threshold percentage for object type.
        title: |-
          Min threshold percentage for object type
        type: number
      severity:
        description: |
          Severity calculated from percentage usage
        enum:
        - INFO
        - WARNING
        - CRITICAL
        - ERROR
        title: |-
          Severity calculated from percentage usage
        type: string
      usage_type:
        description: |
          Indicate the object type for which usage is calculated.
        title: |-
          Object type for which usage is fetched
        type: string
    required:
    - current_usage_count
    - max_threshold_percentage
    - display_name
    - severity
    - min_threshold_percentage
    - current_usage_percentage
    - max_supported_count
    - usage_type
    type: object
    x-vmw-nsx-module: CapacityDashboard
  CapacityThreshold:
    properties:
      max_threshold_percentage:
        description: |
          Set the maximum threshold percentage. Specify a value between 0 and
          100. Usage percentage above this value is tagged as critical.
        maximum: 100
        minimum: 0
        title: |-
          Maximum threshold percentage
        type: number
      min_threshold_percentage:
        description: |
          Set the minimum threshold percentage. Specify a value between 0 and
          100. Usage percentage above this value is tagged as warning.
        maximum: 100
        minimum: 0
        title: |-
          Minimum threshold percentage
        type: number
      threshold_type:
        description: |
          Indicate the object type for which threshold is to be set.
        title: |-
          Object type for which threshold is to be set
        type: string
    required:
    - max_threshold_percentage
    - threshold_type
    - min_threshold_percentage
    type: object
    x-vmw-nsx-module: CapacityDashboard
  CapacityThresholdList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        capacity_thresholds:
          description: |-
            List of capacity thresholds for NSX Objects
          items:
            $ref: '#/definitions/CapacityThreshold'
          title: |-
            List of capacity thresholds for NSX Objects
          type: array
      required:
      - capacity_thresholds
      type: object
      x-vmw-nsx-module: CapacityDashboard
    x-vmw-nsx-module: CapacityDashboard
  CapacityUsage:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        capacity_type:
          description: |-
            type of the capacity field
          readOnly: true
          title: |-
            type of the capacity field
          type: string
        usage_count:
          description: |-
            count of number of items of capacity_type
          format: int64
          readOnly: true
          title: |-
            count of number of items of capacity_type
          type: integer
      type: object
      x-vmw-nsx-module: License
    description: |-
      usage of each capacity type ex. vm, cpu
    x-vmw-nsx-module: License
  CapacityUsageMetaInfo:
    properties:
      last_updated_timestamp:
        description: |-
          Timestamp at which capacity usage was last calculated
        format: int64
        type: integer
      max_global_threshold_percentage:
        description: |
          Indicates the maximum global threshold percentage
        title: |-
          Maximum global threshold percentage
        type: number
      min_global_threshold_percentage:
        description: |
          Indicates the minimum global threshold percentage
        title: |-
          Minimum global threshold percentage
        type: number
    required:
    - max_global_threshold_percentage
    - min_global_threshold_percentage
    - last_updated_timestamp
    type: object
    x-vmw-nsx-module: CapacityDashboard
  CapacityUsageResponse:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        capacity_usage:
          description: |-
            List of capacity usage for NSX Objects
          items:
            $ref: '#/definitions/CapacityDashboardUsage'
          title: |-
            List of capacity usage for NSX Objects
          type: array
        meta_info:
          description: |-
            Meta data for capacity usage statistics
          title: |-
            Meta data for capacity usage statistics
          type: object
        unreported_usage_types:
          description: |-
            Types for which usage data was not reported
          items:
            type: string
          title: |-
            Unreported usage types
          type: array
      required:
      - capacity_usage
      - meta_info
      type: object
      x-vmw-nsx-module: CapacityDashboard
    x-vmw-nsx-module: CapacityDashboard
  CentralConfigProperties:
    description: |-
      Central Config properties
    properties:
      local_override:
        description: |-
          Override Central Config
        title: |-
          Override Central Config
        type: boolean
    required:
    - local_override
    title: |-
      Central Config properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  CentralNodeConfigProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ntp:
          $ref: '#/definitions/NtpProperties'
          description: |-
            NTP service properties for NSX nodes.
          title: |-
            NTP service properties
        snmp:
          $ref: '#/definitions/SnmpProperties'
          description: |-
            SNMP service properties for NSX nodes.
          title: |-
            SNMP service properties
        syslog:
          $ref: '#/definitions/SyslogProperties'
          description: |-
            Syslog service properties for NSX nodes.
          title: |-
            Syslog service properties
        timezone:
          description: |-
            Timezone to be set for NSX nodes. Only timezone strings listed in the Time Zone database (https://www.iana.org/time-zones) are allowed.
          title: |-
            Timezone
          type: string
      type: object
      x-vmw-nsx-module: CentralConfig
    description: |-
      Central Node Config profile for NSX nodes. This set of properties will be pushed to NSX Manager and Edge nodes. SNMP properties will be pushed to KVM Hypervisors in addition to Manager and Edge nodes.
    title: |-
      Central Node Config Profile
    x-vmw-nsx-module: CentralConfig
  CentralNodeConfigProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Central Node Config profiles
          items:
            $ref: '#/definitions/CentralNodeConfigProfile'
          title: |-
            Central Node Config profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CentralConfig
    description: |-
      Paged collection of Central Node Config profiles.
    title: |-
      List of Central Node Config profiles
    x-vmw-nsx-module: CentralConfig
  Certificate:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        details:
          description: |-
            List of X509Certificates.
          items:
            $ref: '#/definitions/X509Certificate'
          readOnly: true
          type: array
        pem_encoded:
          description: |-
            PEM encoded certificate data.
          readOnly: false
          type: string
        used_by:
          description: |-
            List of node IDs with services, that are using this certificate.
          items:
            $ref: '#/definitions/NodeIdServicesMap'
          readOnly: true
          type: array
      required:
      - pem_encoded
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  CertificateCheckingStatus:
    description: |-
      Result of checking a certificate
    properties:
      error_message:
        description: |-
          Error message when checking the certificate.
        readOnly: true
        title: |-
          Error Message
        type: string
      status:
        description: |-
          Status of the checked certificate.
        enum:
        - OK
        - CRL_NOT_READY
        - REJECTED
        - ERROR
        readOnly: true
        type: string
    title: |-
      Result of checking a certificate
    type: object
    x-vmw-nsx-module: CertificateManager
  CertificateKeyPair:
    properties:
      certificate:
        $ref: '#/definitions/SecurityCertificate'
        readOnly: false
      rsa_private_key:
        description: |-
          The private key must include the enclosing "-----BEGIN RSA PRIVATE KEY-----" and "-----END RSA PRIVATE KEY-----". An empty string is returned in read responses.
        minLength: 60
        readOnly: false
        title: |-
          PEM encoded RSA private key
        type: string
    required:
    - certificate
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  CertificateList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Certificate list.
          items:
            $ref: '#/definitions/Certificate'
          readOnly: true
          type: array
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      Certificate queries result
    title: |-
      Certificate queries result
    x-vmw-nsx-module: CertificateManager
  CertificateProfile:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        cluster_certificate:
          description: |-
            True if this is for a cluster certificate
          readOnly: true
          title: |-
            Cluster Certificate
          type: boolean
        extended_key_usage:
          description: |-
            Indicating whether this certificate is used for server-auth, client-auth or both.
          items:
            description: |-
              Usage Type of the Certificate, SERVER or CLIENT. Default is SERVER
            enum:
            - SERVER
            - CLIENT
            type: string
          readOnly: true
          title: |-
            Extended Key Usage
          type: array
        node_type:
          description: |-
            List of types of node this certificate applies to.
          items:
            description: |-
              Node Type
            type: string
          readOnly: true
          title: |-
            Node Type
          type: array
        profile_name:
          description: |-
            Certificate Profile Name
          readOnly: true
          title: |-
            Certificate Profile Name
          type: string
        service_type:
          description: |-
            Unique Service Type
          enum:
          - MGMT_CLUSTER
          - MGMT_PLANE
          - API
          - NOTIFICATION_COLLECTOR
          - SYSLOG_SERVER
          - RSYSLOG_CLIENT
          - APH
          - GLOBAL_MANAGER
          - LOCAL_MANAGER
          - CLIENT_AUTH
          - RMQ
          readOnly: true
          type: string
        unique_use:
          description: |-
            True if the certificate used for this service-type cannot be used anywhere else.
          readOnly: true
          title: |-
            Unique Use
          type: boolean
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  CertificateProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            CertificateProfile list.
          items:
            $ref: '#/definitions/CertificateProfile'
          readOnly: false
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      CertificateProfile query result
    title: |-
      CertificateProfile query result
    x-vmw-nsx-module: CertificateManager
  CipherSuite:
    description: |-
      TLS cipher suite
    properties:
      enabled:
        description: |-
          Enable status for this cipher suite
        title: |-
          Enable status for this cipher suite
        type: boolean
      name:
        description: |-
          Name of the TLS cipher suite
        title: |-
          Name of the TLS cipher suite
        type: string
    required:
    - enabled
    - name
    title: |-
      TLS cipher suite
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ClasslessStaticRoute:
    description: |-
      DHCP classless static route option.
    properties:
      network:
        description: |-
          Destination network in CIDR format.
        format: address-or-block-or-range
        type: string
      next_hop:
        description: |-
          IP address of next hop of the route.
        format: ip
        type: string
    required:
    - next_hop
    - network
    title: |-
      DHCP classless static route option
    type: object
    x-vmw-nsx-module: Dhcp
  ClientSslProfileBinding:
    properties:
      certificate_chain_depth:
        default: 3
        description: |
          authentication depth is used to set the verification depth in the client
          certificates chain.
        format: int64
        maximum: 2147483647
        minimum: 1
        title: |-
          the maximum traversal depth of client certificate chain
        type: integer
      client_auth:
        default: IGNORE
        description: |-
          client authentication mode
        enum:
        - REQUIRED
        - IGNORE
        type: string
      client_auth_ca_ids:
        description: |
          If client auth type is REQUIRED, client certificate must be signed by
          one of the trusted Certificate Authorities (CAs), also referred to as
          root CAs, whose self signed certificates are specified.
        items:
          type: string
        title: |-
          CA identifier list to verify client certificate
        type: array
      client_auth_crl_ids:
        description: |
          A Certificate Revocation List (CRL) can be specified in the client-side
          SSL profile binding to disallow compromised client certificates.
        items:
          type: string
        title: |-
          CRL identifier list to verify client certificate
        type: array
      default_certificate_id:
        description: |
          A default certificate should be specified which will be used if the
          server does not host multiple hostnames on the same IP address or if
          the client does not support SNI extension.
        title: |-
          default service certificate identifier
        type: string
      sni_certificate_ids:
        description: |
          Client-side SSL profile binding allows multiple certificates, for
          different hostnames, to be bound to the same virtual server.
        items:
          type: string
        title: |-
          SNI certificate identifier list
        type: array
      ssl_profile_id:
        description: |
          Client SSL profile defines reusable, application-independent client side
          SSL properties.
        title: |-
          client SSL profile identifier
        type: string
    required:
    - default_certificate_id
    type: object
    x-vmw-nsx-module: LoadBalancer
  ClientTypeCollectionConfiguration:
    description: |-
      HPM client data collection configuration
    properties:
      client_type:
        description: |-
          The client type for which this data collection frequency setting applies
        enum:
        - HYPERVISOR
        - EDGE
        - CONTROL_PLANE
        - CONTROL_PLANE_PLATFORM
        - MANAGEMENT_PLANE
        - MANAGEMENT_PLANE_PLATFORM
        title: |-
          Client Type
        type: string
      data_type_configurations:
        description: |-
          The set of data collection type configurations, one for each data collection type
        items:
          $ref: '#/definitions/DataTypeCollectionConfiguration'
        title: |-
          Data type configurations
        type: array
    required:
    - client_type
    - data_type_configurations
    title: |-
      HPM client data collection configuration
    type: object
    x-vmw-nsx-module: AggSvcDataCollectionConfig
  CloudNativeServiceInstance:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        external_id:
          description: |
            Id of service instance fetched from public cloud.
          readOnly: true
          title: |-
            External id of cloud native service instance in the system.
          type: string
        service_type:
          description: |-
            Type of cloud native service.
          readOnly: true
          title: |-
            Type of cloud native service; possible values are ELB, RDS
          type: string
        source:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference of the public cloud gateway that reported the service instance.
          readOnly: true
          title: |-
            Reference of the public cloud gateway
      type: object
      x-vmw-nsx-module: InventoryCloudObj
    description: |-
      Stores the information about cloud native service instance.
    x-vmw-nsx-module: InventoryCloudObj
  CloudNativeServiceInstanceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of cloud native service instances
          items:
            $ref: '#/definitions/CloudNativeServiceInstance'
          title: |-
            CloudNativeServiceInstance list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCloudObj
    description: |
      Stores a list of cloud native service instances and information about them.
      NSX supported service instances are currently  limited to
      Relational Database Service (RDS),Elastic Load Balancing (ELB).
    x-vmw-nsx-module: InventoryCloudObj
  ClusterBackupInfo:
    description: |-
      Cluster backup details
    properties:
      ip_address:
        description: |-
          IP address or FQDN of the node from which the backup was taken
        format: hostname-or-ip
        readOnly: true
        title: |-
          IP address or FQDN of the node from which the backup was taken
        type: string
      node_id:
        description: |-
          ID of the node from which the backup was taken
        readOnly: true
        title: |-
          ID of the node from which the backup was taken
        type: string
      restore_type:
        default: []
        description: |-
          Type of restore allowed
        items:
          enum:
          - REGULAR_RESTORE
          - POLICY_ONLY_RESTORE
          type: string
        readOnly: true
        title: |-
          Type of restore allowed
        type: array
        uniqueItems: true
      timestamp:
        description: |-
          timestamp of the cluster backup file
        format: int64
        readOnly: true
        type: integer
    title: |-
      Cluster backup details
    type: object
    x-vmw-nsx-module: ClusterRestore
  ClusterBackupInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of timestamps of backed-up cluster files
          items:
            $ref: '#/definitions/ClusterBackupInfo'
          readOnly: true
          title: |-
            List of timestamps of backed-up cluster files
          type: array
      type: object
      x-vmw-nsx-module: ClusterRestore
    x-vmw-nsx-module: ClusterRestore
  ClusterCertificateId:
    description: |-
      Cluster Certificate ID
    properties:
      certificate_id:
        description: |-
          Certificate ID
        title: |-
          Certificate ID
        type: string
    required:
    - certificate_id
    title: |-
      Cluster Certificate ID
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ClusterConfig:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        cluster_id:
          description: |-
            Unique identifier of this cluster
          readOnly: true
          title: |-
            Unique identifier of this cluster
          type: string
        control_cluster_changes_allowed:
          description: |-
            True if control cluster nodes may be added or removed
          title: |-
            True if control cluster nodes may be added or removed
          type: boolean
        mgmt_cluster_changes_allowed:
          description: |-
            True if management cluster nodes may be added or removed
          title: |-
            True if management cluster nodes may be added or removed
          type: boolean
        nodes:
          description: |-
            Configuration of each node in cluster
          items:
            $ref: '#/definitions/ClusterNodeInfo'
          title: |-
            Configuration of each node in cluster
          type: array
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ClusterConfiguration:
    description: |-
      The configuration of the NSX cluster. The cluster configuration consists of a list of cluster node attributes.
    properties:
      cluster_id:
        description: |-
          UUID of the cluster
        readOnly: true
        title: |-
          UUID of the cluster
        type: string
      config_version:
        description: |-
          Cluster configuration version
        format: int64
        readOnly: true
        title: |-
          Cluster configuration version
        type: integer
      nodes:
        description: |-
          Nodes in the cluster configuration
        items:
          $ref: '#/definitions/ClusterNode'
        readOnly: true
        title: |-
          Nodes in the cluster configuration
        type: array
    title: |-
      Cluster configuration
    type: object
    x-vmw-nsx-module: Cluster
  ClusterGroupMemberStatus:
    description: |-
      This type contains the attributes and status of a group member.
    properties:
      member_fqdn:
        description: |-
          FQDN of the group member
        format: hostname
        readOnly: true
        title: |-
          FQDN of the group member
        type: string
      member_ip:
        description: |-
          IP of the group member
        format: ip
        readOnly: true
        title: |-
          IP of the group member
        type: string
      member_status:
        description: |-
          Status of the group member
        enum:
        - UP
        - DOWN
        - UNKNOWN
        readOnly: true
        title: |-
          Status of the group member
        type: string
      member_uuid:
        description: |-
          UUID of the group member
        readOnly: true
        title: |-
          UUID of the group member
        type: string
    title: |-
      Status of a group member
    type: object
    x-vmw-nsx-module: Cluster
  ClusterGroupServiceLeader:
    description: |-
      Each cluster node entity provides multiple services. When working in a group, each service can elect a cluster node entity to be the leader of the service. Leader election helps in coordination of the service. The leader holds a renewable lease on the leadership for a fixed period of time. The lease version is incremented every time the leadership lease is renewed. This type contains the attributes of a leader.
    properties:
      leader_uuid:
        description: |-
          Member UUID of the leader
        readOnly: true
        title: |-
          Member UUID of the leader
        type: string
      lease_version:
        description: |-
          Number of times the lease has been renewed
        format: int64
        readOnly: true
        title: |-
          Number of times the lease has been renewed
        type: integer
      service_name:
        description: |-
          Name of the service
        readOnly: true
        title: |-
          Name of the service
        type: string
    title: |-
      Leader for a service of the group
    type: object
    x-vmw-nsx-module: Cluster
  ClusterGroupStatus:
    description: |-
      This type contains the attributes and status of a group.
    properties:
      group_id:
        description: |-
          UUID of the group
        readOnly: true
        title: |-
          UUID of the group
        type: string
      group_status:
        description: |-
          Group status
        enum:
        - STABLE
        - DEGRADED
        - UNSTABLE
        - UNAVAILABLE
        readOnly: true
        title: |-
          Group status
        type: string
      group_type:
        description: |-
          Type of the group
        enum:
        - MANAGER
        - CONTROLLER
        - POLICY
        - HTTPS
        - DATASTORE
        - CLUSTER_BOOT_MANAGER
        - GLOBAL_MANAGER
        - ASYNC_REPLICATOR
        - MONITORING
        - IDPS_REPORTING
        - CORFU_NONCONFIG
        readOnly: true
        title: |-
          Type of the group
        type: string
      leaders:
        description: |-
          Array of group leaders and their attributes
        items:
          $ref: '#/definitions/ClusterGroupServiceLeader'
        readOnly: true
        title: |-
          Array of group leaders and their attributes
        type: array
      members:
        description: |-
          Array of group members and their statuses
        items:
          $ref: '#/definitions/ClusterGroupMemberStatus'
        readOnly: true
        title: |-
          Array of group members and their statuses
        type: array
    title: |-
      Status of a group
    type: object
    x-vmw-nsx-module: Cluster
  ClusterInitializationNodeInfo:
    description: |-
      The type provides the information of a non-running cluster node required for the initialization of a management cluster. The administrator needs to start this node for management cluster to initialize properly (or decommission it explicitly).
    properties:
      disk_store_id:
        description: |-
          The (internal) disk-store ID of the member
        readOnly: true
        title: |-
          The (internal) disk-store ID of the member
        type: string
      host_address:
        description: |-
          The IP address (or domain name) of the cluster node
        readOnly: true
        title: |-
          The IP address (or domain name) of the cluster node
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClusterNode:
    description: |-
      This type contains attributes of a cluster node that are relevant to the Cluster Boot Manager.
    properties:
      entities:
        description: |-
          Entities on the node
        items:
          $ref: '#/definitions/ClusterNodeEntity'
        title: |-
          Entities on the node
        type: array
      node_uuid:
        description: |-
          UUID of the node
        title: |-
          UUID of the node
        type: string
      status:
        default: REMOVED
        description: |-
          Current clustering status of the node
        enum:
        - JOINING
        - JOINED
        - REMOVING
        - REMOVED
        title: |-
          Current clustering status of the node
        type: string
    required:
    - entities
    - node_uuid
    title: |-
      Cluster Node Properties
    type: object
    x-vmw-nsx-module: Cluster
  ClusterNodeConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        appliance_mgmt_listen_addr:
          description: |-
            The IP and port for the appliance management API service on this node
          readOnly: true
          title: |-
            The IP and port for the appliance management API service on this node
          type: string
        controller_role:
          $ref: '#/definitions/ControllerClusterRoleConfig'
        external_id:
          description: |-
            Internal identifier provided by the node
          readOnly: true
          title: |-
            Internal identifier provided by the node
          type: string
        manager_role:
          $ref: '#/definitions/ManagementClusterRoleConfig'
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ClusterNodeConfigListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Cluster node configuration results
          items:
            $ref: '#/definitions/ClusterNodeConfig'
          title: |-
            Cluster node configuration results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ClusterNodeEntity:
    description: |-
      NSX Cluster is made up of multiple cluster nodes. Each node can perform multiple functions, commonly referred to as roles. Cluster node entities are processes running in a cluster node that assist in the performance of a role. Cluster Boot Manager is a daemon that securely bootstraps and configures the entities. This type contains attributes of a cluster node entity that are relevant to the Cluster Boot Manager.
    properties:
      certificate:
        description: |-
          Public certificate of the entity in PEM format
        title: |-
          Public certificate of the entity in PEM format
        type: string
      entity_type:
        description: |-
          Type of the entity
        enum:
        - MANAGER
        - CONTROLLER
        - POLICY
        - HTTPS
        - CLUSTER_BOOT_MANAGER
        - DATASTORE
        - GLOBAL_MANAGER
        - ASYNC_REPLICATOR
        - MONITORING
        - IDPS_REPORTING
        - CORFU_NONCONFIG
        title: |-
          Type of the entity
        type: string
      entity_uuid:
        description: |-
          UUID of the entity
        title: |-
          UUID of the entity
        type: string
      fqdn:
        description: |-
          Domain name the entity binds to
        format: hostname
        title: |-
          Domain name the entity binds to
        type: string
      ip_address:
        description: |-
          IP address the entity binds to
        title: |-
          IP address the entity binds to
        type: string
      port:
        description: |-
          Port the entity binds to
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Port the entity binds to
        type: integer
      subnet_prefix_length:
        description: |-
          Subnet mask prefix length of the entity binds to
        format: int64
        maximum: 32
        minimum: 0
        title: |-
          Subnet mask prefix length of the entity binds to
        type: integer
    required:
    - entity_uuid
    - certificate
    - entity_type
    title: |-
      Cluster Node Entity Properties
    type: object
    x-vmw-nsx-module: Cluster
  ClusterNodeInfo:
    properties:
      certificates:
        description: |-
          Certificate and thumbprint of all entities
        items:
          $ref: '#/definitions/NodeCertificateInfo'
        title: |-
          Certificate and thumbprint of all entities
        type: array
      display_name:
        description: |-
          The display name of this node
        title: |-
          The display name of this node
        type: string
      entities:
        description: |-
          Service endpoint of all entities
        items:
          $ref: '#/definitions/NodeEntityInfo'
        title: |-
          Service endpoint of all entities
        type: array
      fqdn:
        description: |-
          The fqdn of this node
        title: |-
          The fqdn of this node
        type: string
      msg_clients:
        description: |-
          Messaging client of all entities
        items:
          $ref: '#/definitions/NodeMessagingClientInfo'
        title: |-
          Messaging client of all entities
        type: array
      node_uuid:
        description: |-
          Unique identifier of this node
        readOnly: true
        title: |-
          Unique identifier of this node
        type: string
      status:
        description: |-
          Node clustering status
        enum:
        - JOINING
        - JOINED
        - REMOVING
        - REMOVED
        readOnly: true
        title: |-
          Node clustering status
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClusterNodeStatus:
    properties:
      control_cluster_status:
        $ref: '#/definitions/ControlClusterNodeStatus'
        description: |-
          Clustering status for control plane functions on this node
        readOnly: true
        title: |-
          Clustering status for control plane functions on this node
      mgmt_cluster_status:
        $ref: '#/definitions/ManagementClusterNodeStatus'
        description: |-
          Clustering status for management plane functions on this node
        readOnly: true
        title: |-
          Clustering status for management plane functions on this node
      system_status:
        $ref: '#/definitions/NodeStatusProperties'
        description: |-
          Node status properties
        readOnly: true
        title: |-
          Node status properties
      version:
        description: |-
          Software version running on node
        readOnly: true
        title: |-
          Software version running on node
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClusterNodeVMDeploymentConfig:
    description: |-
      Contains info used to configure the VM on deployment
    discriminator: placement_type
    properties:
      placement_type:
        description: |
          Specifies the config for the platform through which to deploy the VM
        enum:
        - VsphereClusterNodeVMDeploymentConfig
        title: |-
          Type of deployment
        type: string
    required:
    - placement_type
    title: |-
      Configuration for deploying cluster node VM
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ClusterNodeVMDeploymentProgressState:
    description: |-
      Deployment progress state of node VM. This Object contains name of current deployment step and overall progress percentage.
    properties:
      current_step_title:
        description: |-
          Name of the current running step of deployment
        readOnly: true
        title: |-
          Name of the current step
        type: string
      progress:
        description: |-
          Overall progress percentage of deployment completed
        format: int64
        readOnly: true
        title: |-
          Progress percentage
        type: integer
    title: |-
      Deployment progress of node VM
    type: object
    x-vmw-nsx-module: NsxIntelligenceDeployment
  ClusterNodeVMDeploymentRequest:
    description: |
      Contains the deployment information for a cluster node VM soon to be
      deployed or already deployed by the Manager
    properties:
      deployment_config:
        $ref: '#/definitions/ClusterNodeVMDeploymentConfig'
        description: |
          Info needed to configure a cluster node VM at deployment for a
          specific platform.
          May require different parameters depending on the method used to deploy
          the VM.
        title: |-
          Deployment config for cluster node VM
      form_factor:
        default: MEDIUM
        description: |
          Specifies the desired "size" of the VM
        enum:
        - SMALL
        - MEDIUM
        - LARGE
        type: string
      roles:
        description: |
          List of cluster node role (or roles) which the VM should take on.
          They specify what type (or types) of cluster node which the new VM
          should act as.
          Currently both CONTROLLER and MANAGER must be provided, since this
          permutation is the only one supported now.
        items:
          description: |
            Enumerates the roles that can be specified in VM auto-deployment.
          enum:
          - CONTROLLER
          - MANAGER
          type: string
        title: |-
          Cluster node roles of the VM
        type: array
      user_settings:
        $ref: '#/definitions/NodeUserSettings'
        description: |
          Username and password settings for the cluster node VM.
          Passwords must be at least 12 characters in length and contain at
          least one lowercase, one uppercase, one numerical, and one special
          character.
          Note: These settings will be honored only during VM deployment.
          Post-deployment, CLI must be used for changing the user settings and
          changes to these parameters will not have any effect.
        title: |-
          User settings for the VM
      vm_id:
        description: |
          ID of the VM maintained internally and used to recognize it.
          Note: This is automatically generated and cannot be modified.
        readOnly: true
        title: |-
          ID of VM used to recognize it
        type: string
    required:
    - deployment_config
    - roles
    title: |-
      Info for an auto-deployment request
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ClusterNodeVMDeploymentRequestList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            Array of existing ClusterNodeVMDeploymentRequests
          items:
            $ref: '#/definitions/ClusterNodeVMDeploymentRequest'
          title: |-
            Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ClusterNodeVMDeployment
    description: |-
      List of ClusterNodeVMDeploymentRequests
    title: |-
      ClusterNodeVMDeploymentRequest list
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ClusterNodeVMDeploymentStatusReport:
    description: |
      Contains up-to-date information relating to an auto-deployed VM, including
      its status and (potentially) an error message.
    properties:
      deployment_progress_state:
        $ref: '#/definitions/VMDeploymentProgressState'
        description: |-
          Detailed progress state of node VM deployment realization
        readOnly: true
        title: |-
          Deployment progress state of node VM
      failure_code:
        description: |
          In case of auto-deployment-related failure, the code for the error will
          be stored here.
        format: int64
        title: |-
          Error code for failure
        type: integer
      failure_message:
        description: |
          In case of auto-deployment-related failure, an error message will be
          stored here.
        title: |-
          Error message for failure
        type: string
      status:
        description: |
          Status of the addition or deletion of an auto-deployed cluster node VM.
        enum:
        - UNKNOWN_STATE
        - VM_DEPLOYMENT_QUEUED
        - VM_DEPLOYMENT_IN_PROGRESS
        - VM_DEPLOYMENT_FAILED
        - VM_POWER_ON_IN_PROGRESS
        - VM_POWER_ON_FAILED
        - WAITING_TO_REGISTER_VM
        - VM_REGISTRATION_FAILED
        - VM_WAITING_TO_CLUSTER
        - VM_WAITING_TO_COME_ONLINE
        - VM_ONLINE_FAILED
        - VM_CLUSTERING_IN_PROGRESS
        - VM_CLUSTERING_FAILED
        - VM_CLUSTERING_SUCCESSFUL
        - WAITING_TO_UNDEPLOY_VM
        - VM_DECLUSTER_IN_PROGRESS
        - VM_DECLUSTER_FAILED
        - VM_DECLUSTER_SUCCESSFUL
        - VM_POWER_OFF_IN_PROGRESS
        - VM_POWER_OFF_FAILED
        - VM_UNDEPLOY_IN_PROGRESS
        - VM_UNDEPLOY_FAILED
        - VM_UNDEPLOY_SUCCESSFUL
        title: |-
          Auto-deployed VM's deployment status
        type: string
    required:
    - status
    title: |-
      Report of a VM's deployment status
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ClusterProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |-
            Supported cluster profiles.
          enum:
          - EdgeHighAvailabilityProfile
          - BridgeHighAvailabilityClusterProfile
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: ClusterProfile
    x-vmw-nsx-module: ClusterProfile
  ClusterProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Cluster Profile Results
          items:
            $ref: '#/definitions/ClusterProfile'
          readOnly: true
          title: |-
            Cluster Profile Results
          type: array
      type: object
      x-vmw-nsx-module: ClusterProfile
    description: |-
      Cluster Profile queries result
    title: |-
      Cluster Profile queries result
    x-vmw-nsx-module: ClusterProfile
  ClusterProfileTypeIdEntry:
    properties:
      profile_id:
        description: |-
          key value
        readOnly: false
        type: string
      resource_type:
        description: |-
          Supported cluster profiles.
        enum:
        - EdgeHighAvailabilityProfile
        - BridgeHighAvailabilityClusterProfile
        type: string
    required:
    - profile_id
    type: object
    x-vmw-nsx-module: ClusterProfile
  ClusterRestoreStatus:
    description: |-
      Cluster restore status
    properties:
      backup_timestamp:
        description: |-
          Timestamp when backup was initiated in epoch millisecond
        format: int64
        readOnly: true
        type: integer
      endpoints:
        description: |
          The list of allowed endpoints, based on the current state of
          the restore process
        items:
          $ref: '#/definitions/ResourceLink'
        readOnly: true
        title: |
          The list of allowed endpoints, based on the current state of
          the restore process
        type: array
      id:
        description: |-
          Unique id for backup request
        readOnly: true
        title: |-
          Unique id for backup request
        type: string
      instructions:
        description: |-
          Instructions for users to reconcile Restore operations
        items:
          $ref: '#/definitions/InstructionInfo'
        readOnly: true
        title: |-
          Instructions for users to reconcile Restore operations
        type: array
      restore_end_time:
        description: |-
          Timestamp when restore was completed in epoch millisecond
        format: int64
        readOnly: true
        type: integer
      restore_start_time:
        description: |-
          Timestamp when restore was started in epoch millisecond
        format: int64
        readOnly: true
        type: integer
      status:
        $ref: '#/definitions/GlobalRestoreStatus'
      step:
        $ref: '#/definitions/RestoreStep'
      total_steps:
        description: |-
          Total number of steps in the entire restore process
        format: int64
        readOnly: true
        title: |-
          Total number of steps in the entire restore process
        type: integer
    title: |-
      Cluster restore status
    type: object
    x-vmw-nsx-module: ClusterRestore
  ClusterRoleConfig:
    properties:
      type:
        description: |-
          Type of this role configuration
        enum:
        - ManagementClusterRoleConfig
        - ControllerClusterRoleConfig
        readOnly: true
        title: |-
          Type of this role configuration
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClusterStatus:
    properties:
      cluster_id:
        description: |-
          Unique identifier of this cluster
        readOnly: true
        title: |-
          Unique identifier of this cluster
        type: string
      control_cluster_status:
        $ref: '#/definitions/ControllerClusterStatus'
        description: |-
          The current status of the control cluster
        readOnly: true
        title: |-
          The current status of the control cluster
      detailed_cluster_status:
        $ref: '#/definitions/AllClusterGroupStatus'
        description: |-
          Status of all the cluster groups
        readOnly: true
        title: |-
          Status of all the cluster groups
      mgmt_cluster_status:
        $ref: '#/definitions/ManagementClusterStatus'
        description: |-
          The current status of the management cluster
        readOnly: true
        title: |-
          The current status of the management cluster
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClusterVirtualIpProperties:
    description: |-
      Cluster virtual IP properties
    properties:
      ip_address:
        description: |-
          Virtual IP address, 0.0.0.0 if not configured
        title: |-
          Virtual IP address, 0.0.0.0 if not configured
        type: string
    required:
    - ip_address
    title: |-
      Cluster virtual IP properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ClusteringConfig:
    description: |
      Configuration for automatically joining a cluster node to the
      cluster after it is deployed. ClusteringConfig is required
      if any of the deployment nodes has CONTROLLER role.
    discriminator: clustering_type
    properties:
      clustering_type:
        description: |
          Specifies the type of clustering config to be used.
        enum:
        - ControlClusteringConfig
        title: |-
          Type for the clustering config
        type: string
    required:
    - clustering_type
    title: |-
      Configuration for VM's clustering
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ClusteringInfo:
    description: |-
      Clustering parameters for the controller cluster
    properties:
      join_to_existing_cluster:
        description: |-
          Property to indicate if the node must join an existing cluster.
        title: |-
          True If the controller node should join an existing cluster
        type: boolean
      shared_secret:
        description: |-
          Shared secret of the cluster.
        title: |-
          Shared Secret of the cluster
        type: string
    required:
    - join_to_existing_cluster
    type: object
    x-vmw-nsx-module: ClusterManagement
  ClustersAggregateInfo:
    properties:
      cluster_status:
        $ref: '#/definitions/AllClusterGroupStatus'
        description: |-
          Status of all the cluster groups
        title: |-
          Status of all the cluster groups
      controller_cluster:
        description: |-
          Array of Controller Nodes
        items:
          $ref: '#/definitions/ControllerNodeAggregateInfo'
        title: |-
          Array of Controller Nodes
        type: array
      management_cluster:
        description: |-
          Array of Management Nodes
        items:
          $ref: '#/definitions/ManagementNodeAggregateInfo'
        title: |-
          Array of Management Nodes
        type: array
    required:
    - management_cluster
    - controller_cluster
    type: object
    x-vmw-nsx-module: ClusterManagement
  ColumnItem:
    description: |-
      Represents a column of the Grid
    properties:
      column_identifier:
        description: |-
          Identifies the column and used for fetching content upon an user click or drilldown. If column identifier is not provided, the column's data will not participate in searches and drilldowns.
        title: |-
          Identifier for this column
        type: string
      drilldown_id:
        description: |-
          Id of drilldown widget, if any. Id should be a valid id of an existing widget.
        maxLength: 255
        title: |-
          Id of drilldown widget
        type: string
      field:
        description: |-
          Field from which values of the column will be derived.
        maxLength: 1024
        title: |-
          Column Field
        type: string
      hidden:
        default: false
        description: |-
          If set to true, hides the column
        title: |-
          Hide the column
        type: boolean
      label:
        $ref: '#/definitions/Label'
        description: |-
          Label of the column.
        readOnly: false
        title: |-
          Column Label
      navigation:
        description: |-
          Hyperlink of the specified UI page that provides details. If drilldown_id is provided, then navigation cannot be used.
        maxLength: 1024
        title: |-
          Navigation to a specified UI page
        type: string
      render_configuration:
        description: |-
          Render configuration to be applied, if any.
        items:
          $ref: '#/definitions/RenderConfiguration'
        title: |-
          Render Configuration
        type: array
      sort_ascending:
        default: true
        description: |-
          If true, the value of the column are sorted in ascending order. Otherwise, in descending order.
        title: |-
          Represents order of sorting the values
        type: boolean
      sort_key:
        description: |-
          Sorting on column is based on the sort_key. sort_key represents the field in the output data on which sort is requested.
        maxLength: 255
        title: |-
          Key for sorting on this column
        type: string
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over a cell in the grid.
        items:
          $ref: '#/definitions/Tooltip'
        title: |-
          Multi-line tooltip
        type: array
      type:
        default: String
        description: |-
          Data type of the field.
        enum:
        - String
        - Number
        - Date
        maxLength: 255
        title: |-
          Field data type
        type: string
    required:
    - field
    - type
    - label
    title: |-
      Grid Column
    type: object
    x-vmw-nsx-module: NsxDashboard
  CommunityMatchExpression:
    description: |-
      Community match expression
    properties:
      expression:
        description: |-
          Array of community match operations
        items:
          $ref: '#/definitions/CommunityMatchOperation'
        title: |-
          Array of community match operations
        type: array
      operator:
        description: |
          Operator for evaluating community match expressions.
          AND logical AND operator
        enum:
        - AND
        readOnly: true
        title: |-
          Operator
        type: string
    required:
    - expression
    title: |-
      Community match expression
    type: object
    x-vmw-nsx-module: Routing
  CommunityMatchOperation:
    description: |-
      Community match operation
    properties:
      community_list_id:
        description: |
          ID of BGP community list. This value is not required when
          match_operator is MATCH_REGEX otherwise required.
        title: |-
          Community list id
        type: string
      match_operator:
        default: MATCH_ANY
        description: |
          Match operator for communities from provided community list id.
          MATCH_ANY will match any community
          MATCH_ALL will match all communities
          MATCH_EXACT will do exact match on community
          MATCH_NONE [operator not supported] will not match any community
          MATCH_REGEX will match normal communities by evaluating regular
          expression
          MATCH_LARGE_COMMUNITY_REGEX will match large communities by evaluating
          regular expression
        enum:
        - MATCH_ANY
        - MATCH_ALL
        - MATCH_EXACT
        - MATCH_NONE
        - MATCH_REGEX
        - MATCH_LARGE_COMMUNITY_REGEX
        title: |-
          Match operator
        type: string
      regular_expression:
        description: |
          Regular expression to match BGP communities. If match_operator
          is MATCH_REGEX then this value must be specified.
        title: |-
          Regular expression
        type: string
    title: |-
      Community match operation
    type: object
    x-vmw-nsx-module: Routing
  ComponentMigrationStatus:
    properties:
      can_skip:
        description: |-
          Can the migration of the remaining units in this component be skipped
        readOnly: true
        title: |-
          Can the migration of the remaining units in this component be skipped
        type: boolean
      component_type:
        description: |-
          Component type for the migration status
        readOnly: true
        title: |-
          Component type for the migration status
        type: string
      details:
        description: |-
          Details about the migration status
        readOnly: true
        title: |-
          Details about the migration status
        type: string
      percent_complete:
        description: |-
          Indicator of migration progress in percentage
        readOnly: true
        title: |-
          Indicator of migration progress in percentage
        type: number
      status:
        description: |-
          Migration status of component
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSED
        readOnly: true
        title: |-
          Migration status of component
        type: string
    type: object
    x-vmw-nsx-module: Migration
  ComponentTargetVersion:
    properties:
      component_type:
        readOnly: true
        type: string
      target_version:
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: Migration
  ComponentUpgradeChecksInfo:
    description: |-
      Meta-data of pre/post-upgrade checks for a component
    properties:
      component_type:
        description: |-
          Component type of the pre/post-upgrade checks
        readOnly: false
        title: |-
          Component type
        type: string
      post_upgrade_checks_info:
        description: |-
          Collection of post-upgrade checks
        items:
          $ref: '#/definitions/UpgradeCheckInfo'
        title: |-
          Collection of post-upgrade checks
        type: array
      pre_upgrade_checks_info:
        description: |-
          Collection of pre-upgrade checks
        items:
          $ref: '#/definitions/UpgradeCheckInfo'
        title: |-
          Collection of pre-upgrade checks
        type: array
    required:
    - component_type
    title: |-
      Meta-data of pre/post-upgrade checks for a component
    type: object
    x-vmw-nsx-module: Upgrade
  ComponentUpgradeChecksInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Collection of info of pre/post-upgrade checks for components
          items:
            $ref: '#/definitions/ComponentUpgradeChecksInfo'
          title: |-
            Collection of info of pre/post-upgrade checks for components
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  ComponentUpgradeStatus:
    properties:
      can_skip:
        description: |-
          Can the upgrade of the remaining units in this component be skipped
        readOnly: true
        title: |-
          Can the upgrade of the remaining units in this component be skipped
        type: boolean
      component_type:
        description: |-
          Component type for the upgrade status
        readOnly: true
        title: |-
          Component type for the upgrade status
        type: string
      current_version_node_summary:
        $ref: '#/definitions/NodeSummaryList'
        description: |-
          Mapping of current versions of nodes and counts of nodes at the respective versions.
        readOnly: true
        title: |-
          Mapping of current versions of nodes and counts of nodes at the respective versions.
      details:
        description: |-
          Details about the upgrade status
        readOnly: true
        title: |-
          Details about the upgrade status
        type: string
      node_count_at_target_version:
        description: |-
          Number of nodes of the type and at the component version
        format: int32
        readOnly: true
        title: |-
          Count of nodes at target component version
        type: integer
      percent_complete:
        description: |-
          Indicator of upgrade progress in percentage
        readOnly: true
        title: |-
          Indicator of upgrade progress in percentage
        type: number
      pre_upgrade_status:
        $ref: '#/definitions/UpgradeChecksExecutionStatus'
        description: |-
          Pre-upgrade status of the component-type
        readOnly: true
        title: |-
          Pre-upgrade status of the component-type
      status:
        description: |-
          Upgrade status of component
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSING
        - PAUSED
        readOnly: true
        title: |-
          Upgrade status of component
        type: string
      target_component_version:
        description: |-
          Target component version
        readOnly: true
        title: |-
          Target component version
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  ComputeCollection:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        cm_local_id:
          description: |-
            Local Id of the compute collection in the Compute Manager
          readOnly: true
          title: |-
            Local Id of the compute collection in the Compute Manager
          type: string
        external_id:
          description: |
            External ID of the ComputeCollection in the source Compute manager,
            e.g. mo-ref in VC
          readOnly: true
          title: |
            External ID of the ComputeCollection in the source Compute manager,
            e.g. mo-ref in VC
          type: string
        origin_id:
          description: |-
            Id of the compute manager from where this Compute Collection was discovered
          readOnly: true
          title: |-
            Id of the compute manager from where this Compute Collection was discovered
          type: string
        origin_properties:
          description: |
            Key-Value map of additional specific properties of
            compute collection in the Compute Manager
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |
            Key-Value map of additional specific properties of
            compute collection in the Compute Manager
          type: array
        origin_type:
          description: |
            ComputeCollection type like VC_Cluster. Here the Compute Manager
            type prefix would help in differentiating similar named Compute
            Collection types from different Compute Managers
          readOnly: true
          title: |
            ComputeCollection type like VC_Cluster. Here the Compute Manager
            type prefix would help in differentiating similar named Compute
            Collection types from different Compute Managers
          type: string
        owner_id:
          description: |-
            Id of the owner of compute collection in the Compute Manager
          readOnly: true
          title: |-
            Id of the owner of compute collection in the Compute Manager
          type: string
      type: object
      x-vmw-nsx-module: InventoryCmObj
    x-vmw-nsx-module: InventoryCmObj
  ComputeCollectionFabricTemplate:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        auto_install_nsx:
          description: |-
            Indicates whether NSX components should be automcatically installed. When 'true' NSX components will be automatically installed on the new host added to compute collection.
          title: |-
            Flag to enable/disable automatic install of NSX components
          type: boolean
        compute_collection_id:
          description: |-
            Associated compute collection id
          title: |-
            Associated compute collection id
          type: string
      required:
      - compute_collection_id
      - auto_install_nsx
      type: object
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
    description: |-
      Compute collection fabric template
    title: |-
      Compute collection fabric template
    x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
  ComputeCollectionFabricTemplateListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of compute collection fabric template
          items:
            $ref: '#/definitions/ComputeCollectionFabricTemplate'
          readOnly: true
          title: |-
            List of compute collection fabric template
          type: array
      type: object
      x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
    description: |-
      List of compute collection fabric template
    title: |-
      List of compute collection fabric template
    x-vmw-nsx-module: ComputeCollectionHostPrepFabricService
  ComputeCollectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Compute Collection list results
          items:
            $ref: '#/definitions/ComputeCollection'
          title: |-
            Compute Collection list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Compute Collection list result
    title: |-
      Compute Collection list result
    x-vmw-nsx-module: InventoryCmObj
  ComputeCollectionNetworkInterfacesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of discovered node with network interfaces
          items:
            $ref: '#/definitions/DiscoveredNodeNetworkInterfaces'
          title: |-
            Discovered node network interfaces
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      List of network interfaces for all discovered nodes in compute collection
    title: |-
      ComputeCollection Interfaces List Result
    x-vmw-nsx-module: InventoryCmObj
  ComputeManager:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        access_level_for_oidc:
          default: FULL
          description: |
            Specifies the maximum access level allowed for calls from compute manager
            to NSX using the OIDC provider.
          enum:
          - FULL
          - LIMITED
          readOnly: false
          title: |-
            Specifies access level to NSX from the compute manager
          type: string
        create_service_account:
          default: false
          description: |
            Enable this flag to create service account user on compute manager. This is
            required by features such as vSphere Lifecycle Manager for authentication with
            vAPIs from nsx.
          readOnly: false
          title: |-
            Specifies whether service account is created or not on compute manager
          type: boolean
        credential:
          $ref: '#/definitions/LoginCredential'
          description: |-
            Login credentials for the compute manager
          readOnly: false
          title: |-
            Login credentials for the compute manager
        origin_properties:
          description: |-
            Key-Value map of additional specific properties of compute manager
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |-
            Key-Value map of additional specific properties of compute manager
          type: array
        origin_type:
          description: |-
            Compute manager type like vCenter
          readOnly: false
          title: |-
            Compute manager type like vCenter
          type: string
        reverse_proxy_https_port:
          default: 443
          description: |
            Specifies https port of the reverse proxy to connect to compute manager.
            For e.g. In case of VC, this port can be retrieved from this config
            file /etc/vmware-rhttpproxy/config.xml.
          format: int64
          maximum: 65535
          minimum: 1
          readOnly: false
          title: |-
            Proxy https port of compute manager
          type: integer
        server:
          description: |-
            IP address or hostname of compute manager
          format: hostname-or-ip
          readOnly: false
          title: |-
            IP address or hostname of compute manager
          type: string
        set_as_oidc_provider:
          default: false
          description: |
            If the compute manager is VC and need to set set as OIDC provider for NSX then
            this flag should be set as true. This is specific to wcp feature, should be
            enabled when this feature is being used.
          readOnly: false
          title: |-
            Specifies whether compute manager has been set as OIDC provider
          type: boolean
      required:
      - origin_type
      - server
      type: object
      x-vmw-nsx-module: InventoryCmObj
    x-vmw-nsx-module: InventoryCmObj
  ComputeManagerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of compute managers
          items:
            $ref: '#/definitions/ComputeManager'
          title: |-
            List of compute managers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      List of compute managers
    title: |-
      List of compute managers
    x-vmw-nsx-module: InventoryCmObj
  ComputeManagerStatus:
    description: |-
      Runtime status information of the compute manager
    properties:
      connection_errors:
        description: |-
          Errors when connecting with compute manager
        items:
          $ref: '#/definitions/ErrorInfo'
        readOnly: true
        title: |-
          Errors when connecting with compute manager
        type: array
      connection_status:
        description: |-
          Status of connection with the compute manager
        enum:
        - UP
        - DOWN
        - CONNECTING
        readOnly: true
        title: |-
          Status of connection with the compute manager
        type: string
      connection_status_details:
        description: |-
          Details about connection status
        readOnly: true
        title: |-
          Details about connection status
        type: string
      last_sync_time:
        description: |-
          Timestamp of the last successful update of Inventory, in epoch milliseconds.
        format: int64
        readOnly: true
        type: integer
      oidc_end_point_id:
        description: |
          If Compute manager is trusted as authorization server, then
          this Id will be Id of corresponding oidc end point.
        readOnly: true
        title: |-
          Specifies Id of corresponding OidcEndPoint
        type: string
      registration_errors:
        description: |-
          Errors when registering with compute manager
        items:
          $ref: '#/definitions/ErrorInfo'
        readOnly: true
        title: |-
          Errors when registering with compute manager
        type: array
      registration_status:
        description: |-
          Registration status of compute manager
        enum:
        - REGISTERED
        - UNREGISTERED
        - REGISTERING
        - REGISTERED_WITH_ERRORS
        readOnly: true
        title: |-
          Registration status of compute manager
        type: string
      version:
        description: |-
          Version of the compute manager
        readOnly: true
        title: |-
          Version of the compute manager
        type: string
    title: |-
      Runtime status information of the compute manager
    type: object
    x-vmw-nsx-module: InventoryCmObj
  ComputeManagerTopology:
    description: |-
      Details where NVDS will be migrated to
    properties:
      compute_manager_id:
        description: |-
          Identifier of vcenter where VDS will be created
        title: |-
          Identifier of vcenter where VDS will be created
        type: string
      dvswitch:
        description: |-
          Datacenter, VDS mapping
        items:
          $ref: '#/definitions/VdsTopology'
        title: |-
          Datacenter, VDS mapping
        type: array
    required:
    - dvswitch
    - compute_manager_id
    title: |-
      Details where NVDS will be migrated to
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  ConditionalForwarderZone:
    allOf:
    - $ref: '#/definitions/ForwarderZone'
    - properties:
        domain_names:
          description: |
            A forwarder domain name should be a valid FQDN. If reverse lookup is
            needed for this zone, reverse lookup domain name like X.in-addr.arpa
            can be defined. Here the X represents a subnet.
          items:
            type: string
          maxItems: 100
          minItems: 1
          title: |-
            Domain names of a forwarder zone
          type: array
      required:
      - domain_names
      type: object
      x-vmw-nsx-module: DnsForwarder
    x-vmw-nsx-module: DnsForwarder
  ConfigurationState:
    description: |-
      Describes status of configuration of an entity
    properties:
      details:
        description: |-
          Array of configuration state of various sub systems
        items:
          $ref: '#/definitions/ConfigurationStateElement'
        readOnly: true
        title: |-
          Array of configuration state of various sub systems
        type: array
      failure_code:
        description: |-
          Error code
        format: int64
        readOnly: true
        title: |-
          Error code
        type: integer
      failure_message:
        description: |-
          Error message in case of failure
        readOnly: true
        title: |-
          Error message in case of failure
        type: string
      state:
        description: |
          Gives details of state of desired configuration.
          Additional enums with more details on progress/success/error states
          are sent for edge node. The success states are NODE_READY and
          TRANSPORT_NODE_READY, pending states are {VM_DEPLOYMENT_QUEUED,
          VM_DEPLOYMENT_IN_PROGRESS, REGISTRATION_PENDING} and other values
          indicate failures.
          "in_sync" state indicates that the desired configuration has been
          received by the host to which it applies, but is not yet in effect.
          When the configuration is actually in effect, the state will
          change to "success".
          Please note, failed state is deprecated.
        enum:
        - pending
        - in_progress
        - success
        - failed
        - partial_success
        - orphaned
        - unknown
        - error
        - in_sync
        - NOT_AVAILABLE
        - VM_DEPLOYMENT_QUEUED
        - VM_DEPLOYMENT_IN_PROGRESS
        - VM_DEPLOYMENT_FAILED
        - VM_POWER_ON_IN_PROGRESS
        - VM_POWER_ON_FAILED
        - REGISTRATION_PENDING
        - NODE_NOT_READY
        - NODE_READY
        - VM_POWER_OFF_IN_PROGRESS
        - VM_POWER_OFF_FAILED
        - VM_UNDEPLOY_IN_PROGRESS
        - VM_UNDEPLOY_FAILED
        - VM_UNDEPLOY_SUCCESSFUL
        - EDGE_CONFIG_ERROR
        - VM_DEPLOYMENT_RESTARTED
        - REGISTRATION_FAILED
        - TRANSPORT_NODE_SYNC_PENDING
        - TRANSPORT_NODE_CONFIGURATION_MISSING
        - EDGE_HARDWARE_NOT_SUPPORTED
        - MULTIPLE_OVERLAY_TZS_NOT_SUPPORTED
        - TN_OVERLAY_TZ_IN_USE_BY_EDGE_CLUSTER
        - TZ_ENDPOINTS_NOT_SPECIFIED
        - NO_PNIC_PREPARED_IN_EDGE
        - APPLIANCE_INTERNAL_ERROR
        - VTEP_DHCP_NOT_SUPPORTED
        - UNSUPPORTED_HOST_SWITCH_PROFILE
        - UPLINK_HOST_SWITCH_PROFILE_NOT_SPECIFIED
        - HOSTSWITCH_PROFILE_NOT_FOUND
        - LLDP_SEND_ENABLED_NOT_SUPPORTED
        - UNSUPPORTED_NAMED_TEAMING_POLICY
        - LBSRCID_NOT_SUPPORTED_FOR_EDGE_VM
        - LACP_NOT_SUPPORTED_FOR_EDGE_VM
        - STANDBY_UPLINKS_NOT_SUPPORTED_FOR_EDGE_VM
        - MULTIPLE_ACTIVE_UPLINKS_NOT_SUPPORTED_FOR_EDGE
        - UNSUPPORTED_LACP_LB_ALGO_FOR_NODE
        - EDGE_NODE_VERSION_NOT_SUPPORTED
        - NO_PNIC_SPECIFIED_IN_TN
        - INVALID_PNIC_DEVICE_NAME
        - TRANSPORT_NODE_READY
        - VM_NETWORK_EDIT_PENDING
        - UNSUPPORTED_DEFAULT_TEAMING_POLICY
        - MPA_DISCONNECTED
        - VM_RENAME_PENDING
        - VM_CONFIG_EDIT_PENDING
        - VM_NETWORK_EDIT_FAILED
        - VM_RENAME_FAILED
        - VM_CONFIG_EDIT_FAILED
        - VM_CONFIG_DISCREPANCY
        - VM_NODE_REFRESH_FAILED
        - VM_PLACEMENT_REFRESH_FAILED
        - REGISTRATION_TIMEDOUT
        - REPLACE_FAILED
        - UPLINK_FROM_TEAMING_POLICY_NOT_MAPPED
        - LOGICAL_SWITCH_NAMED_TEAMING_HAS_NO_PNIC_BACKING
        - DELETE_VM_IN_REDEPLOY_FAILED
        - DEPLOY_VM_IN_REDEPLOY_FAILED
        - INSUFFICIENT_RESOURCES_IN_EDGE_NODE_FOR_SERVICE
        readOnly: true
        title: |-
          Overall state of desired configuration
        type: string
    title: |-
      Describes status of configuration of an entity
    type: object
    x-vmw-nsx-module: Common
  ConfigurationStateElement:
    description: |-
      Describes status of configuration of an entity
    properties:
      failure_code:
        description: |-
          Error code
        format: int64
        readOnly: true
        title: |-
          Error code
        type: integer
      failure_message:
        description: |-
          Error message in case of failure
        readOnly: true
        title: |-
          Error message in case of failure
        type: string
      state:
        description: |-
          State of configuration on this sub system
        enum:
        - in_progress
        - success
        - failed
        - partial_success
        - in_sync
        - VM_DEPLOYMENT_FAILED
        - VM_POWER_ON_FAILED
        - VM_POWER_OFF_FAILED
        - VM_UNDEPLOY_FAILED
        - REPLACE_FAILED
        - UPLINK_FROM_TEAMING_POLICY_NOT_MAPPED
        - LOGICAL_SWITCH_NAMED_TEAMING_HAS_NO_PNIC_BACKING
        - DELETE_VM_IN_REDEPLOY_FAILED
        - DEPLOY_VM_IN_REDEPLOY_FAILED
        - INSUFFICIENT_RESOURCES_IN_EDGE_NODE_FOR_SERVICE
        - EDGE_CONFIG_ERROR
        - REGISTRATION_FAILED
        - TRANSPORT_NODE_CONFIGURATION_MISSING
        - EDGE_HARDWARE_NOT_SUPPORTED
        - MULTIPLE_OVERLAY_TZS_NOT_SUPPORTED
        - TN_OVERLAY_TZ_IN_USE_BY_EDGE_CLUSTER
        - TZ_ENDPOINTS_NOT_SPECIFIED
        - NO_PNIC_PREPARED_IN_EDGE
        - APPLIANCE_INTERNAL_ERROR
        - VTEP_DHCP_NOT_SUPPORTED
        - UNSUPPORTED_HOST_SWITCH_PROFILE
        - UPLINK_HOST_SWITCH_PROFILE_NOT_SPECIFIED
        - HOSTSWITCH_PROFILE_NOT_FOUND
        - LLDP_SEND_ENABLED_NOT_SUPPORTED
        - UNSUPPORTED_NAMED_TEAMING_POLICY
        - LBSRCID_NOT_SUPPORTED_FOR_EDGE_VM
        - LACP_NOT_SUPPORTED_FOR_EDGE_VM
        - STANDBY_UPLINKS_NOT_SUPPORTED_FOR_EDGE_VM
        - MULTIPLE_ACTIVE_UPLINKS_NOT_SUPPORTED_FOR_EDGE
        - UNSUPPORTED_LACP_LB_ALGO_FOR_NODE
        - EDGE_NODE_VERSION_NOT_SUPPORTED
        - NO_PNIC_SPECIFIED_IN_TN
        - INVALID_PNIC_DEVICE_NAME
        - UNSUPPORTED_DEFAULT_TEAMING_POLICY
        - MPA_DISCONNECTED
        - VM_NETWORK_EDIT_PENDING
        - VM_RENAME_PENDING
        - VM_CONFIG_EDIT_PENDING
        - VM_NETWORK_EDIT_FAILED
        - VM_RENAME_FAILED
        - VM_CONFIG_EDIT_FAILED
        - VM_CONFIG_DISCREPANCY
        - VM_NODE_REFRESH_FAILED
        - VM_PLACEMENT_REFRESH_FAILED
        - NOT_AVAILABLE
        - REGISTRATION_TIMEDOUT
        - pending
        - orphaned
        - unknown
        - error
        readOnly: true
        title: |-
          State of configuration on this sub system
        type: string
      sub_system_address:
        description: |-
          URI of backing resource on sub system
        readOnly: true
        title: |-
          URI of backing resource on sub system
        type: string
      sub_system_id:
        description: |-
          Identifier of backing resource on sub system
        readOnly: true
        title: |-
          Identifier of backing resource on sub system
        type: string
      sub_system_name:
        description: |-
          Name of backing resource on sub system
        readOnly: true
        title: |-
          Name of backing resource on sub system
        type: string
      sub_system_type:
        description: |-
          Type of backing resource on sub system
        readOnly: true
        title: |-
          Type of backing resource on sub system
        type: string
    title: |-
      Describes status of configuration of an entity
    type: object
    x-vmw-nsx-module: Common
  ConsolidatedEffectiveIPAddressMemberListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of site wise consolidated effective ip addresses for the given NSGroup
          items:
            $ref: '#/definitions/EffectiveIPInfo'
          title: |-
            Paged Collection of site wise consolidated effective ip addresses for the given NSGroup
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: GroupingObjectsProviders
    x-vmw-nsx-module: GroupingObjectsProviders
  ContainerApplication:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        container_cluster_id:
          description: |-
            Identifier of the container cluster this container application belongs to.
          readOnly: true
          title: |-
            Identifier of the container cluster
          type: string
        container_project_id:
          description: |-
            Identifier of the project which this container application belongs to.
          readOnly: false
          title: |-
            Identifier of the project
          type: string
        external_id:
          description: |
            Identifier of the container application on container cluster
            e.g. PCF app id, k8s service id.
          readOnly: false
          title: |-
            External identifier of the container application
          type: string
        network_errors:
          description: |-
            List of network errors related to container application.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container application.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container application
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container application
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
        status:
          description: |-
            Status of the container application.
          enum:
          - UNKNOWN
          - HEALTHY
          - UP
          - DOWN
          - DEGRADED
          readOnly: false
          title: |-
            Status of the container application
          type: string
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Container application within a project.
    title: |-
      Container application within a project
    x-vmw-nsx-module: InventoryContainerObj
  ContainerApplicationInstance:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        cluster_node_id:
          description: |-
            Cluster node id where application instance is running.
          readOnly: false
          title: |-
            Cluster node id
          type: string
        container_application_ids:
          description: |-
            List of identifiers of the container application.
          items:
            type: string
          readOnly: false
          title: |-
            Identifiers of the container application
          type: array
        container_cluster_id:
          description: |-
            Identifier of the container cluster this application instance belongs to.
          readOnly: true
          title: |-
            Identifier of the container cluster
          type: string
        container_project_id:
          description: |
            Identifier of the container project which this container application instance
            belongs to.
          readOnly: false
          title: |-
            Identifier of the project
          type: string
        external_id:
          description: |-
            Identifier of the container application instance on container cluster.
          readOnly: false
          title: |-
            External identifier of the container application instance
          type: string
        network_errors:
          description: |-
            List of network errors related to container application instance.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container application instance.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container application instance
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container application instance
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
        status:
          description: |-
            Status of the container application instance.
          enum:
          - UNKNOWN
          - HEALTHY
          - UP
          - DOWN
          - DEGRADED
          readOnly: false
          title: |-
            Status of the container application instance
          type: string
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Container application instance within a project.
    title: |-
      Container Application Instance
    x-vmw-nsx-module: InventoryContainerObj
  ContainerApplicationInstanceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Container Applications
          items:
            $ref: '#/definitions/ContainerApplicationInstance'
          title: |-
            List of Container Applications
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerApplicationListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Container Applications
          items:
            $ref: '#/definitions/ContainerApplication'
          title: |-
            List of Container Applications
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerCluster:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        cluster_type:
          description: |
            Type of the container cluster. In case of creating container cluster
            first time, it is expected to pass the valid cluster-type.
            In case of update, if there is no change in cluster-type, then this
            field can be omitted in the request.
          enum:
          - PAS
          - PKS
          - Kubernetes
          - Openshift
          - WCP
          - WCP_Guest
          - Other
          readOnly: false
          title: |-
            Type of the container cluster
          type: string
        external_id:
          description: |-
            External identifier of the container cluster.
          readOnly: false
          title: |-
            External identifier of the container cluster
          type: string
        infrastructure:
          $ref: '#/definitions/ContainerInfrastructureInfo'
          description: |
            Details of underlying infrastructure that hosts the container cluster.
            In case of creating container cluster first time, it is expected to
            pass the valid infrastructure.
            In case of update, if there is no change in cluster-type, then this
            field can be omitted in the request.
          readOnly: false
          title: |-
            Details of infrastructure for the container cluster
        network_errors:
          description: |-
            List of network errors related to container cluster.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container cluster.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container cluster
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container cluster
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Details of container cluster.
    title: |-
      Container cluster
    x-vmw-nsx-module: InventoryContainerObj
  ContainerClusterListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Container Clusters
          items:
            $ref: '#/definitions/ContainerCluster'
          title: |-
            List of Container Clusters
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerClusterNode:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        container_cluster_id:
          description: |-
            External identifier of the container cluster.
          readOnly: false
          title: |-
            External identifier of the container cluster
          type: string
        external_id:
          description: |
            External identifier of the container cluster node in K8S/PAS.
          readOnly: false
          title: |-
            External identifier of the container cluster node
          type: string
        ip_addresses:
          description: |-
            List of IP addresses of container cluster node.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          readOnly: false
          title: |-
            IP Addresses of Node
          type: array
        network_errors:
          description: |-
            List of network errors related to container cluster node.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container cluster node.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container cluster node
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container cluster node
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Details of container cluster node i.e. container host.
    title: |-
      Container cluster node
    x-vmw-nsx-module: InventoryContainerObj
  ContainerClusterNodeListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of container cluster nodes
          items:
            $ref: '#/definitions/ContainerClusterNode'
          title: |-
            List of container cluster nodes
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerClusterStatus:
    properties:
      cluster_id:
        description: |-
          Identifier of the container cluster.
        title: |-
          Identifier of the container cluster
        type: string
      detail:
        description: |-
          Detail information on status.
        title: |-
          Detail information on status
        type: string
      interval:
        description: |-
          Display the cluster check interval in seconds.
        format: int32
        maximum: 600
        minimum: 60
        readOnly: true
        title: |-
          Container cluster status check interval
        type: integer
      status:
        description: |-
          Display the container cluster status.
        enum:
        - UNKNOWN
        - HEALTHY
        - DOWN
        - DEGRADED
        type: string
    type: object
    x-vmw-nsx-module: TnContainerStatus
  ContainerClusterStatusList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Container cluster list.
          items:
            $ref: '#/definitions/ContainerClusterSummary'
          readOnly: true
          title: |-
            Container cluster list
          type: array
      type: object
      x-vmw-nsx-module: TnContainerStatus
    description: |-
      List of the Container cluster
    title: |-
      List of the Container cluster
    x-vmw-nsx-module: TnContainerStatus
  ContainerClusterSummary:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        cluster_id:
          description: |-
            Identifier of the container cluster.
          readOnly: true
          title: |-
            Identifier of the container cluster
          type: string
        cluster_name:
          description: |-
            Display the container cluster name
          title: |-
            Container cluster name
          type: string
        detail:
          description: |-
            Detail information on status.
          readOnly: true
          title: |-
            Detail information on status
          type: string
        status:
          description: |-
            Display the container cluster status.
          enum:
          - UNKNOWN
          - HEALTHY
          - DOWN
          - DEGRADED
          type: string
        type:
          description: |-
            Container cluster type.
          enum:
          - PAS
          - PKS
          - Kubernetes
          - Openshift
          - WCP
          - Other
          type: string
      required:
      - cluster_name
      - status
      type: object
      x-vmw-nsx-module: TnContainerStatus
    x-vmw-nsx-module: TnContainerStatus
  ContainerConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        header:
          $ref: '#/definitions/Header'
        labels:
          description: |-
            Labels for the container.
          items:
            $ref: '#/definitions/Label'
          minItems: 0
          title: |-
            Labels
          type: array
        layout:
          $ref: '#/definitions/Layout'
          description: |-
            Layout of widgets can be either vertical or horizontal. If layout is not specified a default horizontal layout is applied.
          title: |-
            Layout of widgets inside container
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          maxLength: 1024
          title: |-
            Navigation to a specified UI page
          type: string
        widgets:
          description: |-
            If not specified, creates an empty container.
          items:
            $ref: '#/definitions/WidgetItem'
          minItems: 0
          title: |-
            Widgets held by the container
          type: array
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents a container to group widgets that belong to a common category or have a common purpose.
    title: |-
      Container that holds widgets
    x-vmw-nsx-module: NsxDashboard
  ContainerInfrastructureInfo:
    description: |
      Details of infrastructure hosting the container cluster
      e.g. vSphere, AWS, VMC etc..
    properties:
      infra_type:
        description: |-
          Type of the infrastructure.
        enum:
        - vSphere
        - AWS
        - Azure
        - VMC
        - KVM
        - Baremetal
        readOnly: false
        title: |-
          Type of the infrastructure
        type: string
    required:
    - infra_type
    title: |-
      Details of container infrastructure
    type: object
    x-vmw-nsx-module: InventoryContainerObj
  ContainerIngressPolicy:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        container_application_ids:
          description: |
            List of identifiers of the container application , on which ingress policy
            is applied. e.g. IDs of all services on which the ingress is applied in
            kubernetes.
          items:
            type: string
          readOnly: false
          title: |-
            Identifiers of the container application
          type: array
        container_cluster_id:
          description: |-
            Identifier of the container cluster this ingress policy belongs to.
          readOnly: false
          title: |-
            Identifier of the container cluster
          type: string
        container_project_id:
          description: |-
            Identifier of the project which this container ingress belongs to.
          readOnly: false
          title: |-
            Identifier of the project
          type: string
        external_id:
          description: |-
            Identifier of the container ingress policy.
          readOnly: false
          title: |-
            External identifier of the container ingress policy
          type: string
        network_errors:
          description: |-
            List of network errors related to container ingress.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container ingress.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container ingress
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container ingress
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
        spec:
          description: |-
            Container ingress policy specification.
          readOnly: false
          title: |-
            Container ingress policy specification
          type: string
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Details of Container Ingress Policy.
    title: |-
      Container Ingress Policy
    x-vmw-nsx-module: InventoryContainerObj
  ContainerIngressPolicyListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Container Ingress Policy specs
          items:
            $ref: '#/definitions/ContainerIngressPolicy'
          title: |-
            List of Container Ingress Policy specs
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerNetworkPolicy:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        container_cluster_id:
          description: |-
            Identifier of the container cluster this network policy belongs to.
          readOnly: false
          title: |-
            Identifier of the container cluster
          type: string
        container_project_id:
          description: |-
            Identifier of the project which this network policy belongs to.
          readOnly: false
          title: |-
            Identifier of the project
          type: string
        external_id:
          description: |-
            Identifier of the container network policy.
          readOnly: false
          title: |-
            External identifier of the container network policy
          type: string
        network_errors:
          description: |-
            List of network errors related to container network policy.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container network policy.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container network policy
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container network policy
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
        policy_type:
          description: |-
            Type e.g. Network Policy, ASG.
          enum:
          - NETWORK_POLICY
          - ASG
          readOnly: false
          title: |-
            Type
          type: string
        spec:
          description: |-
            Container network policy specification.
          readOnly: false
          title: |-
            Container network policy specification
          type: string
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Network policy applied to container.
    title: |-
      Container Network Policy
    x-vmw-nsx-module: InventoryContainerObj
  ContainerNetworkPolicyListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Container Network Policy specs
          items:
            $ref: '#/definitions/ContainerNetworkPolicy'
          title: |-
            List of Container Network Policy specs
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ContainerProject:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        container_cluster_id:
          description: |-
            Identifier of the container cluster to which this project/namespace belongs.
          readOnly: false
          title: |-
            Identifier of the container cluster
          type: string
        external_id:
          description: |-
            External identifier of the container project.
          readOnly: false
          title: |-
            External identifier of the container project
          type: string
        network_errors:
          description: |-
            List of network errors related to container project.
          items:
            $ref: '#/definitions/NetworkError'
          readOnly: false
          title: |-
            Network errors
          type: array
        network_status:
          description: |-
            Network status of container project.
          enum:
          - HEALTHY
          - UNHEALTHY
          readOnly: false
          title: |-
            Network status of container project
          type: string
        origin_properties:
          description: |
            Array of additional specific properties of container project
            in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Origin properties
          type: array
      required:
      - external_id
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    description: |-
      Details of org/namespace within a container cluster.
    title: |-
      Container project within a container cluster
    x-vmw-nsx-module: InventoryContainerObj
  ContainerProjectListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of projects
          items:
            $ref: '#/definitions/ContainerProject'
          title: |-
            List of projects
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryContainerObj
    x-vmw-nsx-module: InventoryContainerObj
  ControlClusterNodeStatus:
    properties:
      control_cluster_status:
        description: |-
          Status of this node's connection to the control cluster
        enum:
        - CONNECTED
        - DISCONNECTED
        - UNKNOWN
        readOnly: true
        type: string
      mgmt_connection_status:
        $ref: '#/definitions/MgmtConnStatus'
        description: |-
          Status of this node's management plane connection
        readOnly: true
        title: |-
          Status of this node's management plane connection
    type: object
    x-vmw-nsx-module: ClusterManagement
  ControlClusteringConfig:
    allOf:
    - $ref: '#/definitions/ClusteringConfig'
    - properties:
        join_to_existing_cluster:
          description: |
            Specifies whether or not the cluster node VM should try to join to
            the existing control cluster or initialize a new one.
            Only required in uncertainty case, i.e. when there are manually-
            deployed controllers that are registered but not connected to the
            cluster and no auto-deployed controllers are part of the cluster.
          title: |-
            Flag to identify the type of clustering
          type: boolean
        shared_secret:
          description: |
            Shared secret to be used when joining the cluster node VM to a control
            cluster or for initializing a new cluster with the VM.
            Must contain at least 4 unique characters and be at least 6 characters
            long.
          title: |-
            Cluster's shared secret
          type: string
      type: object
      x-vmw-nsx-module: ClusterNodeVMDeployment
    description: |
      Config for joining cluster nodes VMs to a control cluster
    title: |-
      Clustering config for joining control cluster
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ControlConnStatus:
    properties:
      control_node_ip:
        description: |-
          IP address of the control Node.
        readOnly: true
        title: |-
          IP address of the control Node.
        type: string
      failure_status:
        description: |-
          Failure status of the control Node for e.g CONNECTION_REFUSED,INCOMPLETE_HOST_CERT.
        enum:
        - CONNECTION_REFUSED
        - INCOMPLETE_HOST_CERT
        - INCOMPLETE_CONTROLLER_CERT
        - CONTROLLER_REJECTED_HOST_CERT
        - HOST_REJECTED_CONTROLLER_CERT
        - KEEP_ALIVE_TIMEOUT
        - OTHER_SSL_ERROR
        - OTHER_ERROR
        readOnly: true
        title: |-
          Failure status of the control Node for e.g CONNECTION_REFUSED,INCOMPLETE_HOST_CERT.
        type: string
      status:
        description: |-
          Status of the control Node for e.g  UP, DOWN.
        enum:
        - UP
        - DOWN
        readOnly: true
        title: |-
          Status of the control Node for e.g  UP, DOWN.
        type: string
    type: object
    x-vmw-nsx-module: FabricNode
  ControllerClusterRoleConfig:
    allOf:
    - $ref: '#/definitions/ClusterRoleConfig'
    - properties:
        control_cluster_listen_addr:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP and port for the control cluster service on this node
          readOnly: true
          title: |-
            The IP and port for the control cluster service on this node
        control_plane_listen_addr:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP and port for the control plane service on this node
          readOnly: true
          title: |-
            The IP and port for the control plane service on this node
        host_msg_client_info:
          $ref: '#/definitions/MsgClientInfo'
        mpa_msg_client_info:
          $ref: '#/definitions/MsgClientInfo'
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ControllerClusterStatus:
    properties:
      status:
        description: |-
          The current status of the controller cluster
        enum:
        - NO_CONTROLLERS
        - UNSTABLE
        - DEGRADED
        - STABLE
        - UNKNOWN
        readOnly: true
        title: |-
          The current status of the controller cluster
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ControllerNodeAggregateInfo:
    allOf:
    - $ref: '#/definitions/BaseNodeAggregateInfo'
    - properties:
        role_config:
          $ref: '#/definitions/ControllerClusterRoleConfig'
          readOnly: true
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ControllerProfilerProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        enabled:
          description: |
            True for enabling controller profiler,
            False for disabling controller profiler.
          type: boolean
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Controller profiler properties
    title: |-
      Controller profiler properties
    x-vmw-nsx-module: MISSING_MODULE
  CopyFromRemoteFileProperties:
    allOf:
    - $ref: '#/definitions/CopyRemoteFileProperties'
    - properties:
        protocol:
          $ref: '#/definitions/Protocol'
          description: |-
            Protocol to use to copy file
          title: |-
            Protocol to use to copy file
      required:
      - protocol
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  CopyRemoteFileProperties:
    properties:
      port:
        description: |-
          Server port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Server port
        type: integer
      server:
        description: |-
          Remote server hostname or IP address
        title: |-
          Remote server hostname or IP address
        type: string
      uri:
        description: |-
          URI of file to copy
        title: |-
          URI of file to copy
        type: string
    required:
    - uri
    - server
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  CopyToRemoteFileProperties:
    allOf:
    - $ref: '#/definitions/CopyRemoteFileProperties'
    - properties:
        protocol:
          $ref: '#/definitions/Protocol'
          description: |-
            Only scp and sftp may be used.
          title: |-
            Protocol to use to copy file
      required:
      - protocol
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  CountActionArgument:
    properties:
      count_type:
        description: |-
          Type of count
        enum:
        - ALL
        - INTERFACE_ONLY
        readOnly: true
        title: |-
          Type of count
        type: string
    type: object
    x-vmw-nsx-module: LiveTrace
  CountActionConfig:
    properties:
      action_argument:
        $ref: '#/definitions/CountActionArgument'
        description: |-
          The count action argument
        title: |-
          The count action argument
    required:
    - action_argument
    type: object
    x-vmw-nsx-module: LiveTrace
  CountObservation:
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Type of count observation
        title: |-
          Type of count observation
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: LiveTrace
  CountResult:
    properties:
      details:
        description: |-
          Count results in a transport node
        items:
          $ref: '#/definitions/CountObservation'
        readOnly: true
        title: |-
          Count results in a transport node
        type: array
      transport_node_id:
        description: |-
          Transport node ID
        readOnly: true
        title: |-
          Transport node ID
        type: string
    type: object
    x-vmw-nsx-module: LiveTrace
  CpuCoreConfigForEnhancedNetworkingStackSwitch:
    description: |-
      Non Uniform Memory Access (NUMA) nodes and Logical cpu cores (Lcores) per NUMA node configuration for Enhanced Networking Stack enabled HostSwitch.
    properties:
      num_lcores:
        description: |-
          Number of Logical cpu cores (Lcores) to be placed on a specified NUMA node
        format: int32
        minimum: 1
        readOnly: false
        title: |-
          Number of Logical cpu cores (Lcores) to be placed on a specified NUMA node
        type: integer
      numa_node_index:
        description: |-
          Unique index of the Non Uniform Memory Access (NUMA) node
        format: int32
        minimum: 0
        readOnly: false
        title: |-
          Unique index of the Non Uniform Memory Access (NUMA) node
        type: integer
    required:
    - num_lcores
    - numa_node_index
    title: |-
      Enhanced Networking Stack CPU configuration
    type: object
    x-vmw-nsx-module: TransportNode
  CpuUsage:
    description: |-
      CPU usage of DPDK and non-DPDK cores
    properties:
      avg_cpu_core_usage_dpdk:
        description: |-
          Indicates the average usage of all DPDK cores in percentage.
        readOnly: true
        title: |-
          Indicates the average usage of all DPDK cores in percentage.
        type: number
      avg_cpu_core_usage_non_dpdk:
        description: |-
          Indicates the average usage of all non-DPDK cores in percentage.
        readOnly: true
        title: |-
          Average usage of all non-DPDK cores
        type: number
      highest_cpu_core_usage_dpdk:
        description: |-
          Indicates the highest CPU utilization value among DPDK cores in percentage.
        readOnly: true
        title: |-
          Highest CPU utilization value among DPDK cores
        type: number
      highest_cpu_core_usage_non_dpdk:
        description: |-
          Indicates the highest cpu utilization value among non_dpdk cores in percentage.
        readOnly: true
        title: |-
          Highest CPU utilization value among non-DPDK cores
        type: number
    title: |-
      CPU usage of DPDK and non-DPDK cores
    type: object
    x-vmw-nsx-module: ApplianceStats
  CreateRemoteDirectoryProperties:
    allOf:
    - $ref: '#/definitions/CopyRemoteFileProperties'
    - properties:
        protocol:
          $ref: '#/definitions/SftpProtocol'
          description: |-
            Protocol to use to copy file
          title: |-
            Protocol to use to copy file
      required:
      - protocol
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  Crl:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        details:
          $ref: '#/definitions/X509Crl'
          description: |-
            Details of the X509Crl object.
          readOnly: true
        pem_encoded:
          description: |-
            PEM encoded CRL data.
          readOnly: false
          type: string
      required:
      - pem_encoded
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  CrlDistributionPoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        cdp_uri:
          description: |-
            CRL Distribution Point URI where to fetch the CRL.
          maxLength: 255
          readOnly: true
          title: |-
            CDP URI
          type: string
        issuer:
          description: |-
            Issuer of the CRL, referring to the CA.
          maxLength: 255
          readOnly: true
          title: |-
            Issuer
          type: string
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      Reference to a CRL Distribution Point where to fetch a CRL
    title: |-
      Reference to a CRL Distribution Point where to fetch a CRL
    x-vmw-nsx-module: CertificateManager
  CrlDistributionPointList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            CrlDistributionPoint list.
          items:
            $ref: '#/definitions/CrlDistributionPoint'
          readOnly: false
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      CrlDistributionPoint query result
    title: |-
      CrlDistributionPoint query result
    x-vmw-nsx-module: CertificateManager
  CrlDistributionPointStatus:
    description: |-
      Reference to a CRL Distribution Point where to fetch a CRL
    properties:
      error_message:
        description: |-
          Error message when fetching the CRL failed.
        readOnly: true
        title: |-
          Error Message
        type: string
      status:
        description: |-
          Status of the fetched CRL for this CrlDistributionPoint
        enum:
        - NOT_READY
        - FETCHING
        - READY
        - ERROR
        readOnly: true
        type: string
    title: |-
      Reference to a CRL Distribution Point where to fetch a CRL
    type: object
    x-vmw-nsx-module: CertificateManager
  CrlList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            CRL list.
          items:
            $ref: '#/definitions/Crl'
          readOnly: true
          type: array
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      Crl queries result
    title: |-
      Crl queries result
    x-vmw-nsx-module: CertificateManager
  CrlObjectData:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        pem_encoded:
          description: |-
            PEM encoded CRL data.
          readOnly: false
          type: string
      required:
      - pem_encoded
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  CrlPemRequestType:
    description: |-
      Request Type to get a CRL's PEM file.
    properties:
      cdp_uri:
        description: |-
          CRL Distribution Point URI where to fetch the CRL.
        maxLength: 255
        readOnly: true
        title: |-
          CDP URI
        type: string
    title: |-
      Request Type to get a CRL's PEM file.
    type: object
    x-vmw-nsx-module: CertificateManager
  CryptoAlgorithm:
    properties:
      key_size:
        description: |-
          Supported key sizes for the algorithm.
        items:
          description: |-
            Crypto key size
          format: int64
          type: integer
        readOnly: true
        type: array
      name:
        description: |-
          Crypto algorithm name.
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: CertificateManager
  Csr:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        algorithm:
          description: |-
            Cryptographic algorithm(asymmetric ) used by the public key for data encryption.
          enum:
          - RSA
          readOnly: false
          type: string
        key_size:
          description: |-
            Size measured in bits of the public key used in a cryptographic algorithm.
          format: int64
          readOnly: false
          type: integer
        pem_encoded:
          description: |-
            PEM encoded certificate data.
          readOnly: true
          type: string
        subject:
          $ref: '#/definitions/Principal'
          description: |-
            The certificate owner's information. (CN, O, OU, C, ST, L)
          readOnly: false
      required:
      - key_size
      - algorithm
      - subject
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  CsrList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            CSR list.
          items:
            $ref: '#/definitions/Csr'
          readOnly: false
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      Csr queries result
    title: |-
      Csr queries result
    x-vmw-nsx-module: CertificateManager
  CsvListResult:
    description: |-
      Base type for CSV result.
    properties:
      file_name:
        description: |-
          File name set by HTTP server if API  returns CSV result as a file.
        title: |-
          File name
        type: string
    type: object
    x-vmw-nsx-module: CsvTypes
  CsvRecord:
    description: |-
      Base type for CSV records.
    type: object
    x-vmw-nsx-module: CsvTypes
  CurrentBackupOperationStatus:
    description: |-
      Current backup operation status
    properties:
      backup_id:
        description: |-
          Unique identifier of current backup
        title: |-
          Unique identifier of current backup
        type: string
      current_step:
        description: |-
          Current step of operation
        enum:
        - BACKUP_CREATING_CLUSTER_BACKUP
        - BACKUP_CREATING_NODE_BACKUP
        title: |-
          Current step of operation
        type: string
      current_step_message:
        description: |-
          Additional human-readable status information about current step
        title: |-
          Additional human-readable status information about current step
        type: string
      end_time:
        description: |-
          Time when operation is expected to end
        format: int64
        type: integer
      operation_type:
        description: |
          Type of operation that is in progress. Returns none if no operation is in progress, in which case
          none of the other fields will be set.
        enum:
        - NONE
        - BACKUP
        title: |
          Type of operation that is in progress. Returns none if no operation is in progress, in which case
          none of the other fields will be set.
        type: string
      start_time:
        description: |-
          Time when operation was started
        format: int64
        type: integer
    required:
    - operation_type
    title: |-
      Current backup operation status
    type: object
    x-vmw-nsx-module: BackupConfiguration
  CurrentRealizationStateBarrier:
    description: |-
      The current global barrier number of the realized state
    properties:
      current_barrier_number:
        description: |-
          Gives the current global barrier number for NSX
        format: int64
        readOnly: true
        type: integer
    type: object
    x-vmw-nsx-module: RealizationStateBarrier
  CustomWidgetConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        ui_component_identifier:
          description: |-
            User defined component selector to be rendered inside view/container.
          title: |-
            UI identifier for component to be rendered inside view/container
          type: string
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration for custom widget. For this widget the data source is not applicable. It defines ui identifer to identify UI component and render it on dashboard view. This configuration can only be used for system owned widgets.
    title: |-
      Custom widget Configuration
    x-vmw-nsx-module: NsxDashboard
  DADProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dad_mode:
          default: LOOSE
          description: |-
            DAD Mode
          enum:
          - LOOSE
          - STRICT
          type: string
        ns_retries:
          default: 3
          description: |
            Number of Neighbor solicitation packets generated before completing the
            Duplicate address detection process.
          format: int64
          maximum: 10
          minimum: 0
          title: |-
            NS retries count
          type: integer
        wait_time:
          default: 1
          description: |
            The time duration in seconds, to wait for Neighbor advertisement
            after sending the Neighbor solicitation message.
          format: int64
          maximum: 60
          minimum: 0
          title: |-
            Wait time
          type: integer
      type: object
      x-vmw-nsx-module: Routing
    description: |
      Duplicate address detection profile.
    x-vmw-nsx-module: Routing
  DADProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of DADProfile
          items:
            $ref: '#/definitions/DADProfile'
          title: |-
            Paginated list of DADProfile
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  DSExcludeList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        member_count:
          description: |-
            Total number of members present in Exclude List.
          format: int64
          readOnly: true
          title: |-
            Total Member Count
          type: integer
        members:
          description: |-
            List of members in Exclusion List
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1000
          readOnly: false
          title: |-
            Member list
          type: array
      required:
      - members
      type: object
      x-vmw-nsx-module: DistributedServices
    description: |-
      List of entities excluded for enforcing a service or a feature.
    title: |-
      Exclusion List
    x-vmw-nsx-module: DistributedServices
  DSInsertParameters:
    description: |-
      Parameters to tell where rule/section need to be added. All the params take rule/section Id.
    properties:
      id:
        description: |-
          Identifier of the anchor rule or section. This is a required field in case operation like 'insert_before' and 'insert_after'.
        maxLength: 64
        title: |-
          Identifier of the anchor rule or section. This is a required field in case operation like 'insert_before' and 'insert_after'.
        type: string
      operation:
        default: insert_top
        description: |-
          Operation
        enum:
        - insert_top
        - insert_bottom
        - insert_after
        - insert_before
        title: |-
          Operation
        type: string
    title: |-
      Parameters to tell where rule/section need to be added. All the params take rule/section Id.
    type: object
    x-vmw-nsx-module: DistributedServices
  DSRule:
    allOf:
    - $ref: '#/definitions/EmbeddedResource'
    - properties:
        action:
          description: |-
            Action enforced on the packets which matches the distributed service rule. Currently DS Layer supports below actions. ALLOW           - Forward any packet when a rule with this action gets a match (Used by Firewall). DROP            - Drop any packet when a rule with this action gets a match. Packets won't go further(Used by Firewall). REJECT          - Terminate TCP connection by sending TCP reset for a packet when a rule with this action gets a match (Used by Firewall). REDIRECT        - Redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion). DO_NOT_REDIRECT - Do not redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion). DETECT          - Detect IDS Signatures. ALLOW_CONTINUE  - Allows rules to jump from this rule. Action on matching rules in the destination category will decide next step. Application is default destination until new categories are supported to jump to. DETECT_PREVENT  - Detect and Prevent IDS Signatures.
          enum:
          - ALLOW
          - DROP
          - REJECT
          - REDIRECT
          - DO_NOT_REDIRECT
          - DETECT
          - ALLOW_CONTINUE
          - DETECT_PREVENT
          readOnly: false
          title: |-
            Action
          type: string
        applied_tos:
          description: |-
            List of object where rule will be enforced. The section level field overrides this one. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            AppliedTo List
          type: array
        destinations:
          description: |-
            List of the destinations. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            Destination List
          type: array
        destinations_excluded:
          default: false
          description: |-
            Negation of the destination.
          readOnly: false
          title: |-
            Negation of destination
          type: boolean
        direction:
          default: IN_OUT
          description: |-
            Rule direction in case of stateless distributed service rules. This will only considered if section level parameter is set to stateless. Default to IN_OUT if not specified.
          enum:
          - IN
          - OUT
          - IN_OUT
          readOnly: false
          title: |-
            Rule direction
          type: string
        disabled:
          default: false
          description: |-
            Flag to disable rule. Disabled will only be persisted but never provisioned/realized.
          readOnly: false
          title: |-
            Rule enable/disable flag
          type: boolean
        ip_protocol:
          default: IPV4_IPV6
          description: |-
            Type of IP packet that should be matched while enforcing the rule.
          enum:
          - IPV4
          - IPV6
          - IPV4_IPV6
          readOnly: false
          title: |-
            IPv4 vs IPv6 packet type
          type: string
        is_default:
          description: |-
            Flag to indicate whether rule is default.
          readOnly: true
          title: |-
            Default rule
          type: boolean
        logged:
          default: false
          description: |-
            Flag to enable packet logging. Default is disabled.
          readOnly: false
          title: |-
            Enable logging flag
          type: boolean
        notes:
          description: |-
            User notes specific to the rule.
          maxLength: 2048
          readOnly: false
          title: |-
            Notes
          type: string
        priority:
          description: |-
            Priority of the rule.
          format: int64
          readOnly: true
          title: |-
            Rule priority
          type: integer
        rule_tag:
          description: |-
            User level field which will be printed in CLI and packet logs.
          maxLength: 32
          readOnly: false
          title: |-
            Tag
          type: string
        sources:
          description: |-
            List of sources. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            Source List
          type: array
        sources_excluded:
          default: false
          description: |-
            Negation of the source.
          readOnly: false
          title: |-
            Negation of source
          type: boolean
      required:
      - action
      type: object
      x-vmw-nsx-module: DistributedServices
    x-vmw-nsx-module: DistributedServices
  DSRuleState:
    allOf:
    - $ref: '#/definitions/ConfigurationState'
    - properties:
        revision_desired:
          description: |-
            This attribute represents revision number of rule's desired state.
          format: int64
          readOnly: true
          title: |-
            Desired state revision number
          type: integer
      type: object
      x-vmw-nsx-module: DistributedServices
    description: |-
      Rule Realization State
    title: |-
      Rule Realization State
    x-vmw-nsx-module: DistributedServices
  DSSection:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        applied_tos:
          description: |-
            List of objects where the rules in this section will be enforced. This will take precedence over rule level appliedTo.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            AppliedTo List
          type: array
        is_default:
          description: |-
            It is a boolean flag which reflects whether a distributed service section is default section or not. Each Layer 3 and Layer 2 section will have at least and at most one default section.
          readOnly: true
          title: |-
            Default section flag
          type: boolean
        rule_count:
          description: |-
            Number of rules in this section.
          format: int64
          readOnly: true
          title: |-
            Rule count
          type: integer
        section_type:
          description: |-
            Type of the rules which a section can contain. Only homogeneous sections are supported.
          enum:
          - LAYER2
          - LAYER3
          - L3REDIRECT
          - IDS
          readOnly: false
          title: |-
            Section Type
          type: string
        stateful:
          description: |-
            Stateful or Stateless nature of distributed service section is enforced on all rules inside the section. Layer3 sections can be stateful or stateless. Layer2 sections can only be stateless.
          readOnly: false
          title: |-
            Stateful nature of the distributed service rules in the section.
          type: boolean
      required:
      - stateful
      - section_type
      type: object
      x-vmw-nsx-module: DistributedServices
    x-vmw-nsx-module: DistributedServices
  DSSectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - type: object
      x-vmw-nsx-module: DistributedServices
    x-vmw-nsx-module: DistributedServices
  DSSectionQueryParameters:
    description: |-
      Section query parameters
    properties:
      cascade:
        default: false
        description: |-
          Flag to cascade delete of this object to all it's child objects.
        title: |-
          Flag to cascade delete of this object to all it's child objects.
        type: boolean
    title: |-
      Section query parameters
    type: object
    x-vmw-nsx-module: DistributedServices
  DSSectionState:
    allOf:
    - $ref: '#/definitions/ConfigurationState'
    - properties:
        revision_desired:
          description: |-
            This attribute represents revision number of section's desired state.
          format: int64
          readOnly: true
          title: |-
            Section's desired state revision number
          type: integer
      type: object
      x-vmw-nsx-module: DistributedServices
    description: |-
      Section Realization Status
    title: |-
      Section Realization State
    x-vmw-nsx-module: DistributedServices
  DSService:
    allOf:
    - $ref: '#/definitions/ResourceReference'
    - properties:
        service:
          $ref: '#/definitions/NSServiceElement'
          description: |
            Distributed Service API accepts raw protocol and ports as part of NS service element
            in Distributed Service Rule that describes traffic corresponding to an NSService.
          readOnly: false
          title: |-
            Distributed Service Network and Security Service element
      type: object
      x-vmw-nsx-module: DistributedServices
    x-vmw-nsx-module: DistributedServices
  DVSConfig:
    description: |-
      The DVS Configuration
    properties:
      host_infra_traffic_res:
        description: |
          host_infra_traffic_res specifies bandwidth allocation for
          various traffic resources.
        items:
          $ref: '#/definitions/ResourceAllocation'
        readOnly: false
        title: |-
          Resource allocation associated with NiocProfile
        type: array
      lacp_group_configs:
        description: |
          It contains information about VMware specific multiple dynamic LACP groups.
        items:
          $ref: '#/definitions/LacpGroupConfigInfo'
        readOnly: false
        title: |-
          Array of Link Aggregation Control Protocol (LACP) configuration
        type: array
      lldp_send_enabled:
        default: false
        description: |-
          Enabled or disabled sending LLDP packets
        title: |-
          Enabled or disabled sending LLDP packets
        type: boolean
      mtu:
        description: |-
          Maximum Transmission Unit used for uplinks
        format: int32
        minimum: 1600
        title: |-
          Maximum Transmission Unit used for uplinks
        type: integer
      name:
        description: |-
          The DVS name
        readOnly: false
        title: |-
          The DVS name
        type: string
      uplink_port_names:
        description: |-
          Names of uplink ports for this DVS.
        items:
          type: string
        minItems: 1
        readOnly: false
        title: |-
          Uplink port names
        type: array
      uuid:
        description: |-
          The DVS uuid
        readOnly: false
        title: |-
          The DVS uuid
        type: string
    required:
    - name
    - uplink_port_names
    title: |-
      The DVS Configuration
    type: object
    x-vmw-nsx-module: DistributedVirtualSwitch
  DailyTelemetrySchedule:
    allOf:
    - $ref: '#/definitions/TelemetrySchedule'
    - properties:
        hour_of_day:
          description: |
            Hour at which data will be collected. Specify a value between 0 through 23.
          format: int64
          maximum: 23
          minimum: 0
          title: |-
            Hour at which data will be collected
          type: integer
        minutes:
          default: 0
          description: |
            Minute at which data will be collected. Specify a value between 0 through 59.
          format: int64
          maximum: 59
          minimum: 0
          title: |-
            Minute at which data will be collected
          type: integer
      required:
      - hour_of_day
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  DataCounter:
    properties:
      dropped:
        description: |-
          The dropped packets or bytes
        format: int64
        title: |-
          The dropped packets or bytes
        type: integer
      multicast_broadcast:
        description: |-
          The multicast and broadcast packets or bytes
        format: int64
        title: |-
          The multicast and broadcast packets or bytes
        type: integer
      total:
        description: |-
          The total packets or bytes
        format: int64
        title: |-
          The total packets or bytes
        type: integer
    required:
    - total
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  DataTypeCollectionConfiguration:
    description: |-
      Data type collection configuration
    properties:
      collection_frequency:
        description: |-
          The frequency in seconds at which data is collected
        format: int64
        maximum: 86400
        minimum: 15
        title: |-
          Data Collection Frequency In Seconds
        type: integer
      data_type:
        description: |-
          Defines the type of data being collected
        enum:
        - STATUS
        - STATISTICS
        title: |-
          Data type
        type: string
    required:
    - collection_frequency
    - data_type
    title: |-
      Data type collection configuration
    type: object
    x-vmw-nsx-module: AggSvcDataCollectionConfig
  Datasource:
    description: |-
      An instance of a datasource configuration.
    properties:
      display_name:
        description: |-
          Name of a datasource instance.
        maxLength: 255
        title: |-
          Datasource instance's display name
        type: string
      urls:
        description: |-
          Array of urls relative to the datasource configuration. For example, api/v1/fabric/nodes is a relative url of nsx-manager instance.
        items:
          $ref: '#/definitions/UrlAlias'
        title: |-
          Array of relative urls and their aliases
        type: array
    required:
    - display_name
    - urls
    title: |-
      Datasource Instance
    type: object
    x-vmw-nsx-module: NsxDashboard
  DefaultFilterValue:
    description: |-
      An instance of a datasource configuration.
    properties:
      alias:
        description: |-
          Filter alias.
        title: |-
          Filter alias
        type: string
      value:
        description: |-
          Filter default value.
        title: |-
          Filter default value
        type: string
    required:
    - alias
    - value
    title: |-
      Default filter values
    type: object
    x-vmw-nsx-module: NsxDashboard
  DeploymentConfig:
    discriminator: placement_type
    properties:
      placement_type:
        enum:
        - VsphereDeploymentConfig
        type: string
    required:
    - placement_type
    type: object
    x-vmw-nsx-module: FabricNode
  DeploymentSpecName:
    description: |-
      Used to provide the deployment spec for Upgrade.
    properties:
      deployment_spec_name:
        description: |-
          This indicates the deployment spec.
        readOnly: true
        title: |-
          Deployment Spec Name
        type: string
    title: |-
      Deployment spec to be used in upgrade
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  DeploymentTemplate:
    description: |-
      Deployment Template holds the attributes specific to partner for which the service is created. These attributes are opaque to NSX.
    properties:
      attributes:
        description: |-
          List of attributes specific to a partner for which the service is created. There attributes are passed on to the partner appliance and is opaque to the NSX Manager.
        items:
          $ref: '#/definitions/Attribute'
        maxItems: 128
        readOnly: false
        title: |-
          Deployment Template attributes
        type: array
      name:
        description: |-
          Deployment Template name.
        readOnly: false
        title: |-
          name
        type: string
    title: |-
      Service Deployment Template
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  DestinationNsxApiEndpoint:
    description: |-
      Details about the destination NSX manager for the migration
    properties:
      destination_nsx_ip:
        description: |-
          IP address or host name of the destination NSX manager to which the config will be migrated.
        format: hostname-or-ip
        readOnly: false
        title: |-
          Destination NSX IP ddress or host name
        type: string
      destination_nsx_password:
        description: |-
          Valid password for connecting to the destination NSX manager.
        readOnly: false
        title: |-
          Password for destination NSX manager
        type: string
      destination_nsx_port:
        default: 443
        description: |-
          Destination NSX manager port that will be used to apply details.
        format: int32
        readOnly: false
        title: |-
          Destination NSX manager port
        type: integer
      destination_nsx_username:
        description: |-
          Valid username for connecting to the destination NSX manager.
        readOnly: false
        title: |-
          Username for destination NSX manager
        type: string
    required:
    - destination_nsx_ip
    title: |-
      Destination NSX manager details
    type: object
    x-vmw-nsx-module: Migration
  DhcpFilter:
    description: |-
      DHCP filtering configuration
    properties:
      client_block_enabled:
        description: |-
          Indicates whether DHCP client blocking is enabled
        readOnly: false
        title: |-
          Indicates whether DHCP client blocking is enabled
        type: boolean
      server_block_enabled:
        description: |-
          Indicates whether DHCP server blocking is enabled
        readOnly: false
        title: |-
          Indicates whether DHCP server blocking is enabled
        type: boolean
      v6_client_block_enabled:
        default: false
        description: |-
          Indiactes whether DHCP v6 client blocking is enabled
        readOnly: false
        title: |-
          Indiactes whether DHCP v6 client blocking is enabled
        type: boolean
      v6_server_block_enabled:
        default: false
        description: |-
          Indiactes whether DHCP V6 server blocking is enabled
        readOnly: false
        title: |-
          Indiactes whether DHCP V6 server blocking is enabled
        type: boolean
    required:
    - client_block_enabled
    - server_block_enabled
    title: |-
      DHCP filtering configuration
    type: object
    x-vmw-nsx-module: SwitchSecuritySwitchingProfile
  DhcpHeader:
    properties:
      op_code:
        default: BOOTREQUEST
        description: |-
          This is used to specify the general type of message. A client sending request to a server uses an op code of BOOTREQUEST, while a server replying uses an op code of BOOTREPLY.
        enum:
        - BOOTREQUEST
        - BOOTREPLY
        title: |-
          Message op code / message type
        type: string
    type: object
    x-vmw-nsx-module: Traceflow
  DhcpIpPool:
    allOf:
    - $ref: '#/definitions/IpAllocationBase'
    - properties:
        allocation_ranges:
          description: |-
            Ip-ranges to define dynamic ip allocation ranges.
          items:
            $ref: '#/definitions/IpPoolRange'
          title: |-
            Ip-ranges
          type: array
        error_threshold:
          default: 100
          description: |
            Error threshold. Alert will be raised if the pool usage reaches the
            given threshold.
          format: int64
          maximum: 100
          minimum: 80
          title: |-
            Error threshold, valid [80-100], default 100
          type: integer
        warning_threshold:
          default: 80
          description: |
            Warning threshold. Alert will be raised if the pool usage reaches the
            given threshold.
          format: int64
          maximum: 80
          minimum: 50
          title: |-
            Warning threshold, valid [50-80], default 80
          type: integer
      required:
      - allocation_ranges
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      DHCP ip-pool to define dynamic ip allocation ranges.
    title: |-
      DHCP ip-pool
    x-vmw-nsx-module: Dhcp
  DhcpIpPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of DHCP ip pools.
          items:
            $ref: '#/definitions/DhcpIpPool'
          title: |-
            Paginated list of DHCP ip pools
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of DHCP ip pools.
    title: |-
      A list of DHCP ip pools
    x-vmw-nsx-module: Dhcp
  DhcpIpPoolUsage:
    properties:
      allocated_number:
        description: |-
          allocated number. COULD BE INACCURATE, REFERENCE ONLY.
        format: int64
        title: |-
          allocated number. COULD BE INACCURATE, REFERENCE ONLY.
        type: integer
      allocated_percentage:
        description: |-
          allocated percentage. COULD BE INACCURATE, REFERENCE ONLY.
        format: int64
        title: |-
          allocated percentage. COULD BE INACCURATE, REFERENCE ONLY.
        type: integer
      dhcp_ip_pool_id:
        description: |-
          uuid of dhcp ip pool
        title: |-
          uuid of dhcp ip pool
        type: string
      pool_size:
        description: |-
          pool size
        format: int64
        title: |-
          pool size
        type: integer
    required:
    - allocated_percentage
    - pool_size
    - allocated_number
    - dhcp_ip_pool_id
    type: object
    x-vmw-nsx-module: AggSvcDhcp
  DhcpLeasePerIP:
    properties:
      expire_time:
        description: |-
          expire time of the lease
        title: |-
          expire time of the lease
        type: string
      ip_address:
        description: |-
          ip address of client
        title: |-
          ip address of client
        type: string
      lease_time:
        description: |-
          lease time of the ip address, in seconds
        title: |-
          lease time of the ip address, in seconds
        type: string
      mac_address:
        description: |-
          mac address of client
        title: |-
          mac address of client
        type: string
      start_time:
        description: |-
          start time of lease
        title: |-
          start time of lease
        type: string
      subnet:
        description: |-
          subnet of client network
        title: |-
          subnet of client network
        type: string
    required:
    - start_time
    - ip_address
    - mac_address
    type: object
    x-vmw-nsx-module: AggSvcDhcp
  DhcpLeases:
    properties:
      dhcp_server_id:
        description: |-
          dhcp server uuid
        title: |-
          dhcp server uuid
        type: string
      leases:
        description: |-
          The lease info list of the server
        items:
          $ref: '#/definitions/DhcpLeasePerIP'
        maxItems: 65535
        minItems: 0
        title: |-
          The lease info list of the server
        type: array
      timestamp:
        description: |-
          timestamp of the lease info
        format: int64
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcDhcp
  DhcpOption121:
    description: |-
      DHCP option 121 to define classless static route.
    properties:
      static_routes:
        description: |-
          Classless static route of DHCP option 121.
        items:
          $ref: '#/definitions/ClasslessStaticRoute'
        maxItems: 27
        minItems: 1
        title: |-
          DHCP classless static routes
        type: array
    required:
    - static_routes
    title: |-
      DHCP option 121
    type: object
    x-vmw-nsx-module: Dhcp
  DhcpOptions:
    description: |-
      Define DHCP options of the DHCP service.
    properties:
      option121:
        $ref: '#/definitions/DhcpOption121'
        description: |
          DHCP option 121 to define classless static routes. Once Option 121
          was defined, Option 249 will be auto-generated because they are
          equivalent.
        title: |-
          Option 121
      others:
        description: |
          To define DHCP options other than option 121 in generic format.
          Please note, only the following options can be defined in generic
          format. Those other options will be accepted without validation
          but will not take effect.
          --------------------------
            Code    Name
          --------------------------
              2   Time Offset
              6   Domain Name Server
              13  Boot File Size
              19  Forward On/Off
              26  MTU Interface
              28  Broadcast Address
              35  ARP Timeout
              40  NIS Domain
              41  NIS Servers
              42  NTP Servers
              44  NETBIOS Name Srv
              45  NETBIOS Dist Srv
              46  NETBIOS Node Type
              47  NETBIOS Scope
              58  Renewal Time
              59  Rebinding Time
              64  NIS+-Domain-Name
              65  NIS+-Server-Addr
              66  TFTP Server-Name (used by PXE)
              67  Bootfile-Name (used by PXE)
              93  PXE: Client system architecture
              94  PXE: Client NDI
              97  PXE: UUID/UNDI
              117 Name Service Search
              119 Domain Search
              150 TFTP server address (used by PXE)
              175 Etherboot
              209 PXE Configuration File
              210 PXE Path Prefix
              211 PXE Reboot Time
        items:
          $ref: '#/definitions/GenericDhcpOption'
        maxItems: 255
        minItems: 0
        title: |-
          Generic DHCP options other than option 121
        type: array
    title: |-
      DHCP options
    type: object
    x-vmw-nsx-module: Dhcp
  DhcpProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        edge_cluster_id:
          description: |
            Edge cluster uuid on which the referencing logical DHCP server runs.
          title: |-
            Edge cluster uuid
          type: string
        edge_cluster_member_indexes:
          description: |
            The Edge nodes on which the DHCP servers run. If none is provided, the
            NSX will auto-select two edge-nodes from the given edge cluster. If only
            one edge node is provided, the DHCP servers will run without HA support.
          items:
            format: int64
            type: integer
          maxItems: 2
          minItems: 0
          title: |-
            Edge node indexes
          type: array
          uniqueItems: true
        enable_standby_relocation:
          default: false
          description: |
            Flag to enable the auto-relocation of standby DHCP Service in case
            of edge node failure. Only tier 1 and auto placed DHCP servers are
            considered for the relocation.
          title: |-
            Flag to enable standby DHCP server relocation
          type: boolean
      required:
      - edge_cluster_id
      type: object
      x-vmw-nsx-module: Dhcp
    description: |
      DHCP profile to specify edge cluster and members on which the dhcp server
      will run. A DhcpProfile can be referenced by different logical DHCP servers.
    title: |-
      DHCP profile to specify edge cluster and members
    x-vmw-nsx-module: Dhcp
  DhcpProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of logical DHCP profiles.
          items:
            $ref: '#/definitions/DhcpProfile'
          title: |-
            Paginated list of DHCP profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of DHCP profiles.
    title: |-
      A list of DHCP profiles
    x-vmw-nsx-module: Dhcp
  DhcpRelayProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        server_addresses:
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          type: array
      required:
      - server_addresses
      type: object
      x-vmw-nsx-module: DhcpRelay
    x-vmw-nsx-module: DhcpRelay
  DhcpRelayProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Dhcp relay profile list results
          items:
            $ref: '#/definitions/DhcpRelayProfile'
          title: |-
            Dhcp relay profile list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DhcpRelay
    x-vmw-nsx-module: DhcpRelay
  DhcpRelayService:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dhcp_relay_profile_id:
          description: |-
            dhcp relay profile referenced by the dhcp relay service
          title: |-
            dhcp relay profile referenced by the dhcp relay service
          type: string
      required:
      - dhcp_relay_profile_id
      type: object
      x-vmw-nsx-module: DhcpRelay
    x-vmw-nsx-module: DhcpRelay
  DhcpRelayServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Dhcp relay service list results
          items:
            $ref: '#/definitions/DhcpRelayService'
          title: |-
            Dhcp relay service list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DhcpRelay
    x-vmw-nsx-module: DhcpRelay
  DhcpServerStatus:
    properties:
      active_node:
        description: |-
          uuid of active transport node
        title: |-
          uuid of active transport node
        type: string
      error_message:
        description: |-
          Error message, if available
        title: |-
          Error message, if available
        type: string
      service_status:
        description: |
          UP means the dhcp service is working fine on both active transport-node
          and stand-by transport-node (if have), hence fail-over can work at this
          time if there is failure happens on one of the transport-node;
          DOWN means the dhcp service is down on both active transport-node and
          stand-by node (if have), hence the dhcp-service will not repsonse any
          dhcp request;
          Error means error happens on transport-node(s) or no status is reported from
          transport-node(s). The dhcp service may be working (or not working);
          NO_STANDBY means dhcp service is working in one of the transport node while
          not in the other transport-node (if have). Hence if the dhcp service in
          the working transport-node is down, fail-over will not happen and the
          dhcp service will go down.
        enum:
        - UP
        - DOWN
        - ERROR
        - NO_STANDBY
        type: string
      stand_by_node:
        description: |-
          uuid of stand_by transport node. null if non-HA mode
        title: |-
          uuid of stand_by transport node. null if non-HA mode
        type: string
    required:
    - service_status
    - active_node
    type: object
    x-vmw-nsx-module: AggSvcDhcp
  DhcpStaticBinding:
    allOf:
    - $ref: '#/definitions/IpAllocationBase'
    - properties:
        host_name:
          description: |-
            The host name to be assigned to the host.
          format: hostname
          title: |-
            Host name
          type: string
        ip_address:
          description: |-
            The ip address to be assigned to the host.
          format: ip
          type: string
        mac_address:
          description: |-
            The MAC address of the host.
          format: mac-address
          type: string
      required:
      - ip_address
      - mac_address
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      DHCP static binding to define a static ip allocation.
    title: |-
      DHCP static binding
    x-vmw-nsx-module: Dhcp
  DhcpStaticBindingListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of DHCP static bindings.
          items:
            $ref: '#/definitions/DhcpStaticBinding'
          title: |-
            Paginated list of DHCP static bindings
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of DHCP static bindings.
    title: |-
      A list of DHCP static bindings
    x-vmw-nsx-module: Dhcp
  DhcpStatistics:
    properties:
      acks:
        description: |-
          The total number of DHCP ACK packets
        format: int64
        title: |-
          The total number of DHCP ACK packets
        type: integer
      declines:
        description: |-
          The total number of DHCP DECLINE packets
        format: int64
        title: |-
          The total number of DHCP DECLINE packets
        type: integer
      dhcp_server_id:
        description: |-
          dhcp server uuid
        title: |-
          dhcp server uuid
        type: string
      discovers:
        description: |-
          The total number of DHCP DISCOVER packets
        format: int64
        title: |-
          The total number of DHCP DISCOVER packets
        type: integer
      errors:
        description: |-
          The total number of DHCP errors
        format: int64
        title: |-
          The total number of DHCP errors
        type: integer
      informs:
        description: |-
          The total number of DHCP INFORM packets
        format: int64
        title: |-
          The total number of DHCP INFORM packets
        type: integer
      ip_pool_stats:
        description: |-
          The DHCP ip pool usage statistics
        items:
          $ref: '#/definitions/DhcpIpPoolUsage'
        title: |-
          The DHCP ip pool usage statistics
        type: array
      nacks:
        description: |-
          The total number of DHCP NACK packets
        format: int64
        title: |-
          The total number of DHCP NACK packets
        type: integer
      offers:
        description: |-
          The total number of DHCP OFFER packets
        format: int64
        title: |-
          The total number of DHCP OFFER packets
        type: integer
      releases:
        description: |-
          The total number of DHCP RELEASE packets
        format: int64
        title: |-
          The total number of DHCP RELEASE packets
        type: integer
      requests:
        description: |-
          The total number of DHCP REQUEST packets
        format: int64
        title: |-
          The total number of DHCP REQUEST packets
        type: integer
      timestamp:
        description: |-
          timestamp of the statistics
        format: int64
        type: integer
    required:
    - errors
    - releases
    - informs
    - timestamp
    - dhcp_server_id
    - nacks
    - offers
    - discovers
    - acks
    - declines
    - requests
    type: object
    x-vmw-nsx-module: AggSvcDhcp
  DhcpV6InfoBase:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dns_nameservers:
          description: |
            Primary and secondary DNS server address to assign host. They can be
            overridden by ip-pool or static-binding level property.
          items:
            description: |-
              IPv6 address
            format: ipv6
            type: string
          maxItems: 2
          minItems: 0
          title: |-
            DNS ips
          type: array
        domain_names:
          description: |
            Host name or prefix to be assigned to host. It can be overridden by
            ip-pool or static-binding level property.
          items:
            type: string
          title: |-
            Domain name
          type: array
        lease_time:
          default: 86400
          description: |-
            Lease time, in seconds.
          format: int64
          maximum: 4294967295
          minimum: 60
          title: |-
            Lease time
          type: integer
        preferred_time:
          description: |
            Preferred time, in seconds. If this value is not provided, the value
            of lease_time*0.8 will be used.
          format: int64
          maximum: 4294967295
          minimum: 48
          title: |-
            Preferred time
          type: integer
        sntp_servers:
          description: |-
            SNTP server ips.
          items:
            description: |-
              IPv6 address
            format: ipv6
            type: string
          maxItems: 2
          minItems: 0
          title: |-
            SNTP server ips
          type: array
      type: object
      x-vmw-nsx-module: Dhcp
    description: |
      Base type of IPv6 ip-allocation extended by ip-pool and static-binding.
    title: |-
      Base type of IPv6 ip-allocation
    x-vmw-nsx-module: Dhcp
  DhcpV6IpPool:
    allOf:
    - $ref: '#/definitions/DhcpV6InfoBase'
    - properties:
        excluded_ranges:
          description: |-
            Excluded addresses to define dynamic ip allocation ranges.
          items:
            $ref: '#/definitions/IpPoolRange'
          maxItems: 128
          minItems: 0
          title: |-
            Excluded range of IPv6 addresses
          type: array
        ranges:
          description: |-
            Ip address ranges to define dynamic ip allocation ranges.
          items:
            $ref: '#/definitions/IpPoolRange'
          maxItems: 128
          minItems: 0
          title: |-
            Ip address ranges
          type: array
      type: object
      x-vmw-nsx-module: Dhcp
    description: |
      DHCP IPv6 ip pool to define dynamic ip allocation ranges.
      The DhcpV6IpPool would only provide stateless DHCP (domain search list,
      DNS servers, SNTP servers) to client if both the ranges and excluded_ranges
      are not specified.
    title: |-
      DHCP IPv6 ip pool
    x-vmw-nsx-module: Dhcp
  DhcpV6IpPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of DHCP IPv6 ip pools.
          items:
            $ref: '#/definitions/DhcpV6IpPool'
          title: |-
            Paginated list of DHCP IPv6 ip pools
          type: array
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of DHCP IPv6 ip pools.
    title: |-
      A list of DHCP IPv6 ip pools
    x-vmw-nsx-module: Dhcp
  DhcpV6StaticBinding:
    allOf:
    - $ref: '#/definitions/DhcpV6InfoBase'
    - properties:
        ip_addresses:
          description: |-
            When not specified, no ip address will be assigned to client host.
          items:
            description: |-
              IPv6 address
            format: ipv6
            type: string
          maxItems: 1
          minItems: 0
          title: |-
            Ip address list
          type: array
        mac_address:
          description: |
            The MAC address of the host. Either client-duid or mac-address,
            but not both.
          format: mac-address
          type: string
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      DHCP IPv6 static binding to define a static ip allocation.
    title: |-
      DHCP IPv6 static binding
    x-vmw-nsx-module: Dhcp
  DhcpV6StaticBindingListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of DHCP IPv6 static bindings.
          items:
            $ref: '#/definitions/DhcpV6StaticBinding'
          title: |-
            Paginated list of DHCP IPv6 static bindings
          type: array
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of DHCP IPv6 static bindings.
    title: |-
      A list of DHCP IPv6 static bindings
    x-vmw-nsx-module: Dhcp
  Dhcpv6Header:
    properties:
      msg_type:
        default: SOLICIT
        description: |-
          This is used to specify the DHCP v6 message. To request the assignment of one or more IPv6 addresses, a client first locates a DHCP server and then requests the assignment of addresses and other configuration information from the server. The client sends a Solicit message to the All_DHCP_Relay_Agents_and_Servers address to find available DHCP servers. Any server that can meet the client's requirements responds with an Advertise message. The client then chooses one of the servers and sends a Request message to the server asking for confirmed assignment of addresses and other configuration information. The server responds with a Reply message that contains the confirmed addresses and configuration. SOLICIT - A client sends a Solicit message to locate servers. ADVERTISE - A server sends and Advertise message to indicate that it is available. REQUEST - A client sends a Request message to request configuration parameters. REPLY - A server sends a Reply message containing assigned addresses and configuration parameters.
        enum:
        - SOLICIT
        - ADVERTISE
        - REQUEST
        - REPLY
        title: |-
          DHCP message type
        type: string
    type: object
    x-vmw-nsx-module: Traceflow
  DirectoryAdDomain:
    allOf:
    - $ref: '#/definitions/DirectoryDomain'
    - properties:
        base_distinguished_name:
          description: |-
            Each active directory domain has a domain naming context (NC), which contains domain-specific data. The root of this naming context is represented by a domain's distinguished name (DN) and is typically referred to as the NC head.
          title: |-
            Directory domain base distinguished name
          type: string
        netbios_name:
          description: |-
            NetBIOS names can contain all alphanumeric characters except for the certain disallowed characters. Names can contain a period, but names cannot start with a period. NetBIOS is similar to DNS in that it can serve as a directory service, but more limited as it has no provisions for a name hierarchy and names are limited to 15 characters. The netbios name is case insensitive and is stored in upper case regardless of input case.
          title: |-
            Directory domain NETBIOS name
          type: string
        selective_sync_settings:
          $ref: '#/definitions/SelectiveSyncSettings'
          description: |
            SelectiveSync settings toggle the SelectiveSync feature and
            selected OrgUnits. If this is not specified, SelectiveSync is
            disabled by default.
          title: |-
            SelectiveSync settings
        sync_settings:
          $ref: '#/definitions/DirectoryDomainSyncSettings'
          description: |-
            Each domain sync settings can be changed using this object. It is not required since there are default values used if there is no specification for this object.
          title: |-
            Directory domain sync settings
      required:
      - base_distinguished_name
      - netbios_name
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      Active Directory Domain
    title: |-
      Active Directory Domain
    x-vmw-nsx-module: DirectoryService
  DirectoryAdGroup:
    allOf:
    - $ref: '#/definitions/DirectoryGroup'
    - properties:
        object_guid:
          description: |-
            GUID is a 128-bit value that is unique not only in the enterprise but also across the world. GUIDs are assigned to every object created by Active Directory, not just User and Group objects.
          title: |-
            Active directory group object guid
          type: string
        secure_id:
          description: |-
            A security identifier (SID) is a unique value of variable length used to identify a trustee. A SID consists of the following components - The revision level of the SID structure; A 48-bit identifier authority value that identifies the authority that issued the SID; A variable number of subauthority or relative identifier (RID) values that uniquely identify the trustee relative to the authority that issued the SID.
          title: |-
            Active directory group secure id
          type: string
      required:
      - object_guid
      - secure_id
      type: object
      x-vmw-nsx-module: DirectoryService
    x-vmw-nsx-module: DirectoryService
  DirectoryDomain:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        ldap_servers:
          description: |-
            Directory domain LDAP servers' information including host, name, port, protocol and so on.
          items:
            $ref: '#/definitions/DirectoryLdapServer'
          maxItems: 50
          title: |-
            LDAP server of directory domain
          type: array
        name:
          description: |-
            Directory domain name which best describes the domain. It could be unique fqdn name or it could also be descriptive. There is no unique contraint for domain name among different domains.
          title: |-
            Directory domain name
          type: string
        resource_type:
          description: |-
            Domain resource type comes from multiple sub-classes extending this base class. For example, DirectoryAdDomain is one accepted resource_type. If there are more sub-classes defined, they will also be accepted resource_type.
          enum:
          - DirectoryAdDomain
          title: |-
            Directory domain resource type
          type: string
      required:
      - ldap_servers
      - name
      - resource_type
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      Directory Domain
    title: |-
      Directory Domain
    x-vmw-nsx-module: DirectoryService
  DirectoryDomainListResults:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Directory Domains
          items:
            $ref: '#/definitions/DirectoryDomain'
          maxItems: 500
          title: |-
            List of Directory Domains
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      List of Directory Domain
    title: |-
      List of Directory Domain
    x-vmw-nsx-module: DirectoryService
  DirectoryDomainSize:
    description: |-
      Size of Directory Domain
    properties:
      group_count:
        description: |-
          Number of groups
        format: int32
        readOnly: true
        title: |-
          Number of groups
        type: integer
      group_member_count:
        description: |-
          Number of group members
        format: int32
        readOnly: true
        title: |-
          Number of group members
        type: integer
      user_count:
        description: |-
          Number of users
        format: int32
        readOnly: true
        title: |-
          Number of users
        type: integer
    title: |-
      Size of Directory Domain
    type: object
    x-vmw-nsx-module: DirectoryService
  DirectoryDomainSyncSettings:
    description: |-
      Domain synchronization settings
    properties:
      delta_sync_interval:
        default: 180
        description: |-
          Directory domain delta synchronization interval time between two delta sync in minutes.
        format: int64
        maximum: 720
        minimum: 5
        title: |-
          Delta synchronization inverval in minutes
        type: integer
      full_sync_cron_expr:
        description: |-
          Directory domain full synchronization schedule using cron expression. For example, cron expression "0 0 12 ? * SUN *" means full sync is scheduled every Sunday midnight. If this object is null, it means there is no background cron job running for full sync.
        title: |-
          Full synchronization cron expression
        type: string
      sync_delay_in_sec:
        default: 30
        description: |
          Sync delay after Directory domain has been successfully created.
          if delay is -1, initial full sync will not be triggered.
        format: int32
        maximum: 600
        minimum: -1
        title: |-
          Sync delay (in second).
        type: integer
    title: |-
      Domain synchronization settings
    type: object
    x-vmw-nsx-module: DirectoryService
  DirectoryDomainSyncStats:
    description: |-
      Directory domain synchronization statistics
    properties:
      avg_delta_sync_time:
        description: |-
          All the historical delta sync are counted in calculating the average delta sync time in milliseconds.
        format: int64
        readOnly: true
        title: |-
          Average time spent for all historical delta sync
        type: integer
      avg_full_sync_time:
        description: |-
          All the historical full sync are counted in calculating the average full sync time in milliseconds.
        format: int64
        readOnly: true
        title: |-
          Average time spent for all historical full sync
        type: integer
      current_state:
        description: |-
          Current running state of the directory domain in synchronization life cycle. It could be one of the following five states. SELECTIVE_FULL_SYNC and SELECTIVE_DELTA_SYNC are sync states for selective sync.
        enum:
        - IDLE
        - FULL_SYNC
        - DELTA_SYNC
        - SELECTIVE_FULL_SYNC
        - SELECTIVE_DELTA_SYNC
        readOnly: true
        title: |-
          Current state of directory domain sync context
        type: string
      current_state_begin_time:
        description: |-
          Since what time the current state has begun. The time is expressed in millisecond epoch time.
        format: int64
        readOnly: true
        type: integer
      num_delta_sync:
        description: |-
          number of successful historical delta sync initiated either by system or by API request.
        format: int64
        readOnly: true
        title: |-
          Total number of successful delta sync
        type: integer
      num_full_sync:
        description: |-
          number of successful historical full sync initiated either by system or by API request.
        format: int64
        readOnly: true
        title: |-
          Total number of successful full sync
        type: integer
      prev_sync_end_time:
        description: |-
          Directory domain previous sync ending time expressed in millisecond epoch time.
        format: int64
        readOnly: true
        type: integer
      prev_sync_error:
        description: |-
          Directory domain previous sync status error if last status was failure.
        readOnly: true
        title: |-
          Previous sync error
        type: string
      prev_sync_status:
        description: |-
          Directory domain previous sync status. It could be one of the following two states.
        enum:
        - SUCCESS
        - FAILURE
        - UNKNOWN
        readOnly: true
        title: |-
          Previous sync status
        type: string
      prev_sync_type:
        description: |-
          Directory domain previous sync type. It could be one of the following five states. Right after the directory domain is configured, this field is set to IDLE.
        enum:
        - IDLE
        - FULL_SYNC
        - DELTA_SYNC
        - SELECTIVE_FULL_SYNC
        - SELECTIVE_DELTA_SYNC
        readOnly: true
        title: |-
          Previous sync type
        type: string
    title: |-
      Directory domain synchronization statistics
    type: object
    x-vmw-nsx-module: DirectoryService
  DirectoryGroup:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        distinguished_name:
          description: |-
            Directory group distinguished name
          title: |-
            Directory group distinguished name
          type: string
        domain_id:
          description: |-
            Domain ID this directory group belongs to.
          title: |-
            Domain id
          type: string
        domain_name:
          description: |-
            Each active directory domain has a domain naming context (NC), which contains domain-specific data. The root of this naming context is represented by a domain's distinguished name (DN) and is typically referred to as the NC head.
          title: |-
            Directory domain distinguished name
          type: string
        domain_sync_node_id:
          description: |-
            Domain sync node under which this directory group is located. We currently sync only from Root node and hence this attribute doesn't have a specific value set.
          title: |-
            Domain synchronization root node id
          type: string
        resource_type:
          description: |-
            Directory group resource type comes from multiple sub-classes extending this base class. For example, DirectoryAdGroup is one accepted resource_type. If there are more sub-classes defined, they will also be accepted resource_type.
          title: |-
            Directory group resource type for this domain
          type: string
      required:
      - distinguished_name
      - domain_id
      - resource_type
      - domain_name
      type: object
      x-vmw-nsx-module: DirectoryService
    x-vmw-nsx-module: DirectoryService
  DirectoryGroupListResults:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Directory group list
          items:
            $ref: '#/definitions/DirectoryGroup'
          title: |-
            Directory group list
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DirectoryService
    x-vmw-nsx-module: DirectoryService
  DirectoryGroupMember:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        group_distinguished_name:
          description: |-
            Directory group distinguished name this group member belongs to.
          title: |-
            Group distinguished name
          type: string
        group_id:
          description: |-
            Directory group id this group member belongs to
          title: |-
            Group idnetifier
          type: string
        member_group_distinguished_name:
          description: |-
            Directory group name this group member owns
          title: |-
            Member group distinguished name
          type: string
        member_group_id:
          description: |-
            Directory group id this group member owns
          title: |-
            Member group idnetifier
          type: string
        nested:
          description: |-
            Whether this member group is a directory member of the parent group speicified by group_id or a nested member group which parent group is also member group of the parent group speicified by group_id.
          title: |-
            Nesting flag
          type: boolean
      required:
      - group_id
      - member_group_distinguished_name
      - member_group_id
      - group_distinguished_name
      - nested
      type: object
      x-vmw-nsx-module: DirectoryService
    x-vmw-nsx-module: DirectoryService
  DirectoryGroupMemberListResults:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Directory group member list
          items:
            $ref: '#/definitions/DirectoryGroupMember'
          title: |-
            Directory group member list
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DirectoryService
    x-vmw-nsx-module: DirectoryService
  DirectoryLdapServer:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        domain_name:
          description: |-
            Directory domain name which best describes the domain. It could be unique fqdn name or it could also be descriptive. There is no unique contraint for domain name among different domains.
          title: |-
            Directory domain name
          type: string
        host:
          description: |-
            Directory LDAP server DNS host name or ip address which is reachable by NSX manager to be connected and do object synchronization.
          format: ip-or-hostname
          title: |-
            LDAP server host name
          type: string
        password:
          description: |-
            Directory LDAP server connection password.
          title: |-
            LDAP server password
          type: string
        port:
          default: 389
          description: |-
            Directory LDAP server connection TCP/UDP port.
          format: int64
          title: |-
            LDAP server TCP/UDP port
          type: integer
        protocol:
          default: LDAP
          description: |-
            Directory LDAP server connection protocol which is either LDAP or LDAPS.
          enum:
          - LDAP
          - LDAPS
          title: |-
            LDAP server protocol
          type: string
        thumbprint:
          description: |-
            Directory LDAP server certificate thumbprint used in secure LDAPS connection.
          title: |-
            LDAP server certificate thumbprint using SHA-256 algorithm
          type: string
        username:
          description: |-
            Directory LDAP server connection user name.
          title: |-
            LDAP server username
          type: string
      required:
      - host
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      LDAP server of directory domain
    title: |-
      LDAP server of directory domain
    x-vmw-nsx-module: DirectoryService
  DirectoryLdapServerListResults:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of directory domain LDAP servers
          items:
            $ref: '#/definitions/DirectoryLdapServer'
          maxItems: 50
          title: |-
            List of directory domain LDAP servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      List of directory domain LDAP servers
    title: |-
      List of directory domain LDAP servers
    x-vmw-nsx-module: DirectoryService
  DirectoryLdapServerStatus:
    description: |-
      Status LDAP server of directory domain
    properties:
      error_id:
        description: |-
          Error ID of the directory LDAP server status maintained by the NSX directory service.
        format: int64
        title: |-
          Error ID of the directory LDAP server status
        type: integer
      error_message:
        description: |-
          Error message of the directory LDAP server status maintained by the NSX directory service.
        title: |-
          Error message of the directory LDAP server status
        type: string
    title: |-
      Status LDAP server of directory domain
    type: object
    x-vmw-nsx-module: DirectoryService
  DirectoryOrgUnit:
    description: |-
      Organization Unit
    properties:
      children:
        description: |
          List of children Organization Units if any.
        items:
          $ref: '#/definitions/DirectoryOrgUnit'
        maxItems: 500
        title: |-
          List of children Organization Units
        type: array
      distinguished_name:
        description: |-
          Distinguished name of the organization unit.
        title: |-
          Distinguished name
        type: string
      name:
        description: |-
          Organization Unit name.
        title: |-
          Organization Unit name
        type: string
    required:
    - distinguished_name
    - name
    - children
    title: |-
      Organization Unit
    type: object
    x-vmw-nsx-module: DirectoryService
  DirectoryOrgUnitListResults:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of Organization Units
          items:
            $ref: '#/definitions/DirectoryOrgUnit'
          maxItems: 500
          title: |-
            List of Organization Units
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      List of organization units
    title: |-
      List of organization units
    x-vmw-nsx-module: DirectoryService
  DiscoveredNode:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        certificate:
          description: |-
            Certificate of the discovered node
          title: |-
            Certificate of the discovered node
          type: string
        cm_local_id:
          description: |-
            Local Id of the discovered node in the Compute Manager
          readOnly: true
          title: |-
            Local Id of the discovered node in the Compute Manager
          type: string
        external_id:
          description: |-
            External id of the discovered node, ex. a mo-ref from VC
          readOnly: true
          title: |-
            External id of the discovered node, ex. a mo-ref from VC
          type: string
        hardware_id:
          description: |-
            Hardware Id is generated using system hardware info. It is used to retrieve fabric node of the esx.
          readOnly: true
          title: |-
            Hardware Id of the discovered node
          type: string
        ip_addresses:
          description: |-
            IP Addresses of the the discovered node.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          readOnly: true
          title: |-
            IP Addresses of the the discovered node.
          type: array
        node_type:
          description: |-
            Discovered Node type like Host
          readOnly: true
          title: |-
            Discovered Node type like Host
          type: string
        origin_id:
          description: |-
            Id of the compute manager from where this node was discovered
          readOnly: true
          title: |-
            Id of the compute manager from where this node was discovered
          type: string
        origin_properties:
          description: |
            Key-Value map of additional specific properties of discovered
            node in the Compute Manager
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |
            Key-Value map of additional specific properties of discovered
            node in the Compute Manager
          type: array
        os_type:
          description: |-
            OS type of the discovered node
          readOnly: true
          title: |-
            OS type of the discovered node
          type: string
        os_version:
          description: |-
            OS version of the discovered node
          readOnly: true
          title: |-
            OS version of the discovered node
          type: string
        parent_compute_collection:
          description: |-
            External id of the compute collection to which this node belongs
          readOnly: true
          title: |-
            External id of the compute collection to which this node belongs
          type: string
        stateless:
          description: |-
            The stateless property describes whether host persists its state across reboot or not. If state persists, value is set as false otherwise true.
          readOnly: true
          title: |-
            Specifies whether host is stateless
          type: boolean
      type: object
      x-vmw-nsx-module: InventoryCmObj
    x-vmw-nsx-module: InventoryCmObj
  DiscoveredNodeInterfaceProperties:
    description: |-
      Network interface properties of discovered node
    properties:
      connected_switch:
        description: |-
          Switch name which is connected to nic, switch can be opaque, proxyHostSwitch or virtual
        title: |-
          Connected switch
        type: string
      connected_switch_type:
        description: |-
          Type of virtual switch can be VSS, DVS or N-VDS.
        enum:
        - VSS
        - DVS
        - N-VDS
        title: |-
          Type of virtual switch
        type: string
      interface_id:
        description: |-
          Id of the network interface
        title: |-
          Interface ID
        type: string
      physical_address:
        description: |-
          Mac address of the interface
        format: mac-address
        type: string
    title: |-
      Discovered node network interface properties
    type: object
    x-vmw-nsx-module: InventoryCmObj
  DiscoveredNodeListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Discovered Node list results
          items:
            $ref: '#/definitions/DiscoveredNode'
          title: |-
            Discovered Node list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Discovered Node list result
    title: |-
      Discovered Node list result
    x-vmw-nsx-module: InventoryCmObj
  DiscoveredNodeNetworkInterfaces:
    description: |-
      All the network interfaces of the discovered node
    properties:
      discovered_node_id:
        description: |-
          Id of the discovered node
        title: |-
          Discovered node Id
        type: string
      network_interfaces:
        description: |-
          Network interfaces of the node
        items:
          $ref: '#/definitions/DiscoveredNodeInterfaceProperties'
        title: |-
          Discovered Node interfaces
        type: array
    required:
    - discovered_node_id
    title: |-
      Discovered node network interfaces
    type: object
    x-vmw-nsx-module: InventoryCmObj
  DiscoveredResource:
    allOf:
    - $ref: '#/definitions/Resource'
    - discriminator: resource_type
      properties:
        _last_sync_time:
          description: |-
            Timestamp of last modification
          format: int64
          readOnly: true
          type: integer
        description:
          description: |-
            Description of this resource
          maxLength: 1024
          title: |-
            Description of this resource
          type: string
        display_name:
          description: |-
            Defaults to ID if not set
          maxLength: 255
          title: |-
            Identifier to use when displaying entity in logs or GUI
          type: string
        resource_type:
          description: |-
            The type of this resource.
          readOnly: false
          type: string
        tags:
          description: |-
            Opaque identifiers meaningful to the API user
          items:
            $ref: '#/definitions/Tag'
          maxItems: 30
          title: |-
            Opaque identifiers meaningful to the API user
          type: array
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Base class for resources that are discovered and automatically updated
    title: |-
      Base class for resources that are discovered and automatically updated
    x-vmw-nsx-module: Common
  DistributedVirtualPortgroup:
    allOf:
    - $ref: '#/definitions/VirtualPortgroup'
    - properties:
        backing_type:
          description: |
            For distributed virtual portgroup, backing type is standard.
            For logical switch portgroup, the backing type is set to nsx.
          readOnly: false
          title: |-
            Backing type for portgroup
          type: string
        key:
          description: |-
            Generated UUID of the portgroup
          readOnly: false
          title: |-
            Generated UUID of the portgroup
          type: string
        overall_status:
          description: |
            This parameters reflects the managed entity status of the portgroup
            as reported by VC.
          enum:
          - RED
          - YELLOW
          - GREEN
          - GRAY
          readOnly: true
          title: |-
            General status of the virtual portgroup
          type: string
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Distributed virtual portgroup on a VC
    title: |-
      Distributed virtual portgroup on a VC
    x-vmw-nsx-module: InventoryCmObj
  DistributedVirtualSwitch:
    allOf:
    - $ref: '#/definitions/VirtualSwitch'
    - properties:
        discovered_nodes:
          description: |-
            Array of discovered nodes connected to this switch.
          items:
            $ref: '#/definitions/DiscoveredNode'
          readOnly: true
          title: |-
            Array of discovered nodes connected
          type: array
        lacp_group_configs:
          description: |
            It contains information about VMware specific multiple dynamic
            LACP groups.
          items:
            $ref: '#/definitions/LacpGroupConfigInfo'
          readOnly: false
          title: |-
            Array of Link Aggregation Control Protocol (LACP) configuration
          type: array
        origin_properties:
          description: |-
            Key-Value map of additional properties of switch
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |-
            Key-Value map of additional properties of switch
          type: array
        uplink_port_names:
          description: |-
            The uniform name of uplink ports on each host.
          items:
            type: string
          readOnly: true
          title: |-
            Uplink port names
          type: array
        uplink_portgroup:
          $ref: '#/definitions/DistributedVirtualPortgroup'
          description: |-
            Uplink portgroup of distributed virtual switch
          readOnly: true
          title: |-
            Uplink portgroup of distributed virtual switch
        uuid:
          description: |-
            UUID of the switch
          readOnly: true
          title: |-
            UUID of the switch
          type: string
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      DistributedVirtualSwitch on a VC
    title: |-
      DistributedVirtualSwitch on a VC
    x-vmw-nsx-module: InventoryCmObj
  DnsAnswer:
    description: |
      The response for DNS nslookup.
    properties:
      answers:
        description: |
          The answers of the query.
        items:
          $ref: '#/definitions/DnsQueryAnswer'
        maxItems: 256
        minItems: 1
        title: |-
          The answers of the query.
        type: array
      authoritative_answers:
        description: |
          Authotitative answers of the query.
          This is a deprecated property, please use 'answers' instead.
        items:
          $ref: '#/definitions/DnsQueryAnswer'
        maxItems: 256
        minItems: 1
        title: |-
          Authoritative answers
        type: array
        x-deprecated: true
      dns_server:
        description: |
          Dns server ip address and port, format is "ip address#port".
        title: |-
          DNS server information
        type: string
      edge_node_id:
        description: |
          ID of the edge node that performed the query.
        title: |-
          Edge node id
        type: string
      non_authoritative_answers:
        description: |
          Non-authotitative answers of the query.
          This is a deprecated property, please use 'answers' instead.
        items:
          $ref: '#/definitions/DnsQueryAnswer'
        maxItems: 256
        minItems: 1
        title: |-
          Non authoritative answers
        type: array
        x-deprecated: true
      raw_answer:
        description: |
          It can be NXDOMAIN or error message which is not consisted of
          authoritative_answer or non_authoritative_answer.
        title: |-
          Raw message returned from the DNS forwarder
        type: string
      source_ip:
        description: |
          The source ip used in this lookup.
        format: ipv4
        type: string
    required:
    - edge_node_id
    - dns_server
    - source_ip
    title: |-
      Answer of dns nslookup
    type: object
    x-vmw-nsx-module: DnsForwarder
  DnsFailedQueries:
    description: |
      The array of the failed DNS queries with entry count and timestamp
      on active and standby transport node.
    properties:
      per_node_failed_queries:
        description: |
          The array of failed DNS queries on active and standby transport node.
          If there is no standby node, the failed queries on standby node will
          not be present.
        items:
          $ref: '#/definitions/PerNodeDnsFailedQueries'
        readOnly: true
        title: |-
          The array of failed DNS queries on active and standby transport node
        type: array
      timestamp:
        description: |
          Timestamp of the request, in YYYY-MM-DD HH:MM:SS.zzz format.
        readOnly: true
        title: |-
          Timestamp of the request
        type: string
    title: |-
      The array of failed DNS queries for active and standby transport node
    type: object
    x-vmw-nsx-module: DnsForwarder
  DnsFailedQuery:
    description: |
      The summary of the failed DNS query. The query result represents a full
      query chain from client VM to dns forwarder, and upstream server if no
      forwarder cache was hit.
    properties:
      address:
        description: |-
          The address be queried, can be a FQDN or an ip address.
        title: |-
          The adddress be queried
        type: string
      client_ip:
        description: |
          The client host ip address from which the query was issued.
        title: |-
          The client host ip address from which the query was issued
        type: string
      error_message:
        description: |-
          The detailed error message of the failed query, if any.
        title: |-
          The error message of the failed query
        type: string
      error_type:
        description: |-
          The type of the query failure, e.g. NXDOMAIN, etc.
        title: |-
          The type of the failure
        type: string
      forwarder_ip:
        description: |
          The DNS forwarder ip address to which the query was first received.
        title: |-
          The DNS forwarder ip address to which the query was first received
        type: string
      record_type:
        description: |-
          The record type be queried, e.g. A, CNAME, SOA, etc.
        title: |-
          The record type be queried
        type: string
      source_ip:
        description: |
          The source ip address that is used to forward a query to an upstream
          server.
        title: |-
          The source ip address for forwarding query
        type: string
      time_spent:
        description: |-
          The time the query took before it got a failed answer, in ms.
        format: int64
        title: |-
          Time spent in the query, if applicable
        type: integer
      timestamp:
        description: |-
          Timestamp of the request, in YYYY-MM-DD HH:MM:SS.zzz format.
        title: |-
          Timestamp of the request
        type: string
      upstream_server_ip:
        description: |
          The upstream server ip address to which the query was forwarded. If the
          query could not be serviced from the DNS forwarder cache, this property
          will contain the IP address of the DNS server that serviced the request.
          If the request was serviced from the cache, this property will be absent.
        title: |-
          The ip address to which the query was forwarded
        type: string
    required:
    - timestamp
    title: |-
      The failed DNS query
    type: object
    x-vmw-nsx-module: DnsForwarder
  DnsForwarder:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        cache_size:
          default: 1024
          description: |
            One DNS answer cache entry will consume ~120 bytes. Hence 1 KB cache
            size can cache ~8 DNS answer entries, and the default 1024 KB cache
            size can hold ~8k DNS answer entries.
          format: int32
          maximum: 16777216
          minimum: 1
          title: |-
            Cache size in KB
          type: integer
        conditional_forwarders:
          description: |
            The conditional zone forwarders. During matching a zone forwarder,
            the DNS forwarder will use the conditional fowarder with the longest
            domain name that matches the query.
          items:
            $ref: '#/definitions/ConditionalForwarderZone'
          maxItems: 5
          title: |-
            Conditional zone forwarders
          type: array
        default_forwarder:
          $ref: '#/definitions/ForwarderZone'
          description: |
            The default zone forwarder that catches all other domain names except
            those matched by conditional forwarder zone.
          title: |-
            Default zone forwarder
        enabled:
          default: true
          description: |-
            Flag to enable/disable the forwarder
          title: |-
            Flag to enable/disable the forwarder
          type: boolean
        listener_ip:
          description: |
            The ip address the DNS forwarder listens on. It can be an ip address
            already owned by the logical-router uplink port or router-link, or a
            loopback port ip address. But it can not be a downlink port address.
            User needs to ensure the address is reachable via router or NAT from
            both client VMs and upstream servers. User will need to create Firewall
            rules if needed to allow such traffic on a Tier-1 or Tier-0.
          format: ipv4
          type: string
        log_level:
          default: INFO
          description: |-
            Log level of the DNS forwarder
          enum:
          - DEBUG
          - INFO
          - WARNING
          - ERROR
          - FATAL
          title: |-
            Log level of the DNS forwarder
          type: string
        logical_router_id:
          description: |
            Specify the LogicalRouter where the DnsForwarder runs. The HA mode
            of the hosting LogicalRouter must be Active/Standby.
          title: |-
            Logical router id
          type: string
      required:
      - default_forwarder
      - logical_router_id
      - listener_ip
      type: object
      x-vmw-nsx-module: DnsForwarder
    x-vmw-nsx-module: DnsForwarder
  DnsForwarderListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of DNS forwarders
          items:
            $ref: '#/definitions/DnsForwarder'
          title: |-
            Paginated list of DNS forwarders
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: DnsForwarder
    x-vmw-nsx-module: DnsForwarder
  DnsForwarderStatistics:
    description: |
      The current statistics counters of the DNS forwarder including cache usages
      and query numbers per forwarders.
    properties:
      conditional_forwarder_statistics:
        description: |-
          The statistics of conditional forwarders
        items:
          $ref: '#/definitions/PerForwarderStatistics'
        maxItems: 5
        minItems: 0
        readOnly: true
        title: |-
          The statistics of conditional forwarders
        type: array
      configured_cache_size:
        description: |-
          The configured cache size, in kb
        format: int64
        readOnly: true
        title: |-
          The configured cache size, in kb
        type: integer
      default_forwarder_statistics:
        $ref: '#/definitions/PerForwarderStatistics'
        description: |-
          The statistics of default forwarder
        readOnly: true
        title: |-
          The statistics of default forwarder
      error_message:
        description: |-
          Error message, if available
        readOnly: true
        title: |-
          Error message, if available
        type: string
      queries_answered_locally:
        description: |-
          The totocal number of queries answered from local cache
        format: int64
        readOnly: true
        title: |-
          The totocal number of queries answered from local cache
        type: integer
      queries_forwarded:
        description: |-
          The total number of forwarded dns queries
        format: int64
        readOnly: true
        title: |-
          The total number of forwarded dns queries
        type: integer
      timestamp:
        description: |-
          Time stamp of the current statistics, in ms
        format: int64
        readOnly: true
        type: integer
      total_queries:
        description: |-
          The total number of received dns queries
        format: int64
        readOnly: true
        title: |-
          The total number of received dns queries
        type: integer
      used_cache_statistics:
        description: |-
          The statistics of used cache
        items:
          $ref: '#/definitions/PerNodeUsedCacheStatistics'
        maxItems: 2
        minItems: 0
        readOnly: true
        title: |-
          The statistics of used cache
        type: array
    title: |-
      Statistics counters of the DNS forwarder
    type: object
    x-vmw-nsx-module: AggSvcDnsForwarder
  DnsForwarderStatus:
    description: |
      The current runtime status of the DNS forwarder including the hosting
      transport nodes and forwarder service status.
    properties:
      active_node:
        description: |-
          Uuid of active transport node
        readOnly: true
        title: |-
          Uuid of active transport node
        type: string
      extra_message:
        description: |-
          Extra message, if available
        readOnly: true
        title: |-
          Extra message, if available
        type: string
      standby_node:
        description: |-
          Uuid of stand_by transport node. null if non-HA mode
        readOnly: true
        title: |-
          Uuid of stand_by transport node. null if non-HA mode
        type: string
      status:
        description: |
          UP means the DNS forwarder is working correctly on the active transport
          node and the stand-by transport node (if present). Failover will occur
          if either node goes down.
          DOWN means the DNS forwarder is down on both active transport node and
          standby node (if present). The DNS forwarder does not function in this
          situation.
          Error means there is some error on one or both transport node, or no
          status was reported from one or both transport nodes. The dns forwarder
          may be working (or not working).
          NO_BACKUP means dns forwarder is working in only one transport node,
          either because it is down on the standby node, or no standby is configured.
          An forwarder outage will occur if the active node goes down.
        enum:
        - UP
        - DOWN
        - ERROR
        - NO_BACKUP
        readOnly: true
        type: string
      timestamp:
        description: |-
          Time stamp of the current status, in ms
        format: int64
        readOnly: true
        type: integer
    title: |-
      The current runtime status of DNS forwarder
    type: object
    x-vmw-nsx-module: AggSvcDnsForwarder
  DnsHeader:
    properties:
      address:
        description: |-
          This is used to define what is being asked or responded.
        format: hostname-or-ip
        title: |-
          Domain name/IP to query/response
        type: string
      address_type:
        default: V4
        description: |-
          This is used to specify the type of the address. V4 - The address provided is an IPv4 domain name/IP address, the Type in query or response will be A V6 - The address provided is an IPv6 domain name/IP address, the Type in query or response will be AAAA
        enum:
        - V4
        - V6
        type: string
      message_type:
        default: QUERY
        description: |-
          Specifies the message type whether it is a query or a response.
        enum:
        - QUERY
        - RESPONSE
        title: |-
          Specifies the message type whether it is a query or a response.
        type: string
    type: object
    x-vmw-nsx-module: Traceflow
  DnsQueryAnswer:
    description: |-
      Answer of nslookup
    properties:
      address:
        description: |
          Can be resolved ip address.
        title: |-
          Matched ip address
        type: string
      name:
        description: |
          Matched name of the given address.
        title: |-
          Matched name
        type: string
      raw_string:
        description: |
          Unparsed answer string from raw_answer.
        title: |-
          Unparsed answer string
        type: string
    title: |-
      Answer of nslookup
    type: object
    x-vmw-nsx-module: DnsForwarder
  DnsTtlConfig:
    description: |-
      Firewall to use TTL config to manage firewall cache to expire snooped FQDN entries from DNS response.
    properties:
      dns_ttl_type:
        description: |-
          TTL type to decide how to manage ttl.
        enum:
        - USE_TTL
        - AUTO
        - NEVER_EXPIRE
        title: |-
          TTL type.
        type: string
      ttl:
        default: 86400
        description: |-
          The number of seconds that snooped DNS responses are retained in the cache. Used only when dns_ttl_type is USE_TTL.
        format: int64
        maximum: 864000
        minimum: 3600
        title: |-
          DNS server TTL
        type: integer
    required:
    - dns_ttl_type
    title: |-
      DNS TTL config
    type: object
    x-vmw-nsx-module: FirewallProfile
  DonutConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        count:
          description: |-
            Expression to retrieve count to be shown on Donut.
          title: |-
            Expression to retrieve count to be shown on Donut
          type: string
        display_count:
          default: true
          description: |-
            If true, displays the count of entities in the donut
          title: |-
            Show or hide the count of entities
          type: boolean
        label:
          $ref: '#/definitions/Label'
          description: |-
            Displayed at the middle of the donut, by default. It labels the entities of donut.
          title: |-
            Label of the Donut Configuration
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          maxLength: 1024
          title: |-
            Navigation to a specified UI page
          type: string
        sections:
          description: |-
            Sections
          items:
            $ref: '#/definitions/DonutSection'
          minItems: 1
          title: |-
            Sections
          type: array
      required:
      - sections
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration of a Donut
    title: |-
      Donut Configuration
    x-vmw-nsx-module: NsxDashboard
  DonutPart:
    description: |-
      Represents an entity or portion to be plotted on a donut or stats chart.
    properties:
      condition:
        description: |-
          If the condition is met then the part will be displayed. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        title: |-
          Expression for evaluating condition
        type: string
      drilldown_id:
        description: |-
          Id of drilldown widget, if any. Id should be a valid id of an existing widget. A widget is considered as drilldown widget when it is associated with any other widget and provides more detailed information about any data item from the parent widget.
        title: |-
          Id of drilldown widget
        type: string
      field:
        description: |-
          A numerical value that represents the portion or entity of the donut or stats chart.
        maxLength: 1024
        title: |-
          Value of the portion or entity of donut or stats chart
        type: string
      hide_empty_legend:
        default: false
        description: |-
          If true, legend will be shown only if the data for the part is available. This is applicable only if legends are specified in widget configuration.
        title: |-
          Hide the legend if the data for the part is not available
        type: boolean
      label:
        $ref: '#/definitions/Label'
        description: |-
          If a section 'template' holds this donut or stats part, then the label is auto-generated from the fetched field values after applying the template.
        title: |-
          Label of the portion or entity of donut or stats chart
      navigation:
        description: |-
          Hyperlink of the specified UI page that provides details. If drilldown_id is provided, then navigation cannot be used.
        title: |-
          Navigation to a specified UI page
        type: string
      render_configuration:
        description: |-
          Additional rendering or conditional evaluation of the field values to be performed, if any.
        items:
          $ref: '#/definitions/RenderConfiguration'
        minItems: 0
        title: |-
          Render Configuration
        type: array
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over the portion.
        items:
          $ref: '#/definitions/Tooltip'
        minItems: 0
        title: |-
          Multi-line tooltip
        type: array
    required:
    - field
    title: |-
      Portion of a donut or stats chart
    type: object
    x-vmw-nsx-module: NsxDashboard
  DonutSection:
    description: |-
      Represents high level logical grouping of portions or segments of a donut / stats chart.
    properties:
      parts:
        description: |-
          Array of portions or parts of the donut or stats chart.
        items:
          $ref: '#/definitions/DonutPart'
        minItems: 1
        title: |-
          Parts of a donut / stats chart
        type: array
      row_list_field:
        description: |-
          Field of the root of the api result set for forming parts.
        maxLength: 1024
        title: |-
          Field from which parts of the donut or stats chart are formed
        type: string
      template:
        default: false
        description: |-
          If true, the section will be appled as template for forming parts. Only one part will be formed from each element of 'row_list_field'.
        title: |-
          Template, if any, for automatically forming the donut or stats parts
        type: boolean
    required:
    - parts
    title: |-
      Section of a donut or stats chart
    type: object
    x-vmw-nsx-module: NsxDashboard
  DropdownFilterWidgetConfiguration:
    allOf:
    - $ref: '#/definitions/FilterWidgetConfiguration'
    - properties:
        default_value:
          description: |-
            Expression to specify default value of filter.
          title: |-
            Expression to specify default value
          type: string
        dropdown_item:
          $ref: '#/definitions/DropdownItem'
          description: |-
            Defines the item of a dropdown.
          title: |-
            Definition for item of a dropdown
        placeholder_msg:
          description: |-
            Placeholder message to be displayed in dropdown filter.
          title: |-
            Placeholder message to be shown in filter
          type: string
        static_filter_condition:
          description: |-
            If the condition is met then the static filter will be added. If no condition is provided, then the static filters will be applied unconditionally.
          title: |-
            Expression for evaluating condition
          type: string
        static_filters:
          description: |-
            Additional static items to be added in dropdown filter. Example can be 'ALL'.
          items:
            $ref: '#/definitions/StaticFilter'
          title: |-
            Additional static items to be added in dropdown filter
          type: array
      required:
      - dropdown_item
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration for dropdown filter widget.
    title: |-
      Dropdown Filter widget Configuration
    x-vmw-nsx-module: NsxDashboard
  DropdownItem:
    description: |-
      Dropdown item definition
    properties:
      display_name:
        description: |-
          expression to extract display name to be shown in the drop down.
        maxLength: 1024
        title: |-
          Display name for item to be displayed in dropdown
        type: string
      field:
        description: |-
          An expression that represents the items of the dropdown filter.
        title: |-
          Expression for dropdown items of filter
        type: string
      value:
        description: |-
          Value of filter inside dropdown filter.
        title: |-
          Value for item to be displayed in dropdown
        type: string
    required:
    - field
    - value
    title: |-
      Dropdown item definition
    type: object
    x-vmw-nsx-module: NsxDashboard
  Dscp:
    description: |-
      Dscp value is ignored in case of 'TRUSTED' DscpMode.
    properties:
      mode:
        description: |-
          Trust settings
        enum:
        - TRUSTED
        - UNTRUSTED
        type: string
      priority:
        default: 0
        description: |-
          Internal Forwarding Priority
        format: int32
        maximum: 63
        minimum: 0
        title: |-
          Internal Forwarding Priority
        type: integer
    title: |-
      One of Quality-of-Service or Encapsulated-Remote-Switched-Port-Analyzer
    type: object
    x-vmw-nsx-module: QosSwitchingProfile
  DuplicateAddressBindingEntry:
    allOf:
    - $ref: '#/definitions/AddressBindingEntry'
    - properties:
        conflicting_port:
          description: |
            Provides the ID of the port on which the same address bidning exists
          title: |-
            ID of logical port with the same address binding
          type: string
      type: object
      x-vmw-nsx-module: LogicalPort
    description: |-
      Duplicate address binding information
    title: |-
      Duplicate address binding information
    x-vmw-nsx-module: LogicalPort
  DuplicateIPDetection:
    description: |-
      Duplicate IP detection and control
    properties:
      duplicate_ip_detection_enabled:
        default: false
        description: |-
          Indicates whether duplicate IP detection should be enabled
        readOnly: false
        title: |-
          Indicates whether duplicate IP detection should be enabled
        type: boolean
    title: |-
      Duplicate IP detection and control
    type: object
    x-vmw-nsx-module: IpDiscoverySwitchingProfile
  EULAAcceptance:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        acceptance:
          description: |-
            Acceptance status of End User License Agreement
          title: |-
            End User License Agreement acceptance status
          type: boolean
      required:
      - acceptance
      type: object
      x-vmw-nsx-module: EULA
    description: |-
      Indicate the status of End User License Agreement acceptance
    title: |-
      EULA acceptance status
    x-vmw-nsx-module: EULA
  EULAContent:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        content:
          description: |-
            Content of End User License Agreement
          title: |-
            End User License Agreement content
          type: string
      type: object
      x-vmw-nsx-module: EULA
    description: |-
      End User License Agreement content
    title: |-
      EULA content
    x-vmw-nsx-module: EULA
  EdgeCluster:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        allocation_rules:
          description: |
            Set of allocation rules and respected action for auto placement of
            logical router, DHCP and MDProxy on edge cluster members.
          items:
            $ref: '#/definitions/AllocationRule'
          title: |-
            Allocation rules for auto placement
          type: array
        cluster_profile_bindings:
          description: |-
            Edge cluster profile bindings
          items:
            $ref: '#/definitions/ClusterProfileTypeIdEntry'
          title: |-
            Edge cluster profile bindings
          type: array
        deployment_type:
          description: |
            This field is a readonly field which shows the deployment_type of members.
            It returns UNKNOWN if there are no members, and returns VIRTUAL_MACHINE|
            PHYSICAL_MACHINE if all edge members are VIRTUAL_MACHINE|PHYSICAL_MACHINE.
            It returns HYBRID if the cluster contains edge members of both types
            VIRTUAL_MACHINE and PHYSICAL_MACHINE.
          enum:
          - VIRTUAL_MACHINE
          - PHYSICAL_MACHINE
          - UNKNOWN
          readOnly: true
          type: string
        enable_inter_site_forwarding:
          description: |
            Flag should be only use in federation for inter site l2 and l3 forwarding.
            Before enabling this flag, all the edge cluster members must have remote
            tunnel endpoint configured. TIER0/TIER1 logical routers managed by GM
            must be associated with edge cluster which has inter-site forwarding
            enabled.
          readOnly: true
          title: |-
            Flag to enable inter site forwarding
          type: boolean
        member_node_type:
          description: |
            Edge cluster is homogenous collection of transport nodes.
            Hence all transport nodes of the cluster must be of same type.
            This readonly field shows the type of transport nodes.
          enum:
          - EDGE_NODE
          - PUBLIC_CLOUD_GATEWAY_NODE
          - UNKNOWN
          readOnly: true
          type: string
        members:
          description: |
            EdgeCluster only supports homogeneous members.
            These member should be backed by either EdgeNode or PublicCloudGatewayNode.
            TransportNode type of these nodes should be the same.
            DeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these EdgeNodes is
            recommended to be the same. EdgeCluster supports members of different
            deployment types.
          items:
            $ref: '#/definitions/EdgeClusterMember'
          title: |-
            Edge cluster members
          type: array
        node_rtep_ips:
          description: |-
            List of remote tunnel endpoint ipaddress configured on edge cluster for each transport node.
          items:
            $ref: '#/definitions/NodeRtepIpsConfig'
          readOnly: true
          title: |-
            Remote tunnel endpoint ip address.
          type: array
      type: object
      x-vmw-nsx-module: EdgeClusters
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterAllocationStatus:
    description: |
      Allocation details of cluster and its members. Contains information of the
      edge nodes present in cluster, active and standby services of each node,
      utilization details of configured sub-pools. These allocation details can
      be monitored by customers to trigger migration of certain service contexts
      to different edge nodes, to balance the utilization of edge node resources.
    properties:
      display_name:
        description: |-
          Display name of the edge cluster
        readOnly: true
        title: |-
          Display name of the edge cluster
        type: string
      id:
        description: |-
          System allotted UUID of edge cluster.
        readOnly: true
        title: |-
          Unique identifier of edge cluster
        type: string
      member_count:
        description: |-
          Represents the number of edge nodes in the cluster.
        format: int32
        readOnly: true
        title: |-
          Count of edge nodes present in the cluster
        type: integer
      members:
        description: |-
          Allocation details of edge nodes present in the cluster.
        items:
          $ref: '#/definitions/EdgeMemberAllocationStatus'
        readOnly: true
        title: |-
          Allocation Status of edge nodes
        type: array
    title: |-
      Allocationd details of edge cluster
    type: object
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterInterSiteStatus:
    properties:
      edge_cluster_id:
        description: |-
          Id of the edge cluster whose status is being reported.
        readOnly: true
        title: |-
          Edge cluster id
        type: string
      edge_cluster_name:
        description: |-
          Name of the edge cluster whose status is being reported.
        readOnly: true
        title: |-
          Edge cluster name
        type: string
      last_update_timestamp:
        description: |
          Timestamp when the edge cluster inter-site status was last updated.
        format: int64
        readOnly: true
        type: integer
      member_status:
        description: |-
          Per edge node inter-site status.
        items:
          $ref: '#/definitions/EdgeClusterMemberInterSiteStatus'
        readOnly: true
        title: |-
          Per edge node inter-site status
        type: array
      overall_status:
        description: |
          Overall status of all edge nodes IBGP status in the edge cluster.
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        readOnly: true
        title: |-
          Overall IBGP status in the edge cluster
        type: string
    type: object
    x-vmw-nsx-module: AggSvcEdgeCluster
  EdgeClusterListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Edge cluster list results
          items:
            $ref: '#/definitions/EdgeCluster'
          title: |-
            Edge cluster list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: EdgeClusters
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterMember:
    properties:
      description:
        description: |-
          description of edge cluster member
        title: |-
          description of edge cluster member
        type: string
      display_name:
        description: |-
          display name of edge cluster member
        title: |-
          display name of edge cluster member
        type: string
      member_index:
        description: |-
          System generated index for cluster member
        format: int32
        readOnly: true
        title: |-
          System generated index for cluster member
        type: integer
      transport_node_id:
        description: |-
          Identifier of the transport node backed by an Edge node
        title: |-
          UUID of edge transport node
        type: string
    required:
    - transport_node_id
    type: object
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterMemberAllocationPool:
    discriminator: allocation_pool_type
    properties:
      allocation_pool_type:
        description: |-
          Types of logical router allocation pool based on services
        enum:
        - LoadBalancerAllocationPool
        type: string
    required:
    - allocation_pool_type
    type: object
    x-vmw-nsx-module: LogicalRouter
  EdgeClusterMemberAllocationProfile:
    properties:
      allocation_pool:
        $ref: '#/definitions/EdgeClusterMemberAllocationPool'
        description: |
          Logical router allocation can be tracked for specific services and
          services may have their own hard limits and allocation sizes. For
          example load balancer pool should be specified if load balancer
          service will be attached to logical router.
        title: |-
          Edge Cluster Member Allocation Pool for logical router
      allocation_type:
        description: |
          Allocation type is used to specify the mode used to allocate the LR.
          This is populated only for TIER1 logical router and for TIER0 this
          will be null.
        enum:
        - MANUAL
        - AUTO
        readOnly: true
        title: |-
          Resource allocation type
        type: string
      enable_standby_relocation:
        default: false
        description: |
          Flag to enable the auto-relocation of standby service router running
          on edge cluster and node associated with the logical router. Only
          dynamically allocated tier1 logical routers are considered for the
          relocation.
        title: |-
          Flag to enable standby service router relocation
        type: boolean
    type: object
    x-vmw-nsx-module: LogicalRouter
  EdgeClusterMemberInterSiteStatus:
    properties:
      established_bgp_sessions:
        description: |-
          Total number of current established inter-site IBGP sessions.
        format: int64
        readOnly: true
        title: |-
          Established inter-site IBGP sessions
        type: integer
      neighbor_status:
        description: |-
          Inter-site BGP neighbor status.
        items:
          $ref: '#/definitions/BgpNeighborStatusLiteDto'
        readOnly: true
        title: |-
          BGP neighbor status
        type: array
      status:
        description: |-
          Edge node IBGP status
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        readOnly: true
        title: |-
          Edge node IBGP status
        type: string
      total_bgp_sessions:
        description: |-
          Total number of inter-site IBGP sessions.
        format: int64
        readOnly: true
        title: |-
          Total inter-site IBGP sessions
        type: integer
      transport_node:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Edge node details from where the status is being retrived.
        readOnly: true
        title: |-
          Transport node
    type: object
    x-vmw-nsx-module: AggSvcEdgeCluster
  EdgeClusterMemberStatus:
    properties:
      status:
        description: |-
          Status of an edge node
        enum:
        - UP
        - DOWN
        - ADMIN_DOWN
        - PARTIALLY_DISCONNECTED
        - UNKNOWN
        title: |-
          Status of an edge node
        type: string
      transport_node:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Transport node backed by an Edge node.
        title: |-
          UUID of edge transport node
    required:
    - transport_node
    - status
    type: object
    x-vmw-nsx-module: AggSvcEdgeCluster
  EdgeClusterMemberTransportNode:
    properties:
      member_index:
        description: |-
          System generated index for cluster member
        format: int32
        title: |-
          System generated index for cluster member
        type: integer
      transport_node_id:
        description: |-
          Identifier of the transport node backed by an Edge node
        title: |-
          UUID of edge transport node
        type: string
    required:
    - member_index
    - transport_node_id
    type: object
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterState:
    allOf:
    - $ref: '#/definitions/EdgeConfigurationState'
    - type: object
      x-vmw-nsx-module: EdgeClusters
    description: |
      This holds the state of Edge Cluster. If there are errors in
      realizing EC outside of MP, it gives details of the components and
      specific errors.
    title: |-
      Realization State of Edge Cluster.
    x-vmw-nsx-module: EdgeClusters
  EdgeClusterStatus:
    properties:
      edge_cluster_id:
        description: |-
          Id of the edge cluster whose status is being reported
        title: |-
          Edge cluster id
        type: string
      edge_cluster_status:
        description: |-
          Status of an edge node
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        title: |-
          Status of an edge node
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the cluster status was last updated
        format: int64
        readOnly: true
        type: integer
      member_status:
        additionalProperties: false
        description: |-
          Per Edge Node Status
        items:
          $ref: '#/definitions/EdgeClusterMemberStatus'
        readOnly: true
        title: |-
          Per Edge Node Status
        type: array
    required:
    - edge_cluster_status
    - edge_cluster_id
    type: object
    x-vmw-nsx-module: AggSvcEdgeCluster
  EdgeConfigurationState:
    allOf:
    - $ref: '#/definitions/ConfigurationState'
    - properties:
        pending_change_list:
          description: |-
            Request identifier of the API which modified the entity.
          items:
            type: string
          readOnly: true
          title: |-
            List of pending changes
          type: array
      type: object
      x-vmw-nsx-module: LogicalRouter
    description: |
      This contains fields that captures state of Trackable entities.
      Edge and VPN state entities extend this object.
    title: |-
      Configuration State for Edge and VPN entities.
    x-vmw-nsx-module: LogicalRouter
  EdgeHighAvailabilityProfile:
    allOf:
    - $ref: '#/definitions/ClusterProfile'
    - properties:
        bfd_allowed_hops:
          default: 255
          description: |-
            BFD allowed hops
          format: int64
          maximum: 255
          minimum: 1
          title: |-
            BFD allowed hops
          type: integer
        bfd_declare_dead_multiple:
          default: 3
          description: |-
            Number of times a packet is missed before BFD declares the neighbor down.
          format: int64
          maximum: 16
          minimum: 2
          title: |-
            Number of times a packet is missed before BFD declares the neighbor down.
          type: integer
        bfd_probe_interval:
          default: 500
          description: |-
            the time interval (in millisec) between probe packets for heartbeat purpose
          format: int64
          maximum: 60000
          minimum: 50
          title: |-
            the time interval (in millisec) between probe packets for heartbeat purpose
          type: integer
        standby_relocation_config:
          $ref: '#/definitions/StandbyRelocationConfig'
          description: |-
            Standby service contexts relocation setting
          title: |-
            Standby service contexts relocation setting
      type: object
      x-vmw-nsx-module: EdgeHighAvailabilityProfile
    description: |-
      Profile for BFD HA cluster setting
    title: |-
      Profile for BFD HA cluster setting
    x-vmw-nsx-module: EdgeHighAvailabilityProfile
  EdgeMemberAllocationStatus:
    properties:
      allocated_services:
        description: |-
          List of services allocated on the edge node.
        items:
          $ref: '#/definitions/AllocatedService'
        readOnly: true
        title: |-
          Services allocated on edge node
        type: array
      allocation_pools:
        description: |-
          Allocation details of pools defined on the edge node.
        items:
          $ref: '#/definitions/AllocationPool'
        readOnly: true
        title: |-
          Pool Allocation details
        type: array
      member_index:
        description: |
          System generated index for transport node backed by edge node.
        format: int32
        readOnly: true
        title: |-
          System generated index for cluster member
        type: integer
      node_display_name:
        description: |
          Display name of edge cluster member. Defaults to ID if not set.
        readOnly: true
        title: |-
          Identifier to use when displaying cluster member in logs or GUI
        type: string
      node_id:
        description: |-
          System allotted UUID of edge node.
        readOnly: true
        title: |-
          Unique identifier of edge node
        type: string
    type: object
    x-vmw-nsx-module: EdgeClusters
  EdgeNode:
    allOf:
    - $ref: '#/definitions/Node'
    - properties:
        allocation_list:
          description: |-
            List of logical router ids to which this edge node is allocated.
          items:
            type: string
          readOnly: true
          title: |-
            Allocation list
          type: array
        deployment_config:
          $ref: '#/definitions/EdgeNodeDeploymentConfig'
          description: |
            When this configuration is specified, edge fabric node of deployment_type VIRTUAL_MACHINE
            will be deployed and registered with MP.
          title: |-
            Config for automatic deployment of edge node virtual machine.
        deployment_type:
          description: |-
            Supported edge deployment type.
          enum:
          - VIRTUAL_MACHINE
          - PHYSICAL_MACHINE
          - UNKNOWN
          readOnly: true
          type: string
        node_settings:
          $ref: '#/definitions/EdgeNodeSettings'
          description: |
            Reports the current configuration of the SSH, DHS, NTP and host name
            on this edge node. The deployment_config property is used during
            deployment and this counterpart property shows current values.
          title: |-
            Current configuration on edge node.
      type: object
      x-vmw-nsx-module: FabricNode
    x-vmw-nsx-module: FabricNode
  EdgeNodeDeploymentConfig:
    properties:
      form_factor:
        default: MEDIUM
        description: |-
          Supported edge form factor.
        enum:
        - SMALL
        - MEDIUM
        - LARGE
        - XLARGE
        type: string
      node_user_settings:
        $ref: '#/definitions/NodeUserSettings'
        description: |
          Username and password settings for the node.
          Note - these settings will be honored only during node deployment.
          Post deployment, CLI must be used for changing the user settings, changes to these parameters will not have any effect.
        title: |-
          Node user settings
      vm_deployment_config:
        $ref: '#/definitions/DeploymentConfig'
    required:
    - node_user_settings
    - vm_deployment_config
    type: object
    x-vmw-nsx-module: FabricNode
  EdgeNodeSettings:
    description: |
      The settings are used during deployment and consequent update of an edge,
      unless indicated otherwise. The settings are preferred over the deprecated
      settings in VsphereDeploymentConfig.
      The settings reflect the current configuraton on an edge node.
      If the settings lag with actual state on the edge,
      these may be refreshed at NSX Manager using API POST api/v1/transport-nodes
      /&lt;transport-node-id&gt;?action=refresh_node_configuration&resource_type=
      EdgeNode
    properties:
      allow_ssh_root_login:
        default: false
        description: |
          Allowing root SSH logins is not recommended for security reasons.
          Edit of this property is not supported when updating transport node.
          Use the CLI to change this property.
        title: |-
          Allow root SSH logins.
        type: boolean
      dns_servers:
        description: |
          List of DNS servers.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        title: |-
          DNS servers.
        type: array
      enable_ssh:
        default: false
        description: |
          Enabling SSH service is not recommended for security reasons.
        title: |-
          Enable SSH.
        type: boolean
      hostname:
        description: |-
          Host name or FQDN for edge node.
        title: |-
          Host name or FQDN for edge node.
        type: string
      ntp_servers:
        description: |
          List of NTP servers.
        items:
          description: |-
            Hostname or IPv4 address
          format: hostname-or-ipv4
          type: string
        title: |-
          NTP servers.
        type: array
      search_domains:
        description: |
          List of domain names that are used to complete unqualified host names.
        items:
          type: string
        title: |-
          Search domain names.
        type: array
      syslog_servers:
        description: |
          List of Syslog server configuration.
        items:
          $ref: '#/definitions/SyslogConfiguration'
        maxItems: 5
        title: |-
          Syslog servers
        type: array
    type: object
    x-vmw-nsx-module: FabricNode
  EdgeTransportNodeDatapathMemoryPoolUsage:
    description: |-
      Datapath memory pool usage value.
    properties:
      description:
        description: |-
          Description of the memory pool.
        readOnly: true
        title: |-
          Description of the memory pool
        type: string
      name:
        description: |-
          Name of the datapath memory pool as available on edge node CLI.
        readOnly: true
        title: |-
          Name of the datapath memory pool
        type: string
      usage:
        description: |-
          Percentage of memory pool in use.
        readOnly: true
        title: |-
          Percentage of memory pool in use
        type: number
    title: |-
      Usage of datapath memory pool
    type: object
    x-vmw-nsx-module: ApplianceStats
  EdgeTransportNodeDatapathMemoryUsage:
    description: |-
      Detailed view of the datapath memory usage. Details out the heap and per memory pool point in time usage.
    properties:
      datapath_heap_usage:
        description: |-
          Percentage of heap memory in use.
        readOnly: true
        title: |-
          Percentage of heap memory in use
        type: number
      datapath_mem_pools_usage:
        items:
          $ref: '#/definitions/EdgeTransportNodeDatapathMemoryPoolUsage'
          description: Per memory pool percentage in use.
          readonly: true
          title: Per memory pool percentage in use
        type: array
      highest_datapath_mem_pool_usage:
        description: |-
          Highest percentage usage value among datapath memory pools.
        readOnly: true
        title: |-
          Highest percentage usage value among datapath memory pools
        type: number
      highest_datapath_mem_pool_usage_names:
        items:
          description: List of datapath memory pool(s) with highest usage.
          readonly: true
          title: Datapath memory pool(s) with highest usage
          type: string
        type: array
    title: |-
      Detailed view of the datapath memory usage. Details out the heap and per memory pool usage
    type: object
    x-vmw-nsx-module: ApplianceStats
  EdgeTransportNodeMemoryUsage:
    description: |-
      Point in time usage of system, datapath, swap and cache memory in edge node.
    properties:
      cache_usage:
        description: |-
          Percentage of RAM on the system that can be flushed out to disk.
        readOnly: true
        title: |-
          Percentage of RAM on the system that can be flushed out to disk
        type: number
      datapath_mem_usage_details:
        $ref: '#/definitions/EdgeTransportNodeDatapathMemoryUsage'
        description: |-
          Detailed view of the datapath memory usage. Details out the heap and per memory pool point in time usage.
        readOnly: true
        title: |-
          Detailed view of the datapath memory usage. Details out the heap and per memory pool usage
      datapath_total_usage:
        description: |-
          Percentage of memory in use by datapath processes which includes RES and hugepage memory.
        readOnly: true
        title: |-
          Percentage of memory in use by datapath processes
        type: number
      swap_usage:
        description: |-
          Percentage of swap disk in use.
        readOnly: true
        title: |-
          Percentage of swap disk in use
        type: number
      system_mem_usage:
        description: |-
          Percentage of RAM in use on edge node.
        readOnly: true
        title: |-
          Percentage of RAM in use on edge node
        type: number
    title: |-
      Memory usage details of edge node
    type: object
    x-vmw-nsx-module: ApplianceStats
  EdgeUpgradeStatus:
    allOf:
    - $ref: '#/definitions/ComponentUpgradeStatus'
    - type: object
      x-vmw-nsx-module: Upgrade
    description: |-
      Status of edge upgrade
    title: |-
      Status of edge upgrade
    x-vmw-nsx-module: Upgrade
  EffectiveIPAddressMemberListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of effective ip addresses for the given NSGroup
          items:
            description: |
              IPElement can be a single IP address, IP address range or a Subnet. Its
              type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
              "192.168.1.1-192.168.1.100", "192.168.0.0/24",
              "fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:318c/64"
            format: address-or-block-or-range
            type: string
          title: |-
            Paged Collection of effective ip addresses for the given NSGroup
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NSGroup
    x-vmw-nsx-module: NSGroup
  EffectiveIPInfo:
    description: |-
      List of effective ip address along with site id
    properties:
      effective_ips:
        items:
          description: |
            IPElement can be a single IP address, IP address range or a Subnet. Its
            type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
            "192.168.1.1-192.168.1.100", "192.168.0.0/24",
            "fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:318c/64"
          format: address-or-block-or-range
          type: string
        type: array
      site_id:
        description: |
          Id of the site to which the effective IPs belong to
        title: |
          Id of the site to which the effective IPs belong to
        type: string
    required:
    - effective_ips
    - site_id
    title: |-
      List of effective ip address along with site id
    type: object
    x-vmw-nsx-module: GroupingObjectsProviders
  EffectiveMemberResourceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of resources which are the effective members of an NSGroup.
          items:
            $ref: '#/definitions/ResourceReference'
            title: effective members resource list results
          title: |-
            Paged Collection of resources which are the effective members of an NSGroup.
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NSGroup
    x-vmw-nsx-module: NSGroup
  EffectiveMemberTypeListResult:
    properties:
      result_count:
        description: |-
          Count of the member types in the results array
        format: int64
        readOnly: true
        title: |-
          Count of the member types in the results array
        type: integer
      results:
        description: |-
          Collection of member types for the given NSGroup
        items:
          description: |-
            Resource type valid for use in an NSGroupExpression
          enum:
          - NSGroup
          - IPSet
          - MACSet
          - LogicalSwitch
          - LogicalPort
          - VirtualMachine
          - DirectoryGroup
          - VirtualNetworkInterface
          - TransportNode
          - CloudNativeServiceInstance
          - PhysicalServer
          - LogicalRouter
          - LogicalRouterPort
          type: string
        title: |-
          Collection of member types for the given NSGroup
        type: array
    required:
    - results
    type: object
    x-vmw-nsx-module: NSGroup
  EffectiveProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of profiles which are applied to an Entity
          items:
            $ref: '#/definitions/NSXProfileReference'
          title: |-
            Paged Collection of profiles which are applied to an Entity
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ServiceConfig
    x-vmw-nsx-module: ServiceConfig
  EgressRateShaper:
    allOf:
    - $ref: '#/definitions/QosBaseRateShaper'
    - properties:
        average_bandwidth_mbps:
          default: 0
          description: |-
            Average bandwidth in Mb/s
          format: int32
          minimum: 0
          title: |-
            Average bandwidth in Mb/s
          type: integer
        burst_size_bytes:
          default: 0
          description: |-
            Burst size in bytes
          format: int32
          minimum: 0
          title: |-
            Burst size in bytes
          type: integer
        peak_bandwidth_mbps:
          default: 0
          description: |-
            Peak bandwidth in Mb/s
          format: int32
          minimum: 0
          title: |-
            Peak bandwidth in Mb/s
          type: integer
      type: object
      x-vmw-nsx-module: QosSwitchingProfile
    description: |-
      A shaper that specifies egress rate properties in Mb/s
    title: |-
      A shaper that specifies egress rate properties in Mb/s
    x-vmw-nsx-module: QosSwitchingProfile
  EmbeddedResource:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        _owner:
          $ref: '#/definitions/OwnerResourceLink'
          description: |-
            Owner of this resource
          readOnly: true
          title: |-
            Owner of this resource
        description:
          description: |-
            Description of this resource
          maxLength: 1024
          title: |-
            Description of this resource
          type: string
        display_name:
          description: |-
            Defaults to ID if not set
          maxLength: 255
          title: |-
            Identifier to use when displaying entity in logs or GUI
          type: string
        id:
          description: |-
            Identifier of the resource
          readOnly: true
          type: string
        resource_type:
          description: |-
            The type of this resource.
          readOnly: false
          type: string
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Base class for resources that are embedded in other resources
    title: |-
      Base class for resources that are embedded in other resources
    x-vmw-nsx-module: Common
  Endpoint:
    description: |-
      An Endpoint object is part of HostSwitch configuration in TransportNode
    properties:
      default_gateway:
        description: |-
          Gateway IP
        format: ip
        readOnly: true
        type: string
      device_name:
        description: |-
          Name of the virtual tunnel endpoint
        readOnly: true
        title: |-
          Name of the virtual tunnel endpoint
        type: string
      ip:
        description: |-
          Depending upon the EndpointIpConfig used in HostSwitch, IP could be allocated either from DHCP (default) or from Static IP Pool.
        format: ip
        readOnly: true
        type: string
      label:
        description: |-
          Unique label for this Endpoint
        format: int32
        readOnly: true
        title: |-
          Unique label for this Endpoint
        type: integer
      mac:
        description: |-
          MAC address
        format: mac-address
        readOnly: true
        type: string
      subnet_mask:
        description: |-
          Subnet mask
        format: ip
        readOnly: true
        type: string
    title: |-
      Tunnel endpoint configuration
    type: object
    x-vmw-nsx-module: TransportNode
  ErrorInfo:
    description: |-
      Error information
    properties:
      error_code:
        description: |-
          Error code of the error.
        format: int32
        readOnly: false
        title: |-
          Error code
        type: integer
      error_message:
        description: |-
          Error message
        readOnly: true
        title: |-
          Error message
        type: string
      timestamp:
        description: |-
          Timestamp when the error occurred
        format: int64
        readOnly: true
        type: integer
    title: |-
      Error information
    type: object
    x-vmw-nsx-module: InventoryCmObj
  ErrorResolverInfo:
    description: |-
      Metadata related to a given error_id
    properties:
      error_id:
        description: |-
          The error id for which metadata information is needed
        format: int64
        title: |-
          The error id for which metadata information is needed
        type: integer
      resolver_present:
        description: |-
          Indicates whether there is a resolver associated with the error or not
        title: |-
          Indicates whether there is a resolver associated with the error or not
        type: boolean
      user_metadata:
        $ref: '#/definitions/ErrorResolverUserMetadata'
        description: |-
          User supplied metadata that might be required by the resolver
        title: |-
          User supplied metadata that might be required by the resolver
    required:
    - error_id
    - resolver_present
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverInfoList:
    description: |-
      Collection of all registered ErrorResolverInfo
    properties:
      results:
        description: |-
          ErrorResolverInfo list
        items:
          $ref: '#/definitions/ErrorResolverInfo'
        title: |-
          ErrorResolverInfo list
        type: array
    required:
    - results
    title: |-
      Collection of all registered ErrorResolverInfo
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverMetadata:
    description: |-
      Error along with its metadata
    properties:
      entity_id:
        description: |-
          The entity/node UUID where the error has occurred.
        title: |-
          The entity/node UUID where the error has occurred.
        type: string
      error_id:
        description: |-
          The error id as reported by the entity where the error occurred.
        format: int64
        title: |-
          The error id as reported by the entity where the error occurred.
        type: integer
      system_metadata:
        $ref: '#/definitions/ErrorResolverSystemMetadata'
        description: |-
          This can come from some external system like syslog collector
        title: |-
          This can come from some external system like syslog collector
      user_metadata:
        $ref: '#/definitions/ErrorResolverUserMetadata'
        description: |-
          User supplied metadata that might be required by the resolver
        title: |-
          User supplied metadata that might be required by the resolver
    required:
    - error_id
    - entity_id
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverMetadataList:
    description: |-
      List of errors with their metadata
    properties:
      errors:
        description: |-
          List of errors with their corresponding metadata.
        items:
          $ref: '#/definitions/ErrorResolverMetadata'
        title: |-
          List of errors with their corresponding metadata.
        type: array
    required:
    - errors
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverSystemMetadata:
    description: |-
      Metadata fetched from an external system like Syslog or LogInsight.
    properties:
      value:
        description: |-
          The value fetched from another system
        title: |-
          The value fetched from another system
        type: string
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverUserInputData:
    description: |-
      Corresponds to one property entered by the user
    properties:
      data_type:
        description: |-
          The datatype of the given property. Useful for data validation
        enum:
        - TEXT
        - NUMBER
        - PASSWORD
        title: |-
          The datatype of the given property. Useful for data validation
        type: string
      property_name:
        description: |-
          Name of the property supplied by the user
        title: |-
          Name of the property supplied by the user
        type: string
      property_value:
        description: |-
          The value associated with the above property
        title: |-
          The value associated with the above property
        type: string
    required:
    - data_type
    - property_name
    type: object
    x-vmw-nsx-module: ErrorResolver
  ErrorResolverUserMetadata:
    description: |-
      User supplied metadata needed for resolving errors
    properties:
      user_input_list:
        description: |-
          List of user supplied input data.
        items:
          $ref: '#/definitions/ErrorResolverUserInputData'
        title: |-
          List of user supplied input data.
        type: array
    type: object
    x-vmw-nsx-module: ErrorResolver
  EsxGlobalOpaqueConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        opaque_config:
          description: |-
            A list of global opaque configuration for ESX hosts.
          items:
            $ref: '#/definitions/KeyValuePair'
          title: |-
            A list of global opaque configuration for ESX hosts.
          type: array
      required:
      - opaque_config
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      ESX global opaque configuration
    title: |-
      ESX global opaque configuration
    x-vmw-nsx-module: GlobalConfigs
  EtherTypeNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - properties:
        ether_type:
          description: |-
            Type of the encapsulated protocol
          format: int64
          title: |-
            Type of the encapsulated protocol
          type: integer
      required:
      - ether_type
      type: object
      x-vmw-nsx-module: Types
    description: |-
      An NSService element that represents an ethertype protocol
    title: |-
      An NSService element that represents an ethertype protocol
    x-vmw-nsx-module: Types
  EthernetHeader:
    properties:
      dst_mac:
        description: |
          The destination MAC address of form:
          "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$". For example: 00:00:00:00:00:00.
        title: |-
          Destination MAC address of the Ethernet header
        type: string
      eth_type:
        default: 2048
        description: |-
          This field defaults to IPv4.
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          The value of the type field to be put into the Ethernet header
        type: integer
      src_mac:
        description: |
          The source MAC address of form:
          "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$". For example: 00:00:00:00:00:00.
        title: |-
          Source MAC address of the Ethernet header
        type: string
    type: object
    x-vmw-nsx-module: Traceflow
  EventListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of events defined
          items:
            $ref: '#/definitions/MonitoringEvent'
          readOnly: true
          title: |-
            List of events defined
          type: array
      type: object
      x-vmw-nsx-module: Monitoring
    x-vmw-nsx-module: Monitoring
  ExcludeList:
    allOf:
    - $ref: '#/definitions/DSExcludeList'
    - type: object
      x-vmw-nsx-module: ExcludeList
    description: |-
      List of entities where Distributed Firewall will not be enforced. Exclusion List can contain NSGroup(s) or LogicalPort(s) or LogicalSwitch(es) to exclude Distributed Firewall enforcement.
    title: |-
      Exclusion List
    x-vmw-nsx-module: ExcludeList
  ExtraConfig:
    description: |
      Extra config is intended for supporting vendor specific configuration on the
      data path, it can be set as key value string pairs on either logical switch
      or logical port.
      If it was set on logical switch, it will be inherited automatically by logical
      ports in it. Also logical port setting will override logical switch setting
      if specific key was dual set on both logical switch and logical port.
    properties:
      config_pair:
        $ref: '#/definitions/UnboundedKeyValuePair'
        description: |-
          Key value pair in string for the configuration
        title: |-
          Key value pair in string for the configuration
    required:
    - config_pair
    title: |-
      Vendor specific configuration on logical switch or logical port
    type: object
    x-vmw-nsx-module: Switching
  ExtraConfigHostSwitchProfile:
    allOf:
    - $ref: '#/definitions/BaseHostSwitchProfile'
    - properties:
        extra_configs:
          description: |-
            list of extra configs
          items:
            $ref: '#/definitions/ExtraConfig'
          title: |-
            list of extra configs
          type: array
      type: object
      x-vmw-nsx-module: ExtraConfigHostSwitchProfile
    description: |-
      Profile for extra configs in host switch
    title: |-
      Profile for extra configs in host switch
    x-vmw-nsx-module: ExtraConfigHostSwitchProfile
  FailedNodeSupportBundleResult:
    properties:
      error_code:
        description: |-
          Error code
        readOnly: true
        title: |-
          Error code
        type: string
      error_message:
        description: |-
          Error message
        readOnly: true
        title: |-
          Error message
        type: string
      node_display_name:
        description: |-
          Display name of node
        readOnly: true
        title: |-
          Display name of node
        type: string
      node_id:
        description: |-
          UUID of node
        readOnly: true
        title: |-
          UUID of node
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  FailureDomain:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        preferred_active_edge_services:
          description: |
            Set preference for edge transport node failure domain which will be
            considered while doing auto placement of logical router, DHCP and
            MDProxy on edge node.
            true: For preemptive failover mode, active edge cluster member
                  allocation preferes this failure domain.
            false: For preemptive failover mode, standby edge cluster member
                  allocation preferes this failure domain.
            Default will be unset. It means no explicit preference.
          title: |-
            Set preference for failure domain
          type: boolean
      type: object
      x-vmw-nsx-module: FailureDomain
    description: |
      Failure Domain is engineered to be isolated from failures in other failure
      domains, and to provide inexpensive, low-latency network connectivity to
      other failure domains in the same region. We support failure domain only on
      edge transport node. Like you can consider one rack as one failure domain
      and place active-standby contexts like logical router, DHCP and MDProxy in
      two different failure domains (racks). So failure of a single rack (FD) does
      not impact any services and other rack (FD) will continue to handle traffic.
      Initially system creates one default failure domain. For any edge transport
      node, if failure domains is not given, it will be mapped to default system
      generated failure domain. You can't update preferred_active_edge_services
      flag for system generated default failure domain. It will be unset which
      means that failure domain can be used for both active and standby allocation.
    title: |-
      Failure Domain for edge transport node
    x-vmw-nsx-module: FailureDomain
  FailureDomainListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            Array of all failure domains including system generated default
            failure domain
          items:
            $ref: '#/definitions/FailureDomain'
          title: |-
            Failure Domain Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: FailureDomain
    description: |
      It will have list of failure domains which also includes system generated
      failure domain.
    title: |-
      Failure Domain queries result
    x-vmw-nsx-module: FailureDomain
  FeaturePermission:
    description: |-
      Feature Permission
    properties:
      feature:
        description: |-
          Feature Id
        title: |-
          Feature Id
        type: string
      feature_description:
        description: |-
          Feature Description
        title: |-
          Feature Description
        type: string
      feature_name:
        description: |-
          Feature Name
        title: |-
          Feature Name
        type: string
      is_execute_recommended:
        description: |-
          Is execute recommended
        readOnly: true
        title: |-
          Is execute recommended
        type: boolean
      is_internal:
        description: |-
          Is internal
        readOnly: true
        title: |-
          Is internal
        type: boolean
      permission:
        description: |-
          Permission
        enum:
        - crud
        - read
        - execute
        - none
        title: |-
          Permission
        type: string
    required:
    - feature
    - permission
    title: |-
      Feature Permission
    type: object
    x-vmw-nsx-module: AAA
  FeaturePermissionArray:
    properties:
      feature_permissions:
        description: |-
          Array of FeaturePermission
        items:
          $ref: '#/definitions/FeaturePermission'
        title: |-
          Array of FeaturePermission
        type: array
    required:
    - feature_permissions
    type: object
    x-vmw-nsx-module: AAA
  FeaturePermissionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/FeaturePermission'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  FeatureSet:
    description: |-
      Represents list of features required to view the widget.
    properties:
      feature_list:
        description: |-
          List of features required for to view widget.
        items:
          type: string
        title: |-
          List of features required for to view wdiget
        type: array
      require_all_permissions:
        description: |-
          Flag for specifying if permission to all features is required If set to false, then if there is permission for any of the feature from feature list, widget will be available.
        title: |-
          Flag for specifying if permission to all features is required
        type: boolean
    title: |-
      List of features required to view the widget
    type: object
    x-vmw-nsx-module: NsxDashboard
  FeatureStackCollectionConfiguration:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        client_type_collection_configurations:
          description: |-
            The set of client type data collection configurations
          items:
            $ref: '#/definitions/ClientTypeCollectionConfiguration'
          title: |-
            Client type collection configurations
          type: array
        feature_stack_name:
          description: |-
            The name of the feature stack
          title: |-
            Feature stack name
          type: string
      required:
      - feature_stack_name
      type: object
      x-vmw-nsx-module: AggSvcDataCollectionConfig
    description: |-
      HPM feature stack data collection frequency configuration
    title: |-
      HPM feature stack data collection frequency configuration
    x-vmw-nsx-module: AggSvcDataCollectionConfig
  FeatureStackCollectionConfigurationList:
    description: |-
      Feature stack collection configuration list result
    properties:
      results:
        description: |-
          The complete set of feature stack data collection configurations
        items:
          $ref: '#/definitions/FeatureStackCollectionConfiguration'
        readOnly: true
        title: |-
          Feature stack configurations
        type: array
    title: |-
      Feature stack collection configuration list result
    type: object
    x-vmw-nsx-module: AggSvcDataCollectionConfig
  FeatureUsage:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        capacity_usage:
          description: |-
            Capacity Usage List
          items:
            $ref: '#/definitions/CapacityUsage'
          readOnly: true
          title: |-
            Capacity Usage List
          type: array
        feature:
          description: |-
            name of the feature
          readOnly: true
          title: |-
            name of the feature
          type: string
      type: object
      x-vmw-nsx-module: License
    description: |-
      feature usage result item
    x-vmw-nsx-module: License
  FeatureUsageCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        ccu_usage_count:
          description: |-
            count of number of concurrent users
          format: int64
          readOnly: true
          title: |-
            count of number of concurrent users
          type: integer
        core_usage_count:
          description: |-
            Number of CPU cores used by this feature
          format: int64
          readOnly: true
          title: |-
            Number of CPU cores used by this feature
          type: integer
        cpu_usage_count:
          description: |-
            count of number of cpu sockets used by this feature
          format: int64
          readOnly: true
          title: |-
            count of number of cpu sockets used by this feature
          type: integer
        feature:
          description: |-
            name of the feature
          readOnly: true
          title: |-
            name of the feature
          type: string
        vcpu_usage_count:
          description: |-
            count of number of vcpus of public cloud VMs
          format: int64
          readOnly: true
          title: |-
            count of number of vcpus of public cloud VMs
          type: integer
        vm_usage_count:
          description: |-
            count of number of vms used by this feature
          format: int64
          readOnly: true
          title: |-
            count of number of vms used by this feature
          type: integer
      type: object
      x-vmw-nsx-module: License
    x-vmw-nsx-module: License
  FeatureUsageList:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        feature_usage_info:
          description: |-
            Feature Usage List
          items:
            $ref: '#/definitions/FeatureUsage'
          readOnly: true
          title: |-
            Feature Usage List
          type: array
      type: object
      x-vmw-nsx-module: License
    description: |-
      list of feature usage items
    x-vmw-nsx-module: License
  FeatureUsageListInCsvFormat:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |
            Timestamp when the data was last updated; unset if data source has
            never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/FeatureUsageCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: License
    x-vmw-nsx-module: License
  FieldsFilterData:
    allOf:
    - $ref: '#/definitions/LiveTraceFilterData'
    - properties:
        ip_info:
          $ref: '#/definitions/IpInfo'
          description: |-
            IP address information
          title: |-
            IP address information
        transport_info:
          $ref: '#/definitions/TransportInfo'
          description: |-
            Transport layer information
          title: |-
            Transport layer information
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  FieldsPacketData:
    allOf:
    - $ref: '#/definitions/PacketData'
    - properties:
        arp_header:
          $ref: '#/definitions/ArpHeader'
          description: |-
            The ARP header
          title: |-
            The ARP header
        eth_header:
          $ref: '#/definitions/EthernetHeader'
          description: |-
            The ethernet header
          title: |-
            The ethernet header
        ip_header:
          $ref: '#/definitions/Ipv4Header'
          description: |-
            The IPv4 header
          title: |-
            The IPv4 header
        ipv6_header:
          $ref: '#/definitions/Ipv6Header'
          description: |-
            The IPv6 header
          title: |-
            The IPv6 header
        payload:
          description: |-
            Up to 1000 bytes of payload may be supplied (with a base64-encoded length of 1336 bytes.) Additional bytes of traceflow metadata will be appended to the payload. The payload contains any data the user wants to put after the transport header.
          maxLength: 1336
          title: |-
            RFC3548 compatible base64-encoded payload
          type: string
        transport_header:
          $ref: '#/definitions/TransportProtocolHeader'
          description: |-
            This field contains a protocol that is above IP. It is not restricted to the 'transport' defined by the OSI model (e.g., ICMP is supported).
          title: |-
            The transport header
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  FileProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        created_epoch_ms:
          description: |-
            File creation time in epoch milliseconds
          format: int64
          title: |-
            File creation time in epoch milliseconds
          type: integer
        modified_epoch_ms:
          description: |-
            File modification time in epoch milliseconds
          format: int64
          title: |-
            File modification time in epoch milliseconds
          type: integer
        name:
          description: |-
            File name
          title: |-
            File name
          type: string
        size:
          description: |-
            Size of the file in bytes
          format: int64
          title: |-
            Size of the file in bytes
          type: integer
      required:
      - created_epoch_ms
      - modified_epoch_ms
      - name
      - size
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      File properties
    title: |-
      File properties
    x-vmw-nsx-module: MISSING_MODULE
  FilePropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            File property results
          items:
            $ref: '#/definitions/FileProperties'
          title: |-
            File property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      File properties query results
    title: |-
      File properties query results
    x-vmw-nsx-module: MISSING_MODULE
  FileThumbprint:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        name:
          description: |-
            File name
          title: |-
            File name
          type: string
        sha1:
          description: |-
            File's SHA1 thumbprint
          title: |-
            File's SHA1 thumbprint
          type: string
        sha256:
          description: |-
            File's SHA256 thumbprint
          title: |-
            File's SHA256 thumbprint
          type: string
      required:
      - sha256
      - name
      - sha1
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      File thumbprint
    title: |-
      File thumbprint
    x-vmw-nsx-module: MISSING_MODULE
  FileTransferAuthenticationScheme:
    description: |-
      Remote server authentication details
    properties:
      password:
        description: |-
          Password to authenticate with
        title: |-
          Password to authenticate with
        type: string
      scheme_name:
        description: |-
          Authentication scheme name
        enum:
        - PASSWORD
        title: |-
          Authentication scheme name
        type: string
      username:
        description: |-
          User name to authenticate with
        title: |-
          User name to authenticate with
        type: string
    required:
    - username
    - scheme_name
    title: |-
      Remote server authentication details
    type: object
    x-vmw-nsx-module: BackupConfiguration
  FileTransferProtocol:
    description: |-
      Protocol to transfer backup file to remote server
    properties:
      authentication_scheme:
        $ref: '#/definitions/FileTransferAuthenticationScheme'
        description: |-
          Scheme to authenticate if required
        title: |-
          Scheme to authenticate if required
      protocol_name:
        default: sftp
        description: |-
          Protocol name
        enum:
        - sftp
        title: |-
          Protocol name
        type: string
      ssh_fingerprint:
        description: |
          The expected SSH fingerprint of the server. If the server's fingerprint
          does not match this fingerprint, the connection will be terminated.

          Only ECDSA fingerprints hashed with SHA256 are supported. To obtain the
          host's ssh fingerprint, you should connect via some method other than
          SSH to obtain this information. You can use one of these commands to
          view the key's fingerprint:
          1. ssh-keygen -l -E sha256 -f ssh_host_ecdsa_key.pub
          2. awk '{print $2}' ssh_host_ecdsa_key.pub | base64 -d | sha256sum -b |
             sed 's/ .*$//' | xxd -r -p | base64 | sed 's/.//44g' |
             awk '{print "SHA256:"$1}'
        title: |-
          SSH fingerprint of server
        type: string
    required:
    - protocol_name
    - ssh_fingerprint
    - authentication_scheme
    title: |-
      Protocol to transfer backup file to remote server
    type: object
    x-vmw-nsx-module: BackupConfiguration
  Filter:
    properties:
      name:
        description: |-
          The name of the filter.
        title: |-
          The name of the filter.
        type: string
      value:
        description: |-
          The value of the filter.
        title: |-
          The value of the filter.
        type: string
    required:
    - name
    - value
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  FilterRequest:
    description: |-
      Filter request parameters
    properties:
      field_names:
        description: |-
          Comma seperated fields to be filtered on
        title: |-
          Field Names
        type: string
      value:
        description: |-
          Filter value
        title: |-
          Value
        type: string
    required:
    - field_names
    - value
    title: |-
      Filter request
    type: object
    x-vmw-nsx-module: Search
  FilterWidgetConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        alias:
          description: |-
            Alias to be used when emitting filter value.
          title: |-
            Alias to be used when emitting filter value
          type: string
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration for filter widget. This is abstract representation of filter widget.
    title: |-
      Filter widget Configuration
    x-vmw-nsx-module: NsxDashboard
  FipsGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        lb_fips_enabled:
          default: false
          description: |-
            When this flag is set to true FIPS mode will be set on ssl encryptions of load balancer feature.
          title: |-
            A flag to turn on or turn off the FIPS compliance of load balancer feature.
          type: boolean
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      Policy api will overwrite the fipsGlobalConfig set using MP api. Always use https://<policyIp>/policy/api/v1/infra/global-config to update fips configuration.
    title: |-
      NSX global configs for FIPS compliance settings
    x-vmw-nsx-module: GlobalConfigs
  FireWallServiceAssociationListResult:
    allOf:
    - $ref: '#/definitions/ServiceAssociationListResult'
    - properties:
        results:
          description: |-
            Firewall rule list result with pagination support.
          items:
            $ref: '#/definitions/FirewallRule'
          readOnly: true
          title: |-
            Firewall rule list result
          type: array
      type: object
      x-vmw-nsx-module: GroupingObjectsProviders
    x-vmw-nsx-module: GroupingObjectsProviders
  FirewallCpuMemThresholdsProfile:
    allOf:
    - $ref: '#/definitions/BaseFirewallProfile'
    - properties:
        cpu_threshold_percentage:
          default: 90
          description: |-
            CPU utilization threshold percentage to monitor and report for distributed firewall.
          format: int64
          maximum: 100
          minimum: 10
          readOnly: false
          title: |-
            CPU utilization threshold percentage
          type: integer
        mem_threshold_percentage:
          default: 90
          description: |-
            Heap memory threshold percentage to monitor and report for distributed firewall.
          format: int64
          maximum: 100
          minimum: 10
          readOnly: false
          title: |-
            Heap memory threshold utilization percentage
          type: integer
      required:
      - mem_threshold_percentage
      - cpu_threshold_percentage
      type: object
      x-vmw-nsx-module: FirewallProfile
    description: |-
      A profile holding CPU and memory threshold configuration.
    title: |-
      Firewall CPU and memory threshold profile
    x-vmw-nsx-module: FirewallProfile
  FirewallDnsProfile:
    allOf:
    - $ref: '#/definitions/BaseFirewallProfile'
    - properties:
        dns_ttl_config:
          $ref: '#/definitions/DnsTtlConfig'
          description: |-
            Firewall to use TTL config to manage firewall cache to expire snooped FQDN entries from DNS response.
          title: |-
            DNS TTL config
      type: object
      x-vmw-nsx-module: FirewallProfile
    description: |-
      A profile holding DNS configuration which allows firewall to use DNS response packets and manage firewall cache. e.g. TTL used to expire snooped entries from cache.
    title: |-
      Firewall DNS profile
    x-vmw-nsx-module: FirewallProfile
  FirewallFloodProtectionProfile:
    allOf:
    - $ref: '#/definitions/BaseFirewallProfile'
    - properties:
        enable_rst_spoofing:
          default: false
          description: |-
            The flag to indicate RST spoofing is enabled or not. This option does not apply to EDGE components. This can be enabled only if syncache is enabled.
          readOnly: false
          title: |-
            Flag to indicate RST spoofing is enabled or not
          type: boolean
        enable_syncache:
          default: false
          description: |-
            The flag to indicate syncache is enabled or not. This option does not apply to EDGE components.
          readOnly: false
          title: |-
            Flag to indicate syncache is enabled or not
          type: boolean
        icmp_active_flow_limit:
          description: |-
            The maximum limit of active icmp connections. If this property is omitted, or set to null, then there is no limit on active icmp connections for those components if it's applied to ESX components (such as segment, segment port, virtual machine, etc); on the other side, if it's applied to EDGE components (such as, gateway), it will be set to default limit (10,000) on the specific components.
          format: int64
          maximum: 1000000
          minimum: 1
          readOnly: false
          title: |-
            Maximum limit of active icmp connections
          type: integer
        nat_active_conn_limit:
          default: 4294967295
          description: |-
            The maximum limit of active NAT connections. This limit only apply to EDGE components (such as, gateway). If this property is omitted, or set to null, then there is no limit on the specific component. Meanwhile there is an implicit limit which depends on the underlying hardware resource.
          format: int64
          maximum: 4294967295
          minimum: 1
          readOnly: false
          title: |-
            Maximum limit of active NAT connections
          type: integer
        other_active_conn_limit:
          description: |-
            The maximum limit of other active connections besides udp, icmp and half open tcp connections. If this property is omitted, or set to null, then there is no limit on other active connections besides udp, icmp and tcp half open connections for those components if it's applied to ESX components (such as segment, segment port, virtual machine, etc); on the other side, if it's applied to EDGE components (such as, gateway), it will be set to default limit (10,000) on the specific components.
          format: int64
          maximum: 1000000
          minimum: 1
          readOnly: false
          title: |-
            Maximum limit of other active connections besides udp, icmp and tcp half open connections
          type: integer
        tcp_half_open_conn_limit:
          description: |-
            The maximum limit of tcp half open connections. If this property is omitted, or set to null, then there is no limit on active tcp half open connections for those components if it's applied to ESX components (such as segment, segment port, virtual machine, etc); on the other side, if it's applied to EDGE components (such as, gateway), it will be set to default limit (1,000,000) on the specific components.
          format: int64
          maximum: 1000000
          minimum: 1
          readOnly: false
          title: |-
            Maximum limit of half open tcp connections
          type: integer
        udp_active_flow_limit:
          description: |-
            The maximum limit of active udp connections. If this property is omitted, or set to null, then there is no limit on active udp connections for those components if it's applied to ESX components (such as segment, segment port, virtual machine, etc); on the other side, if it's applied to EDGE components (such as, gateway), it will be set to default limit (100,000) on the specific component.
          format: int64
          maximum: 1000000
          minimum: 1
          readOnly: false
          title: |-
            Maximum limit of active udp connections
          type: integer
      type: object
      x-vmw-nsx-module: FirewallProfile
    description: |-
      A profile holding protection configuration for SYN flood, UDP flood, ICMP flood and other flood attack.
    title: |-
      Firewall flood protection profile
    x-vmw-nsx-module: FirewallProfile
  FirewallGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        global_addrset_mode_enabled:
          default: true
          description: |-
            When this flag is set to true, global address set is enabled in Distributed Firewall.
          title: |-
            A flag to indicate if global address set is enabled in DFW
          type: boolean
        global_fastpath_mode_enabled:
          default: true
          description: |-
            This property is deprecated. The fast path mode is always enabled in Distributed Firewall.
          title: |-
            A flag to indicate if fast path searching is enabled in DFW
          type: boolean
          x-deprecated: true
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for Distributed Firewall
    title: |-
      NSX global configs for Distributed Firewall
    x-vmw-nsx-module: GlobalConfigs
  FirewallProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of firewall profiles.
          items:
            $ref: '#/definitions/BaseFirewallProfile'
          readOnly: true
          title: |-
            List of the firewall profiles
          type: array
      type: object
      x-vmw-nsx-module: FirewallProfile
    x-vmw-nsx-module: FirewallProfile
  FirewallRule:
    allOf:
    - $ref: '#/definitions/DSRule'
    - properties:
        context_profiles:
          description: |-
            NS Profile object which accepts attributes and sub-attributes of various network services (ex. L7 AppId, domain name, encryption algorithm) as key value pairs.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          title: |-
            Context Profiles
          type: array
        extended_sources:
          description: |-
            List of NSGroups that have end point attributes like AD Groups(SID), process name, process hash etc. For Flash release, only NSGroups containing AD Groups are supported.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          title: |-
            Extended Sources
          type: array
        section_id:
          description: |-
            Section Id of the section to which this rule belongs to.
          readOnly: true
          title: |-
            Section Id
          type: string
        services:
          description: |-
            List of the services. Null will be treated as any.
          items:
            $ref: '#/definitions/FirewallService'
          maxItems: 128
          readOnly: false
          title: |-
            Service List
          type: array
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallRuleList:
    properties:
      rules:
        description: |-
          List of firewall rules in the section. Only homogenous rules are supported.
        items:
          $ref: '#/definitions/FirewallRule'
        maxItems: 1000
        title: |-
          List of the firewall rules
        type: array
    required:
    - rules
    type: object
    x-vmw-nsx-module: Firewall
  FirewallRuleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Firewall rule list result with pagination support.
          items:
            $ref: '#/definitions/FirewallRule'
          readOnly: true
          title: |-
            Firewall rule list result
          type: array
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSection:
    allOf:
    - $ref: '#/definitions/DSSection'
    - properties:
        autoplumbed:
          default: false
          description: |-
            This flag indicates whether it is an auto-plumbed section that is associated to a LogicalRouter. Auto-plumbed sections are system owned and cannot be updated via the API.
          readOnly: true
          title: |-
            Tells if a section is auto-plumbed or not
          type: boolean
        category:
          description: |-
            Category from policy framework.
          readOnly: true
          title: |-
            Section category
          type: string
        comments:
          description: |-
            Comments for section lock/unlock.
          readOnly: true
          title: |-
            Section lock/unlock comments
          type: string
        enforced_on:
          description: |-
            This attribute represents enforcement point of firewall section. For example, firewall section enforced on logical port with attachment type bridge endpoint will have 'BRIDGEENDPOINT' value, firewall section enforced on logical router will have 'LOGICALROUTER' value and rest have 'VIF' value.
          readOnly: true
          title: |-
            Firewall Section Enforcement type
          type: string
        firewall_schedule:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference of the firewall schedule during which this section will be valid.
          title: |-
            Firewall Schedule Reference
        lock_modified_by:
          description: |-
            ID of the user who last modified the lock for the section.
          readOnly: true
          title: |-
            Lock modified by user
          type: string
        lock_modified_time:
          description: |-
            Section locked/unlocked time in epoch milliseconds.
          format: int64
          readOnly: true
          type: integer
        locked:
          default: false
          description: |-
            Section is locked/unlocked.
          readOnly: true
          title: |-
            Section Locked
          type: boolean
        priority:
          description: |-
            Priority of current section with respect to other sections. In case the field is empty, the list section api should be used to get section priority.
          format: int64
          readOnly: true
          title: |-
            Section priority
          type: integer
        tcp_strict:
          default: false
          description: |-
            If TCP strict is enabled on a section and a packet matches rule in it, the following check will be performed. If the packet does not belong to an existing session, the kernel will check to see if the SYN flag of the packet is set. If it is not, then it will drop the packet.
          title: |-
            TCP Strict
          type: boolean
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSectionListResult:
    allOf:
    - $ref: '#/definitions/DSSectionListResult'
    - properties:
        results:
          description: |-
            List of the firewall sections. The list has to be homogenous.
          items:
            $ref: '#/definitions/FirewallSection'
          readOnly: true
          title: |-
            Section list
          type: array
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSectionLock:
    properties:
      comments:
        description: |-
          Comments for section lock/unlock.
        maxLength: 4096
        minLength: 4
        readOnly: false
        title: |-
          Comments
        type: string
      section_revision:
        description: |-
          Revision of the section.
        format: int64
        readOnly: false
        title: |-
          Section revision
        type: integer
    required:
    - comments
    - section_revision
    type: object
    x-vmw-nsx-module: Firewall
  FirewallSectionRuleList:
    allOf:
    - $ref: '#/definitions/FirewallSection'
    - properties:
        rules:
          description: |-
            List of firewall rules in the section. Only homogenous rules are supported.
          items:
            $ref: '#/definitions/FirewallRule'
          maxItems: 1000
          readOnly: false
          title: |-
            List of the firewall rules
          type: array
      required:
      - rules
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSectionState:
    allOf:
    - $ref: '#/definitions/DSSectionState'
    - properties:
        pending_change_list:
          description: |-
            Pending changes to be realized.
          items:
            $ref: '#/definitions/PendingChange'
          maxItems: 100
          title: |-
            List of pending changes
          type: array
      required:
      - pending_change_list
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSectionsSummary:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        rule_count:
          description: |-
            Total number of rules in the section.
          format: int64
          readOnly: true
          title: |-
            Rule count
          type: integer
        section_count:
          description: |-
            Total number of sections for the section type.
          format: int64
          readOnly: true
          title: |-
            Section count
          type: integer
        section_type:
          description: |-
            Type of rules which a section can contain.
          enum:
          - L2DFW
          - L3DFW
          - L3BRIDGEPORTFW
          - L3LOGICALROUTERFW
          readOnly: true
          type: string
      type: object
      x-vmw-nsx-module: FirewallSummary
    x-vmw-nsx-module: FirewallSummary
  FirewallSectionsSummaryList:
    properties:
      last_compute_time:
        description: |-
          Timestamp of the last computation, in epoch milliseconds.
        format: int64
        readOnly: true
        type: integer
      sections_summary:
        description: |-
          List of firewall sections summary.
        items:
          $ref: '#/definitions/FirewallSectionsSummary'
        readOnly: true
        title: |-
          List of the firewall sections summary
        type: array
    type: object
    x-vmw-nsx-module: FirewallSummary
  FirewallService:
    allOf:
    - $ref: '#/definitions/DSService'
    - type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  FirewallSessionTimerProfile:
    allOf:
    - $ref: '#/definitions/BaseFirewallProfile'
    - properties:
        icmp_error_reply:
          default: 10
          description: |-
            The timeout value for the connection after an ICMP error came back in response to an ICMP packet. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Timeout after ICMP error
          type: integer
        icmp_first_packet:
          default: 20
          description: |-
            The timeout value of connection in seconds after the first packet. This will be the initial timeout for the new ICMP flow. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            First packet connection timeout
          type: integer
        tcp_closed:
          default: 20
          description: |-
            The timeout value of connection in seconds after one endpoint sends an RST. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Timeout after RST
          type: integer
        tcp_closing:
          default: 120
          description: |-
            The timeout value of connection in seconds after the first FIN has been sent. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Timeout after first TN
          type: integer
        tcp_established:
          default: 43200
          description: |-
            The timeout value of connection in seconds once the connection has become fully established. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 120
          readOnly: false
          title: |-
            Connection timeout
          type: integer
        tcp_finwait:
          default: 45
          description: |-
            The timeout value of connection in seconds after both FINs have been exchanged and connection is closed. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Timeout after FINs exchanged
          type: integer
        tcp_first_packet:
          default: 120
          description: |-
            The timeout value of connection in seconds after the first packet has been sent. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Connection timout after first packet
          type: integer
        tcp_opening:
          default: 30
          description: |-
            The timeout value of connection in seconds after a second packet has been transferred. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Connection timout after second packet
          type: integer
        udp_first_packet:
          default: 60
          description: |-
            The timeout value of connection in seconds after the first packet. This will be the initial timeout for the new UDP flow. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Connection timout after first packet
          type: integer
        udp_multiple:
          default: 60
          description: |-
            The timeout value of connection in seconds if both hosts have sent packets. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Timeout after hosts sent packet
          type: integer
        udp_single:
          default: 30
          description: |-
            The timeout value of connection in seconds if the source host sends more than one packet but the destination host has never sent one back. The default value for Edges (i.e, Gateway, or Logical Router) may be different than Distributed Firewall hosts.
          format: int64
          maximum: 4320000
          minimum: 10
          readOnly: false
          title: |-
            Connection timeout for destination
          type: integer
      required:
      - tcp_closed
      - tcp_opening
      - udp_single
      - tcp_finwait
      - tcp_first_packet
      - tcp_closing
      - tcp_established
      - udp_multiple
      - icmp_error_reply
      - udp_first_packet
      - icmp_first_packet
      type: object
      x-vmw-nsx-module: FirewallProfile
    description: |-
      A profile holding TCP, UDP and ICMP session timeout configuration.
    title: |-
      Firewall Session timeout profile
    x-vmw-nsx-module: FirewallProfile
  FirewallStats:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        byte_count:
          description: |-
            Aggregated number of bytes processed by the rule.
          format: int64
          readOnly: true
          title: |-
            Bytes count
          type: integer
        hit_count:
          description: |-
            Aggregated number of hits received by the rule.
          format: int64
          readOnly: true
          title: |-
            Hits count
          type: integer
        max_popularity_index:
          description: |-
            Maximum value of popularity index of all firewall rules of the type. This is aggregated statistic which are computed with lower frequency compared to individual generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.
          format: int64
          readOnly: true
          title: |-
            The maximum popularity index
          type: integer
        max_session_count:
          description: |-
            Maximum value of sessions count of all firewall rules of the type. This is aggregated statistic which are computed with lower frequency compared to generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.
          format: int64
          readOnly: true
          title: |-
            Maximum sessions count
          type: integer
        packet_count:
          description: |-
            Aggregated number of packets processed by the rule.
          format: int64
          readOnly: true
          title: |-
            Packets count
          type: integer
        popularity_index:
          description: |-
            This is calculated by sessions count divided by age of the rule.
          format: int64
          readOnly: true
          title: |-
            The index of the popularity of firewall rule
          type: integer
        rule_id:
          description: |-
            Rule Identifier of the Firewall rule. This is a globally unique number.
          readOnly: true
          title: |-
            Firewall rule Id
          type: string
        session_count:
          description: |-
            Aggregated number of sessions processed by the rule.
          format: int64
          readOnly: true
          title: |-
            Sessions count
          type: integer
        total_session_count:
          description: |-
            Aggregated number of sessions processed by the all firewall rules. This is aggregated statistic which are computed with lower frequency compared to individual generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.
          format: int64
          readOnly: true
          title: |-
            Total sessions count
          type: integer
      type: object
      x-vmw-nsx-module: FirewallStatsRule
    x-vmw-nsx-module: FirewallStatsRule
  FirewallStatsList:
    properties:
      result_count:
        description: |-
          Total count for firewall rule statistics in results set
        format: int64
        readOnly: true
        title: |-
          Firewall rules stats count
        type: integer
      results:
        description: |-
          List of rule statistics
        items:
          $ref: '#/definitions/FirewallStats'
        maxItems: 1000
        readOnly: true
        title: |-
          Firewall rules stats
        type: array
      section_id:
        description: |-
          Corresponding firewall section identifier for list of rule statistics
        readOnly: true
        title: |-
          Firewall section ID
        type: string
    type: object
    x-vmw-nsx-module: FirewallStatsRule
  FirewallStatus:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        context:
          description: |-
            Types of firewall contexts.
          enum:
          - transport_nodes
          - logical_routers
          - bridge_ports
          readOnly: false
          type: string
        global_status:
          description: |-
            Firewall status for a fabric entity or in global context where firewall is supported.
          enum:
          - DISABLED
          - ENABLED
          readOnly: false
          type: string
        target_statuses:
          description: |-
            List of firewall status on various target logical resources. This will override the global status of corresponding firewall context (e.g it will override the gloabal status of logical_routers).
          items:
            $ref: '#/definitions/TargetResourceStatus'
          readOnly: false
          title: |-
            List of target resource status
          type: array
      required:
      - global_status
      - context
      type: object
      x-vmw-nsx-module: FirewallStatus
    description: |-
      Firewall Status Response
    title: |-
      Firewall Status Response
    x-vmw-nsx-module: FirewallStatus
  FirewallStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          items:
            $ref: '#/definitions/FirewallStatus'
          readOnly: true
          type: array
      type: object
      x-vmw-nsx-module: FirewallStatus
    description: |-
      List of firewall statuses for a context or all context
    title: |-
      Firewall Statuses
    x-vmw-nsx-module: FirewallStatus
  FirstNSampling:
    allOf:
    - $ref: '#/definitions/SamplingArgument'
    - properties:
        match_number:
          description: |-
            Number of packets to be sampled
          format: int64
          maximum: 50
          minimum: 1
          title: |-
            Number of packets to be sampled
          type: integer
      required:
      - match_number
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  Footer:
    description: |-
      Footer of a widget that provides additional information or allows an action such as clickable url for navigation. An example usage of footer is provided under 'example_request' section of 'CreateWidgetConfiguration' API.
    properties:
      actions:
        description: |-
          Action to be performed at the footer of a widget. An action at the footer can be simple text description or a hyperlink to a UI page. Action allows a clickable url for navigation. An example usage of footer action is provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        items:
          $ref: '#/definitions/FooterAction'
        minItems: 0
        title: |-
          Footer Actions
        type: array
      condition:
        description: |-
          If the condition is met then the footer will be applied. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
    title: |-
      Widget Footer
    type: object
    x-vmw-nsx-module: NsxDashboard
  FooterAction:
    description: |-
      Action specified at the footer of a widget to provide additional information or to provide a clickable url for navigation. An example usage of footer action is provided under the 'example_request' section of 'CreateWidgetConfiguration' API.
    properties:
      dock_to_container_footer:
        default: true
        description: |-
          If true, the footer will appear in the underlying container that holds the widget.
        title: |-
          Dock the footer at container
        type: boolean
      label:
        $ref: '#/definitions/Label'
        description: |-
          Label to be displayed against the footer action.
        title: |-
          Label for action
      url:
        description: |-
          Hyperlink to the UI page that provides details of action.
        maxLength: 1024
        title: |-
          Clickable hyperlink, if any
        type: string
    required:
    - label
    title: |-
      Widget Footer Action
    type: object
    x-vmw-nsx-module: NsxDashboard
  ForwarderZone:
    properties:
      source_ip:
        description: |
          The source ip used by the fowarder of the zone. If no source ip
          specified, the ip address of listener of the DNS forwarder will
          be used.
        format: ipv4
        type: string
      upstream_servers:
        description: |
          Ip address of the upstream DNS servers the DNS forwarder accesses.
        items:
          description: |-
            IPv4 address
          format: ipv4
          type: string
        maxItems: 3
        minItems: 1
        title: |-
          Ips of upsteam DNS servers
        type: array
    required:
    - upstream_servers
    type: object
    x-vmw-nsx-module: DnsForwarder
  GeneralSecuritySettingsProfile:
    allOf:
    - $ref: '#/definitions/BaseFirewallProfile'
    - properties:
        enable_double_flow:
          default: false
          description: |-
            The flag to indicate double flow check is enabled or not. This option applies only to EDGE components.
          readOnly: false
          title: |-
            Flag to indicate double flow check is enabled or not
          type: boolean
      type: object
      x-vmw-nsx-module: FirewallProfile
    description: |-
      A profile holding general security settings.
    title: |-
      General security settings profile
    x-vmw-nsx-module: FirewallProfile
  GenericDhcpOption:
    description: |-
      Define DHCP options other than option 121.
    properties:
      code:
        description: |-
          Code of the dhcp option.
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          DHCP option code, [0-255]
        type: integer
      values:
        description: |-
          Value of the option.
        items:
          type: string
        maxItems: 10
        minItems: 1
        title: |-
          DHCP option value
        type: array
    required:
    - code
    - values
    title: |-
      Generic DHCP option
    type: object
    x-vmw-nsx-module: Dhcp
  GiServiceProfile:
    allOf:
    - $ref: '#/definitions/BaseServiceProfile'
    - properties:
        service_id:
          description: |-
            The service to which the service profile belongs.
          readOnly: true
          title: |-
            Service Id
          type: string
        vendor_template_id:
          description: |-
            ID of the vendor template, created by partner while registering the service.
          readOnly: false
          title: |-
            Vendor template Id
          type: string
        vendor_template_key:
          description: |-
            Different VMs in data center can have Different protection levels as specified by administrator in the policy. The identifier for the policy with which the partner appliance identifies this policy. This identifier will be passed to the partner appliance at runtime to specify which protection level is applicable for the VM being protected.
          readOnly: true
          title: |-
            Vendor template key
          type: string
      required:
      - vendor_template_id
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      GI Specific service profile
    title: |-
      GI sepcific Service Profile
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  GlobalCollectionConfiguration:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        aggregated_data_collection_frequency:
          description: |-
            The frequency in seconds at which data, which is subject to the aggregation function, is collected.
          format: int64
          maximum: 86400
          minimum: 60
          title: |-
            Aggregated Data Collection Frequency In Seconds
          type: integer
        is_data_collection_enabled:
          description: |-
            Indicates whether data collection required by the aggregation service is enabled.  If false, no aggregation service data will be collected.  Changing this property will not affect the existing data collection frequency settings.
          title: |-
            Is data collection enabled
          type: boolean
        modified_feature_stack_collection_configurations:
          $ref: '#/definitions/FeatureStackCollectionConfigurationList'
          description: |-
            The list of the locally modified feature stack data collection frequency settings.  If all feature stack data collection configurations are set to their default values, this list will be empty.
          readOnly: true
          title: |-
            Modified feature stack collection configurations
      required:
      - is_data_collection_enabled
      - aggregated_data_collection_frequency
      type: object
      x-vmw-nsx-module: AggSvcDataCollectionConfig
    x-vmw-nsx-module: AggSvcDataCollectionConfig
  GlobalConfigs:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |-
            Valid Global configuration types
          enum:
          - SwitchingGlobalConfig
          - RoutingGlobalConfig
          - OperationCollectorGlobalConfig
          - FirewallGlobalConfig
          - EsxGlobalOpaqueConfig
          - SecurityGlobalConfig
          - FipsGlobalConfig
          - FederationGlobalConfig
          - IdsGlobalConfig
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |
      The GlobalConfigs is the base class for global configurations for
      different types in a NSX domain.
    title: |-
      Abstract base type for Global configurations of different types
    x-vmw-nsx-module: GlobalConfigs
  GlobalConfigsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Domain specific global configuration.
          items:
            $ref: '#/definitions/GlobalConfigs'
          title: |-
            Domain specific global configuration.
          type: array
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      A list of global configurations grouped by their types
    title: |-
      Global configurations query result
    x-vmw-nsx-module: GlobalConfigs
  GlobalRestoreStatus:
    description: |-
      Overall restore process status
    properties:
      description:
        description: |-
          A description of the restore status
        readOnly: true
        title: |-
          A description of the restore status
        type: string
      value:
        description: |-
          Global rolled-up restore status value
        enum:
        - INITIAL
        - SUCCESS
        - FAILED
        - RUNNING
        - SUSPENDED_BY_USER
        - SUSPENDED_FOR_USER_ACTION
        - SUSPENDED
        - ABORTED
        readOnly: true
        title: |-
          Global rolled-up restore status value
        type: string
    title: |-
      Overall restore process status
    type: object
    x-vmw-nsx-module: ClusterRestore
  GracefulRestartConfig:
    description: |-
      BGP Graceful Restart configuration parameters
    properties:
      graceful_restart_mode:
        default: HELPER_ONLY
        description: |-
          BGP Graceful Restart mode
        enum:
        - DISABLE
        - HELPER_ONLY
        - GR_AND_HELPER
        type: string
      graceful_restart_timer:
        $ref: '#/definitions/GracefulRestartTimer'
        description: |-
          Graceful Restart timers configuration
        title: |-
          Graceful Restart Timer
    title: |-
      BGP Graceful Restart Configuration
    type: object
    x-vmw-nsx-module: Routing
  GracefulRestartTimer:
    description: |-
      BGP Graceful Restart timers configuration
    properties:
      restart_timer:
        default: 180
        description: |
          Maximum time BGP speaker will take for the BGP session to be
          re-established after a restart. Ranges from 1 sec to 3600 sec.
          This can be used to speed up routing convergence by its peer in
          case that the BGP speaker does not come back after a restart.
          If the session does not get re-established within the "Restart Time"
          that the Restarting Speaker advertised previously, the Receiving
          Speaker will delete all the stale routes from that peer.
        format: int64
        maximum: 3600
        minimum: 1
        title: |-
          Restart Timer
        type: integer
      stale_timer:
        default: 600
        description: |
          Maximum time before stale routes are removed from the RIB when the
          local BGP process restarts. Ranges from 1 sec to 3600 sec.
        format: int64
        maximum: 3600
        minimum: 1
        title: |-
          Stale Timer
        type: integer
    title: |-
      BGP Graceful Restart Timer
    type: object
    x-vmw-nsx-module: Routing
  GraphConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        axes:
          $ref: '#/definitions/Axes'
          description: |-
            Axes of a graph
          title: |-
            Axes of a graph
        display_x_value:
          default: false
          description: |-
            If true, value of a point is shown as label on X axis. If false, value of point is not shown as label on X axis. false can be useful in situations where there are too many points and showing the X value as label can clutter the X axis.
          title: |-
            Show or hide the value of a point on X axis
          type: boolean
        graphs:
          description: |-
            Graphs
          items:
            $ref: '#/definitions/GraphDefinition'
          minItems: 1
          title: |-
            Graphs
          type: array
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          title: |-
            Navigation to a specified UI page
          type: string
        sub_type:
          default: BAR_GRAPH
          description: |-
            Describes the the type of graph. LINE_GRAPH shows a line graph chart BAR_GRAPH shows a simple bar graph chart STACKED_BAR_GRAPH shows a stacked bar graph chart
          enum:
          - LINE_GRAPH
          - BAR_GRAPH
          - STACKED_BAR_GRAPH
          title: |-
            Subtype of a graph
          type: string
        x_value_type:
          default: string
          description: |-
            x value type.
          enum:
          - string
          - number
          - date
          title: |-
            x value type
          type: string
      required:
      - graphs
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration of a graph widget
    title: |-
      Graph Configuration
    x-vmw-nsx-module: NsxDashboard
  GraphDefinition:
    description: |-
      Defines a graph
    properties:
      id:
        description: |-
          Identifier of graph. It can be used to differentiate multiple graph series present in GraphWidgetConfiguration.
        title: |-
          Identifier of graph
        type: string
      label:
        $ref: '#/definitions/Label'
        description: |-
          Describes the graph. It labels the entities of graph. If the label is not provided then it is not shown for a graph. For example, for a single graph, the title of widget can describe the graph and a label may not be necessary to be shown.
        title: |-
          Label of a graph
      point_definition:
        $ref: '#/definitions/PointDefinition'
        description: |-
          Defines the points of a graph.
        title: |-
          Definition for points of a graph
      render_configuration:
        description: |-
          Additional rendering or conditional evaluation of the field values to be performed, if any.
        items:
          $ref: '#/definitions/RenderConfiguration'
        minItems: 0
        title: |-
          Render Configuration
        type: array
    required:
    - point_definition
    title: |-
      Definition of a graph
    type: object
    x-vmw-nsx-module: NsxDashboard
  GridConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        columns:
          description: |-
            Array of columns of a Grid widget
          items:
            $ref: '#/definitions/ColumnItem'
          title: |-
            Columns
          type: array
        page_size:
          default: 30
          description: |-
            Number of records per page. page_size will be effective only when the urls provided in the datasource support paging.
          format: int32
          title: |-
            Page Size
          type: integer
        row_list_fields:
          description: |-
            Rows of grid or table are formed from the list of objects returned by a row list field.
          items:
            $ref: '#/definitions/RowListField'
          minItems: 1
          title: |-
            List of fields from which rows are formed
          type: array
      required:
      - row_list_fields
      - columns
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration of a Grid or Table widget.
    title: |-
      Grid Configuration
    x-vmw-nsx-module: NsxDashboard
  GroupedMigrationFeedbackRequest:
    description: |-
      Detailed feedback requests from the migration tool where user input is required.
    properties:
      accepted_actions:
        description: |-
          List of acceptable actions for this feedback request.
        items:
          type: string
        readOnly: true
        title: |-
          Acceptable actions for this feedback request
        type: array
      accepted_value_type:
        description: |-
          Data type of the items listed in acceptable values list.
        readOnly: true
        title: |-
          Data type of the items listed in acceptable values
        type: string
      accepted_values:
        description: |-
          List of acceptable values for this feedback request.
        items:
          type: string
        title: |-
          Acceptable values for this feedback request
        type: array
      hash:
        description: |-
          Identify a feedback request type across objects. This can be used to group together objects with similar feedback request and resolve them in one go.
        readOnly: true
        title: |-
          Identifier for a feedback request type
        type: string
      message:
        description: |-
          Detailed feedback request with options.
        readOnly: true
        title: |-
          Content of feedback request
        type: string
      multi_value:
        description: |-
          Indicates if multiple values can be selected as response from the list of acceptable value.
        readOnly: true
        title: |-
          Indicates if multiple values can be selected as response
        type: boolean
      objects:
        description: |-
          Collection of feedback requests of a given type
        items:
          $ref: '#/definitions/SummaryMigrationFeedbackRequest'
        readOnly: false
        title: |-
          Collection of feedback requests of a given type
        type: array
      resolved:
        description: |-
          Indicates if a valid response already exist for all feedback requests in this group.
        readOnly: true
        title: |-
          Indicates if all feedback requests in this group are resolved
        type: boolean
      sub_vertical:
        description: |-
          Functional sub-area that this query falls into.
        readOnly: true
        title: |-
          Functional sub-area for the feedback query
        type: string
      suggested_action:
        description: |-
          The suggested action to resolve this feedback request.
        readOnly: true
        title: |-
          Suggested action for this feedback request
        type: string
      suggested_value:
        description: |-
          The suggested value to resolve this feedback request.
        readOnly: true
        title: |-
          Suggested value for this feedback request
        type: string
      vertical:
        description: |-
          Functional area that this query falls into.
        readOnly: true
        title: |-
          Functional area for the feedback query
        type: string
    required:
    - objects
    title: |-
      Grouped Feedback detail required for Migration
    type: object
    x-vmw-nsx-module: Migration
  GroupedMigrationFeedbackRequestListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of groups of feedback requests
          items:
            $ref: '#/definitions/GroupedMigrationFeedbackRequest'
          readOnly: false
          title: |-
            Paged Collection of groups of feedback requests
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    description: |-
      Groups of detailed feedback requests from the migration tool where user input is required.
    title: |-
      groups of feedback required for Migration
    x-vmw-nsx-module: Migration
  GuestInfo:
    description: |
      Guest virtual machine details include OS name and computer name of guest VM.
    properties:
      computer_name:
        description: |
          Computer name of guest virtual machine, which is set inside guest OS.
          Currently this is supported for guests on ESXi that have VMware Tools installed.
        readOnly: true
        title: |-
          Computer name
        type: string
      os_name:
        description: |
          OS name of guest virtual machine. Currently this is supported for guests
          on ESXi that have VMware Tools installed.
        readOnly: true
        title: |-
          OS name
        type: string
    title: |-
      Guest virtual machine details
    type: object
    x-vmw-nsx-module: Inventory
  HaVipConfig:
    properties:
      enabled:
        default: true
        description: |-
          Flag to enable this ha vip config.
        title: |-
          Flag to enable this ha vip config.
        type: boolean
      ha_vip_subnets:
        description: |-
          Array of IP address subnets which will be used as floating IP addresses. | Note - this configuration is applicable only for Active-Standby LogicalRouter. | For Active-Active LogicalRouter this configuration will be rejected.
        items:
          $ref: '#/definitions/VIPSubnet'
        maxItems: 2
        minItems: 1
        title: |-
          Floating IP address subnets
        type: array
      redundant_uplink_port_ids:
        description: |-
          Identifiers of logical router uplink ports which are to be paired to provide | redundancy. Floating IP will be owned by one of these uplink ports (depending upon | which node is Active).
        items:
          type: string
        maxItems: 2
        minItems: 2
        title: |-
          Identifiers of uplink ports for providing redundancy
        type: array
    required:
    - ha_vip_subnets
    - redundant_uplink_port_ids
    type: object
    x-vmw-nsx-module: LogicalRouter
  Header:
    description: |-
      Header of a widget that provides additional information. This will be shown at the container level. It includes details as label value pairs.
    properties:
      condition:
        description: |-
          If the condition is met then the header will be applied. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
      content_alignment:
        default: RIGHT
        description: |-
          Alignment of header labels.
        enum:
        - LEFT
        - RIGHT
        title: |-
          alignment for labelvalue pair
        type: string
      sub_headers:
        description: |-
          An array of label-value properties.
        items:
          $ref: '#/definitions/PropertyItem'
        minItems: 0
        title: |-
          Rows
        type: array
    title: |-
      Widget Header
    type: object
    x-vmw-nsx-module: NsxDashboard
  HealthCheckResult:
    description: |-
      Result of health check.
    properties:
      results_per_transport_node:
        description: |
          List of health check results on specific transport node.
        items:
          $ref: '#/definitions/HealthCheckResultPerTransportNode'
        readOnly: true
        title: |-
          Health Check Results Per Transport Node
        type: array
      updated_time:
        description: |-
          Timestamp of check result updated.
        format: int64
        readOnly: true
        type: integer
      vlan_mtu_status:
        description: |
          Overall status of VLAN-MTU health check result.
        enum:
        - TRUNKED
        - UNTRUNKED
        - UNKNOWN
        readOnly: true
        type: string
    title: |-
      Health Check Result
    type: object
    x-vmw-nsx-module: HealthCheck
  HealthCheckResultOnHostSwitch:
    description: |
      Health check result on specific host switch of specific transport node.
    properties:
      host_switch_name:
        description: |-
          Name of the host switch.
        readOnly: true
        title: |-
          Host Switch Name
        type: string
      results_per_uplink:
        description: |
          List of health check results per uplink on current host switch of specific
          transport node.
        items:
          $ref: '#/definitions/HealthCheckResultPerUplink'
        readOnly: true
        title: |-
          Health Check Results Per uplink
        type: array
      updated_time:
        description: |-
          Timestamp of check result updated.
        format: int64
        readOnly: true
        type: integer
      vlan_mtu_status:
        description: |
          Status of VLAN-MTU health check result on host switch.
        enum:
        - TRUNKED
        - UNTRUNKED
        - UNKNOWN
        readOnly: true
        type: string
    title: |-
      Health Check Result On Host Switch
    type: object
    x-vmw-nsx-module: HealthCheck
  HealthCheckResultPerTransportNode:
    description: |
      Health check result on specific transport node
    properties:
      result_on_host_switch:
        $ref: '#/definitions/HealthCheckResultOnHostSwitch'
        readOnly: true
      transport_node_id:
        description: |-
          ID of the Transport Node.
        readOnly: true
        title: |-
          Transport Node ID
        type: string
    title: |-
      Health Check Result Per Transport Node
    type: object
    x-vmw-nsx-module: HealthCheck
  HealthCheckResultPerUplink:
    description: |
      Health check result for specific uplink.
    properties:
      mtu_disallowed:
        description: |
          List of VLAN ID ranges which are allowed by VLAN settings but may be
          disallowed by MTU settings.
        items:
          $ref: '#/definitions/HealthCheckVlanRange'
        readOnly: true
        title: |-
          MTU Disallowed
        type: array
      uplink_name:
        description: |-
          Name of the uplink.
        readOnly: true
        title: |-
          Uplink Name
        type: string
      vlan_and_mtu_allowed:
        description: |
          List of VLAN ID ranges which are allowed by VLAN and MTU settings.
        items:
          $ref: '#/definitions/HealthCheckVlanRange'
        readOnly: true
        title: |-
          VLAN and MTU Allowed
        type: array
      vlan_disallowed:
        description: |
          List of VLAN ID ranges which may be disallowed by VLAN settings.
        items:
          $ref: '#/definitions/HealthCheckVlanRange'
        readOnly: true
        title: |-
          VLAN Disallowed
        type: array
    title: |-
      Health Check Result Per Uplink
    type: object
    x-vmw-nsx-module: HealthCheck
  HealthCheckSpecVlans:
    description: |
      HealthCheckSpecVlan is used for specifying VLAN ID ranges for healthcheck.
    properties:
      vlan_ranges:
        description: |-
          VLAN ID ranges
        items:
          $ref: '#/definitions/HealthCheckVlanRange'
        minItems: 1
        title: |-
          VLAN ID ranges
        type: array
    required:
    - vlan_ranges
    title: |-
      VLAN Range Specification
    type: object
    x-vmw-nsx-module: HealthCheck
  HealthCheckVlanRange:
    description: |-
      VLAN ID range
    properties:
      end:
        description: |-
          Virtual Local Area Network Identifier
        format: int64
        type: integer
      start:
        description: |-
          Virtual Local Area Network Identifier
        format: int64
        type: integer
    required:
    - start
    - end
    title: |-
      VLAN ID range
    type: object
    x-vmw-nsx-module: HealthCheck
  HeatMapTransportNodesAggregateStatus:
    properties:
      degraded_count:
        description: |-
          Number of transport nodes that are degraded
        format: int32
        title: |-
          Number of transport nodes that are degraded
        type: integer
      down_count:
        description: |-
          Number of transport nodes that are down
        format: int32
        title: |-
          Number of transport nodes that are down
        type: integer
      unknown_count:
        description: |-
          Number of transport nodes with unknown status
        format: int32
        title: |-
          Number of transport nodes with unknown status
        type: integer
      up_count:
        description: |-
          Number of transport nodes that are up
        format: int32
        title: |-
          Number of transport nodes that are up
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  HeatMapTransportZoneStatus:
    properties:
      degraded_count:
        description: |-
          Number of transport nodes that are degraded
        format: int32
        title: |-
          Number of transport nodes that are degraded
        type: integer
      down_count:
        description: |-
          Number of transport nodes that are down
        format: int32
        title: |-
          Number of transport nodes that are down
        type: integer
      unknown_count:
        description: |-
          Number of transport nodes with unknown status
        format: int32
        title: |-
          Number of transport nodes with unknown status
        type: integer
      up_count:
        description: |-
          Number of transport nodes that are up
        format: int32
        title: |-
          Number of transport nodes that are up
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  HostInfraTrafficType:
    description: |
      The traffic_name specifies the infrastructure traffic type and it
      must be one of the following system-defined types:
      FAULT_TOLERANCE is traffic for failover and recovery.
      HBR is traffic for Host based replication.
      ISCSI is traffic for Internet Small Computer System Interface.
      MANAGEMENT is traffic for host management.
      NFS is traffic related to file transfer in network file system.
      VDP is traffic for vSphere data protection.
      VIRTUAL_MACHINE is traffic generated by virtual machines.
      VMOTION is traffic for computing resource migration.
      VSAN is traffic generated by virtual storage area network.
      The dynamic_res_pool_name provides a name for the resource pool.
      It can be any arbitrary string.
      Either traffic_name or dynamic_res_pool_name must be set.
      If both are specified or omitted, an error will be returned.
    properties:
      dynamic_res_pool_name:
        description: |-
          Dynamic resource pool traffic name
        title: |-
          Dynamic resource pool traffic name
        type: string
      traffic_name:
        description: |-
          Traffic types
        enum:
        - FAULT_TOLERANCE
        - HBR
        - ISCSI
        - MANAGEMENT
        - NFS
        - VDP
        - VIRTUAL_MACHINE
        - VMOTION
        - VSAN
        title: |-
          Traffic types
        type: string
    title: |-
      Enumerate all types of traffic
    type: object
    x-vmw-nsx-module: NiocProfile
  HostNode:
    allOf:
    - $ref: '#/definitions/Node'
    - properties:
        discovered_node_id:
          description: |-
            Id of discovered node which was converted to create this node
          readOnly: true
          title: |-
            Discovered node id
          type: string
        host_credential:
          $ref: '#/definitions/HostNodeLoginCredential'
          description: |
            Login credentials for the host. It is mandatory to provide
            credentials while adding host to MP to create transport node.
          title: |-
            Host login credentials
        maintenance_mode_state:
          description: |
            Indicates host node's maintenance mode state. The state is ENTERING
            when a task to put the host in maintenance-mode is in progress.
          enum:
          - 'OFF'
          - ENTERING
          - 'ON'
          readOnly: true
          title: |-
            Maintenance mode state
          type: string
        managed_by_server:
          description: |-
            The id of the vCenter server managing the ESXi type HostNode
          readOnly: true
          title: |-
            Id of vCenter server managing the HostNode
          type: string
        os_type:
          description: |-
            Hypervisor type, for example ESXi or RHEL KVM
          enum:
          - ESXI
          - RHELKVM
          - RHELSERVER
          - WINDOWSSERVER
          - RHELCONTAINER
          - UBUNTUKVM
          - UBUNTUSERVER
          - HYPERV
          - CENTOSKVM
          - CENTOSSERVER
          - CENTOSCONTAINER
          - SLESKVM
          - SLESSERVER
          - OELSERVER
          - RHELSMARTNIC
          - UBUNTUSMARTNIC
          title: |-
            Hypervisor OS type
          type: string
        os_version:
          description: |-
            Version of the hypervisor operating system
          title: |-
            Hypervisor OS version
          type: string
        windows_install_location:
          description: |-
            Specify an installation folder to install the NSX kernel modules for Windows Server. By default, it is C:\Program Files\VMware\NSX\.
          title: |-
            Install location of Windows Server on baremetal being managed by NSX
          type: string
      required:
      - os_type
      type: object
      x-vmw-nsx-module: FabricNode
    description: |-
      Host node
    title: |-
      Host node
    x-vmw-nsx-module: FabricNode
  HostNodeLoginCredential:
    description: |-
      The credentials to login into the host node
    properties:
      password:
        description: |-
          The authentication password of the host node
        title: |-
          The authentication password of the host node
        type: string
      thumbprint:
        description: |
          For ESXi hosts, the thumbprint of the ESXi management service.
          For KVM hosts, the SSH key fingerprint.
          If thumbprint is not provided then connection to host may not
          be established and API call will fail.
        title: |-
          ESXi thumbprint or SSH key fingerprint of the host node
        type: string
      username:
        description: |-
          The username of the account on the host node
        title: |-
          The username of the account on the host node
        type: string
    title: |-
      The credentials to login into the host node
    type: object
    x-vmw-nsx-module: FabricNode
  HostNodeStatus:
    description: |-
      Host Node Status
    properties:
      config_status:
        description: |-
          Gives details of state of desired configuration. This property is available only if Tranport Node exists for the host. Following are the supported values pending  - Transport Node configuration status is pending in_progress - Transport Node configuration status is in progress success - Transport Node configuration status is successful failed - Transport Node configuration status is failed partial_success - Transport Node configuration status is partial success orphaned - Transport Node configuration status is orphaned unknown - Transport Node configuration status is unknown error - Error occured during Transport Node configuration
        enum:
        - pending
        - in_progress
        - success
        - failed
        - partial_success
        - orphaned
        - unknown
        - error
        readOnly: true
        title: |-
          Configuration status of host node
        type: string
      deployment_status:
        description: |-
          This specifies the current nsx install status for host node. Following are the supported values INSTALL_IN_PROGRESS - NSX installation is in progress on the host INSTALL_FAILED - NSX installation failed on the host INSTALL_SUCCESSFUL - NSX installation successful on the host UNINSTALL_IN_PROGRESS - NSX uninstallation in progress on the host UNINSTALL_FAILED - NSX uninstallation failed on the host UNINSTALL_SUCCESSFUL - NSX uninstallation successful on the host UNINSTALL_SCHEDULED - NSX uninstallation is scheduled on the host UPGRADE_IN_PROGRESS - NSX upgrade is in progress on the host UPGRADE_FAILED - NSX upgrade failed on the host DEPLOYMENT_QUEUED - Deployment is queued on the DEPLOYMENT_IN_PROGRESS - Deployment is in progress DEPLOYMENT_FAILED - Deployment is failed DEPLOYMENT_SUCCESSFUL - Deployment is successful UNDEPLOYMENT_QUEUED - Undeployment is queued UNDEPLOYMENT_IN_PROGRESS - Undeployment is in progress UNDEPLOYMENT_FAILED - Undeployment failed UNDEPLOYMENT_SUCCESSFUL - Undeployment is successful UPGRADE_QUEUED - Upgrade is queued HOST_DISCONNECTED - Host is disconnected POWERED_OFF - Host is powered off
        enum:
        - INSTALL_IN_PROGRESS
        - INSTALL_FAILED
        - INSTALL_SUCCESSFUL
        - UNINSTALL_IN_PROGRESS
        - UNINSTALL_FAILED
        - UNINSTALL_SUCCESSFUL
        - UNINSTALL_SCHEDULED
        - UPGRADE_IN_PROGRESS
        - UPGRADE_FAILED
        - DEPLOYMENT_QUEUED
        - DEPLOYMENT_IN_PROGRESS
        - DEPLOYMENT_FAILED
        - DEPLOYMENT_SUCCESSFUL
        - UNDEPLOYMENT_QUEUED
        - UNDEPLOYMENT_IN_PROGRESS
        - UNDEPLOYMENT_FAILED
        - UNDEPLOYMENT_SUCCESSFUL
        - UPGRADE_QUEUED
        - HOST_DISCONNECTED
        - POWERED_OFF
        readOnly: true
        title: |-
          Deployment progress status of host node
        type: string
      node_id:
        description: |-
          Unique Id of the host node
        readOnly: true
        title: |-
          Unique Id of the host node
        type: string
    title: |-
      Host Node Status
    type: object
    x-vmw-nsx-module: ComputeCollectionDeployment
  HostNodeStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            HostNodeStatus Results
          items:
            $ref: '#/definitions/HostNodeStatus'
          readOnly: true
          title: |-
            HostNodeStatus Results
          type: array
      type: object
      x-vmw-nsx-module: ComputeCollectionDeployment
    description: |-
      HostNodeStatus queries result
    title: |-
      HostNodeStatus queries result
    x-vmw-nsx-module: ComputeCollectionDeployment
  HostSwitchInfo:
    description: |-
      Information of host switch participating in transport zone
    properties:
      host_switch_id:
        description: |-
          Unique ID of a host switch
        readOnly: true
        title: |-
          Unique ID of a host switch
        type: string
      host_switch_mode:
        description: |-
          Mode of host switch
        enum:
        - STANDARD
        - ENS
        - ENS_INTERRUPT
        readOnly: true
        title: |-
          Mode of host switch
        type: string
      host_switch_name:
        description: |-
          Name of a host switch
        readOnly: true
        title: |-
          Name of a host switch
        type: string
      host_switch_type:
        description: |-
          Type of a host switch
        enum:
        - NVDS
        - VDS
        readOnly: true
        title: |-
          Type of a host switch
        type: string
    title: |-
      Information of host switch participating in transport zone
    type: object
    x-vmw-nsx-module: TransportZone
  HostSwitchProfileTypeIdEntry:
    properties:
      key:
        description: |-
          Supported HostSwitch profiles.
        enum:
        - UplinkHostSwitchProfile
        - LldpHostSwitchProfile
        - NiocProfile
        - ExtraConfigHostSwitchProfile
        type: string
      value:
        description: |-
          key value
        readOnly: false
        type: string
    required:
    - value
    type: object
    x-vmw-nsx-module: BaseHostSwitchProfile
  HostSwitchProfilesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            HostSwitch Profile Results
          items:
            $ref: '#/definitions/BaseHostSwitchProfile'
          readOnly: true
          title: |-
            HostSwitch Profile Results
          type: array
      type: object
      x-vmw-nsx-module: BaseHostSwitchProfile
    description: |-
      HostSwitch Profile queries result
    title: |-
      HostSwitch Profile queries result
    x-vmw-nsx-module: BaseHostSwitchProfile
  HostSwitchSpec:
    description: |
      The HostSwitchSpec is the base class for standard and preconfigured
      host switch specifications.
    discriminator: resource_type
    properties:
      resource_type:
        enum:
        - StandardHostSwitchSpec
        - PreconfiguredHostSwitchSpec
        type: string
    required:
    - resource_type
    title: |-
      Abstract base type for transport node host switch specification
    type: object
    x-vmw-nsx-module: TransportNode
  HostSwitchState:
    description: |-
      Host Switch State
    properties:
      endpoints:
        description: |-
          List of virtual tunnel endpoints which are configured on this switch
        items:
          $ref: '#/definitions/Endpoint'
        readOnly: true
        title: |-
          List of virtual tunnel endpoints which are configured on this switch
        type: array
      host_switch_id:
        description: |-
          External ID of the HostSwitch
        readOnly: true
        title: |-
          External ID of the HostSwitch
        type: string
      host_switch_name:
        description: |-
          The name must be unique among all host switches specified in a given Transport Node.
        readOnly: true
        title: |-
          HostSwitch name. This name will be used to reference this HostSwitch.
        type: string
      host_switch_type:
        default: NVDS
        description: |-
          VDS represents VMware vSphere Distributed Switch from vSphere that is used as HostSwitch through TransportNode or TransportNodeProfile configuration. When VDS is used as a HostSwitch, Hosts have to be added to VDS from vSphere and VDS instance is created on Hosts. To configure NSX on such hosts, you can use this VDS as a HostSwitch from NSX manager. vCenter has the ownership of MTU, LAG, NIOC and LLDP configuration of such VDS backed HostSwitch. Remaining configuration (e.g. UplinkHostswitchProfile) will be managed by NSX. NVDS represents NSX Virtual Switch which is NSX native HostSwitch. All configurations of NVDS will be managed by NSX.
        enum:
        - NVDS
        - VDS
        title: |-
          Type of HostSwitch
        type: string
      transport_zone_ids:
        description: |-
          List of Ids of TransportZones this HostSwitch belongs to
        items:
          type: string
        readOnly: true
        title: |-
          List of Ids of TransportZones this HostSwitch belongs to
        type: array
    title: |-
      Host Switch State
    type: object
    x-vmw-nsx-module: TransportNode
  HostUpgradeStatus:
    allOf:
    - $ref: '#/definitions/ComponentUpgradeStatus'
    - type: object
      x-vmw-nsx-module: Upgrade
    description: |-
      Status of host upgrade
    title: |-
      Status of host upgrade
    x-vmw-nsx-module: Upgrade
  HostedEntityInfo:
    properties:
      entity_type:
        description: |-
          The type of entity hosted could be MP, CCP, VMC App etc.
        readOnly: true
        title: |-
          Type of entity
        type: string
      entity_uuid:
        description: |-
          Unique identifier of entity
        readOnly: true
        title: |-
          Unique identifier of entity
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  HttpProtocol:
    allOf:
    - $ref: '#/definitions/Protocol'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/BasicAuthenticationScheme'
          description: |-
            Scheme to authenticate if required
          title: |-
            Scheme to authenticate if required
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  HttpServiceProperties:
    description: |-
      HTTP Service properties
    properties:
      basic_authentication_enabled:
        default: true
        description: |-
          Identifies whether basic authentication is enabled or disabled in API calls.
        title: |-
          Enable or disable basic authentication
        type: boolean
      certificate:
        $ref: '#/definitions/Certificate'
        readOnly: true
      cipher_suites:
        description: |-
          Cipher suites used to secure contents of connection
        items:
          $ref: '#/definitions/CipherSuite'
        minItems: 1
        title: |-
          Cipher suites used to secure contents of connection
        type: array
      client_api_concurrency_limit:
        default: 40
        description: |-
          The maximum number of concurrent API requests that will be serviced for a given authenticated client.  If the number of API requests being processed exceeds this limit, new API requests will be refused and a 503 Service Unavailable response will be returned to the client. To disable API concurrency limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Client API rate limit in calls
        type: integer
      client_api_rate_limit:
        default: 100
        description: |-
          The maximum number of API requests that will be serviced per second for a given authenticated client.  If more API requests are received than can be serviced, a 429 Too Many Requests HTTP response will be returned. To disable API rate limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Client API rate limit in calls per second
        type: integer
      connection_timeout:
        description: |-
          NSX connection timeout, set to 0 to configure no timeout
        format: int64
        maximum: 2147483647
        minimum: 0
        title: |-
          NSX connection timeout, set to 0 to configure no timeout
        type: integer
      cookie_based_authentication_enabled:
        default: true
        description: |-
          Identifies whether cookie-based authentication is enabled or disabled in API calls. When cookie-based authentication is disabled, new sessions cannot be created via /api/session/create.
        title: |-
          Enable or disable cookie-based authentication
        type: boolean
      global_api_concurrency_limit:
        default: 100
        description: |-
          The maximum number of concurrent API requests that will be serviced. If the number of API requests being processed exceeds this limit, new API requests will be refused and a 503 Service Unavailable response will be returned to the client.  To disable API concurrency limiting, set this value to 0.
        format: int64
        minimum: 0
        title: |-
          Global API rate limit in calls
        type: integer
      logging_level:
        default: INFO
        description: |-
          Service logging level
        enum:
        - 'OFF'
        - FATAL
        - ERROR
        - WARN
        - INFO
        - DEBUG
        - TRACE
        title: |-
          Service logging level
        type: string
      protocol_versions:
        description: |-
          TLS protocol versions
        items:
          $ref: '#/definitions/ProtocolVersion'
        minItems: 1
        title: |-
          TLS protocol versions
        type: array
      redirect_host:
        default: ''
        description: |-
          Host name or IP address to use for redirect location headers, or empty string to derive from current request
        pattern: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$|^$/
        type: string
      session_timeout:
        description: |-
          NSX session inactivity timeout, set to 0 to configure no timeout
        format: int64
        maximum: 2147483647
        minimum: 0
        title: |-
          NSX session inactivity timeout, set to 0 to configure no timeout
        type: integer
    title: |-
      HTTP Service properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  HttpsProtocol:
    allOf:
    - $ref: '#/definitions/Protocol'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/BasicAuthenticationScheme'
          description: |-
            Scheme to authenticate if required
          title: |-
            Scheme to authenticate if required
        sha256_thumbprint:
          description: |-
            SSL thumbprint of server
          title: |-
            SSL thumbprint of server
          type: string
      required:
      - sha256_thumbprint
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  ICMPTypeNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - properties:
        icmp_code:
          description: |-
            ICMP message code
          format: int64
          title: |-
            ICMP message code
          type: integer
        icmp_type:
          description: |-
            ICMP message type
          format: int64
          title: |-
            ICMP message type
          type: integer
        protocol:
          description: |-
            ICMP protocol type
          enum:
          - ICMPv4
          - ICMPv6
          title: |-
            ICMP protocol type
          type: string
      required:
      - protocol
      type: object
      x-vmw-nsx-module: Types
    description: |-
      A NSService that represents IPv4 or IPv6 ICMP protocol
    title: |-
      A NSService that represents IPv4 or IPv6 ICMP protocol
    x-vmw-nsx-module: Types
  IDSEventDataRequest:
    description: |-
      Filtering parameters to get only a subset of intrusion events.
    properties:
      filters:
        description: |-
          An array of filter conditions.
        items:
          $ref: '#/definitions/FilterRequest'
        title: |-
          Filter conditions
        type: array
    title: |-
      Parameters to filter list of intrusions
    type: object
    x-vmw-nsx-module: IDSMetrics
  IDSEventsBySignature:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        count:
          description: |-
            Number of times this particular signature was detected.
          format: int64
          readOnly: true
          title: |-
            Number of times signature was seen
          type: integer
        first_occurence:
          description: |-
            First occurence of the intrusion, in epoch milliseconds.
          format: int64
          readOnly: true
          type: integer
        is_ongoing:
          description: |-
            Flag indicating an ongoing intrusion.
          readOnly: true
          title: |-
            Flag indicating an ongoing intrusion
          type: boolean
        resource_type:
          description: |-
            IDSEvent resource type.
          readOnly: true
          title: |-
            IDSEvent resource type
          type: string
        severity:
          description: |-
            Severity of the threat covered by the signature, can be Critical, High, Medium, or Low.
          readOnly: true
          title: |-
            Severity of the signature
          type: string
        signature_id:
          description: |-
            Signature ID pertaining to the detected intrusion.
          format: int64
          readOnly: true
          title: |-
            Signature ID
          type: integer
        signature_name:
          description: |-
            Name of the signature pertaining to the detected intrusion.
          readOnly: true
          title: |-
            Name of the signature
          type: string
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      Intrusions that are detected, grouped by signature. It contains the signature id,
      severity, name, the number of intrusions of that type and the first occurence.
    title: |-
      Detcted intrusions grouped by signature
    x-vmw-nsx-module: IDSMetrics
  IDSEventsBySignatureResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of all intrusions detected, grouped by signature. The details include signature id, name, severity, timestamp, and total number of attempts per signature.
          items:
            $ref: '#/definitions/IDSEventsBySignature'
          readOnly: true
          title: |-
            List of all intrusions detected
          type: array
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      List of all intrusions that are detected grouped by signature, it
      contains minimal details about the intrusions.
    title: |-
      List of intrusions grouped by signature
    x-vmw-nsx-module: IDSMetrics
  IDSEventsSummary:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        affected_vm_count:
          description: |-
            Count of VMs on which a particular signature was detected.
          format: int64
          readOnly: true
          title: |-
            Count of VMs this signature was detected on
          type: integer
        first_occurence:
          description: |-
            First occurence of the intrusion, in epoch milliseconds.
          format: int64
          readOnly: true
          type: integer
        idsflow_details:
          description: |-
            IDS event flow data specific to each IDS event. The data includes source ip, source port, destination ip, destination port, and protocol.
          items:
            $ref: '#/definitions/IdsEventFlowData'
          readOnly: true
          title: |-
            IDS event flow data details
          type: object
        is_ongoing:
          description: |-
            Flag indicating an ongoing intrusion.
          readOnly: true
          title: |-
            Flag indicating an ongoing intrusion
          type: boolean
        is_rule_valid:
          description: |-
            Indicates if the rule id is valid or not.
          readOnly: true
          title: |-
            Is the rule id valid
          type: boolean
        latest_occurence:
          description: |-
            Latest occurence of the intrusion, in epoch milliseconds.
          format: int64
          readOnly: true
          type: integer
        resource_type:
          description: |-
            IDSEvent resource type.
          readOnly: true
          title: |-
            IDSEvent resource type
          type: string
        rule_id:
          description: |-
            The IDS Rule id that detected this particular intrusion.
          format: int64
          readOnly: true
          title: |-
            IDS Rule id of detected intrusion
          type: integer
        signature_id:
          description: |-
            Signature ID pertaining to the detected intrusion.
          format: int64
          readOnly: true
          title: |-
            Signature ID
          type: integer
        signature_metadata:
          description: |-
            Metadata about the detected signature including name, id, severity, product affected, protocol etc.
          items:
            $ref: '#/definitions/IDSSignatureDetail'
          readOnly: true
          title: |-
            Metadata about the detected signature
          type: object
        total_count:
          description: |-
            Number of times this particular signature was detected.
          format: int64
          readOnly: true
          title: |-
            Number of occurrences of this signature
          type: integer
        user_details:
          description: |-
            List of users logged into VMs on which a particular signature was detected.
          items:
            $ref: '#/definitions/IdsUserStats'
          readOnly: true
          title: |-
            List of users on the affected VMs
          type: object
        vm_details:
          description: |-
            List of VMs on which a particular signature was detected with the count.
          items:
            $ref: '#/definitions/IdsVmStats'
          readOnly: true
          title: |-
            List of VMs this signature was seen
          type: object
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      Intrusion event with all the event and signature details, each event
      contains the signature id, name, severity, first and recent occurence,
      users and VMs affected and other signature metadata.
    title: |-
      Intrusions with event and signature data
    x-vmw-nsx-module: IDSMetrics
  IDSProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        signatures:
          description: |-
            List of IDS signatures ids which need to be detected.
          items:
            type: string
          maxItems: 30000
          minItems: 1
          readOnly: false
          title: |-
            IDS Signatures
          type: array
      required:
      - signatures
      type: object
      x-vmw-nsx-module: IDSProfile
    description: |-
      An entity that holds the list of IDS signatures which need to be detected. The profiles can be custom created or built in.
    title: |-
      IDS Profile
    x-vmw-nsx-module: IDSProfile
  IDSSignatureDetail:
    properties:
      action:
        description: |-
          Packet analysis action
        title: |-
          Action
        type: string
      affected_product:
        description: |-
          Product affected by the signature.
        title: |-
          Affected product
        type: string
      attack_target:
        description: |-
          Target of the attack tracked in the signature.
        title: |-
          Attack target
        type: string
      category:
        description: |-
          VMware defined signature category.
        items:
          type: string
        title: |-
          Category
        type: array
      class_type:
        description: |-
          Class type of the signature.
        title: |-
          Signature class type
        type: string
      cves:
        description: |-
          CVE of the signature.
        items:
          type: string
        title: |-
          CVE of the signature
        type: array
      cvssv2:
        description: |-
          Signature CVSSV2 score.
        title: |-
          Signature CVSSV2 score
        type: string
      cvssv3:
        description: |-
          Signature CVSSV3 score.
        title: |-
          Signature CVSSV3 score
        type: string
      direction:
        description: |-
          Source-destination direction.
        title: |-
          Direction
        type: string
      enabled:
        description: |-
          Signature enabled.
        title: |-
          Enabled
        type: boolean
      flow:
        description: |-
          Flow established from server, from client etc.
        title: |-
          Flow established
        type: string
      malware_family:
        description: |-
          Family of the malware tracked in the signature.
        title: |-
          Malware Family
        type: string
      name:
        description: |-
          Name of the signature.
        title: |-
          Signature name
        type: string
      performance_impact:
        description: |-
          Performance impact of the signature.
        title: |-
          Performance impact
        type: string
      policy:
        description: |-
          Signature policy.
        items:
          type: string
        title: |-
          Policy
        type: array
      protocol:
        description: |-
          Protocol used in the packet analysis.
        title: |-
          Protocol
        type: string
      resource_type:
        description: |-
          IDSSignatureDetail resource type.
        readOnly: true
        title: |-
          IDSSignatureDetail resource type
        type: string
      severity:
        description: |-
          VMware defined signature severity.
        title: |-
          Severity
        type: string
      signature_id:
        description: |-
          Unique ID of the signature rule.
        format: int64
        title: |-
          The signature ID
        type: integer
      signature_revision:
        description: |-
          The revision of the signature
        format: int64
        title: |-
          Signature revision
        type: integer
      signature_severity:
        description: |-
          Signature vendor set severity of the signature rule.
        title: |-
          Signature severity
        type: string
      tag:
        description: |-
          Vendor assigned classification tag.
        items:
          type: string
        title: |-
          Signature tag
        type: array
      type:
        description: |-
          Signature type.
        items:
          type: string
        title: |-
          Type
        type: array
      urls:
        description: |-
          List of mitre attack URLs pertaining to signature.
        items:
          type: string
        title: |-
          List of mitre attack URLs pertaining to signature
        type: array
    type: object
    x-vmw-nsx-module: IDSSignatures
  IDSSummaryListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of the detected intrusions.
          items:
            $ref: '#/definitions/IDSEventsSummary'
          maxItems: 100
          readOnly: true
          title: |-
            Paged collection of intrusions
          type: array
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      List of all intrusions that are detected grouped by signature with
      their summary.
    title: |-
      List of intrusions with their summary
    x-vmw-nsx-module: IDSMetrics
  IGMPTypeNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - type: object
      x-vmw-nsx-module: Types
    description: |-
      A NSService that represents IGMP protocol
    title: |-
      A NSService that represents IGMP protocol
    x-vmw-nsx-module: Types
  IPAddressElement:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        ip_address:
          description: |
            IPElement can be a single IP address, IP address range or a Subnet. Its
            type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
            "192.168.1.1-192.168.1.100", "192.168.0.0/24",
            "fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:318c/64"
          format: address-or-block-or-range
          type: string
      required:
      - ip_address
      type: object
      x-vmw-nsx-module: IPSet
    description: |-
      IP Address
    title: |-
      IP Address
    x-vmw-nsx-module: IPSet
  IPAddressElementListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IP address element list
          items:
            $ref: '#/definitions/IPAddressElement'
          title: |-
            IP address element list
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSet
    description: |-
      Collection of IP address elements
    title: |-
      Collection of IP address elements
    x-vmw-nsx-module: IPSet
  IPAddresses:
    properties:
      ip_addresses:
        description: |-
          The IP addresses in the form of IP Address, IP Range, CIDR, used as source IPs or destination IPs of filters.
        items:
          description: |
            IPElement can be a single IP address, IP address range or a Subnet. Its
            type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
            "192.168.1.1-192.168.1.100", "192.168.0.0/24",
            "fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
            "fe80::250:56ff:fe83:318c/64"
          format: address-or-block-or-range
          type: string
        minItems: 1
        title: |-
          IPs of the filter
        type: array
    type: object
    x-vmw-nsx-module: PortMirroring
  IPInfo:
    properties:
      ip_addresses:
        description: |-
          IPv4 Addresses
        items:
          description: |-
            IPv4 address
          format: ipv4
          type: string
        maxItems: 1
        minItems: 1
        title: |-
          IPv4 Addresses
        type: array
      prefix_length:
        description: |-
          Subnet Prefix Length
        format: int64
        maximum: 32
        minimum: 1
        title: |-
          Subnet Prefix Length
        type: integer
    required:
    - ip_addresses
    - prefix_length
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  IPMirrorDestination:
    allOf:
    - $ref: '#/definitions/MirrorDestination'
    - properties:
        destination_ips:
          description: |-
            The destination IPs of the mirror packet will be sent to.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 3
          minItems: 1
          title: |-
            List of destination IP addresses
          type: array
        encapsulation_type:
          default: GRE
          description: |-
            You can choose GRE, ERSPAN II or ERSPAN III.
          enum:
          - GRE
          - ERSPAN_TWO
          - ERSPAN_THREE
          type: string
        erspan_id:
          description: |
            Used by physical switch for the mirror traffic forwarding.
            Must be provided and only effective when encapsulation type is
            ERSPAN type II or type III.
          format: int32
          maximum: 1023
          minimum: 0
          title: |-
            ERSPAN session id
          type: integer
        gre_key:
          description: |-
            User-configurable 32-bit key only for GRE
          format: int32
          title: |-
            GRE encapsulation key
          type: integer
      required:
      - destination_ips
      - encapsulation_type
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  IPPrefixList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        prefixes:
          description: |-
            Ordered list of PrefixConfig
          items:
            $ref: '#/definitions/PrefixConfig'
          maxItems: 1330000
          minItems: 1
          title: |-
            Ordered list of PrefixConfig
          type: array
      required:
      - prefixes
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  IPPrefixListListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of IPPrefixLists
          items:
            $ref: '#/definitions/IPPrefixList'
          title: |-
            Paginated list of IPPrefixLists
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  IPProtocolNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - properties:
        protocol_number:
          description: |-
            The IP protocol number
          format: int64
          title: |-
            The IP protocol number
          type: integer
      required:
      - protocol_number
      type: object
      x-vmw-nsx-module: Types
    description: |-
      An NSService element that represents an IP protocol
    title: |-
      An NSService element that represents an IP protocol
    x-vmw-nsx-module: Types
  IPSecVPNDPDProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dpd_probe_interval:
          description: |
            When the DPD probe mode is periodic, this interval is the number
            of seconds between DPD messages.
            When the DPD probe mode is on-demand, this interval is the number
            of seconds during which traffic is not received from the peer before
            DPD retry messages are sent if there is IPSec traffic to send.
            For PERIODIC Mode:
               Minimum: 3
               Maximum: 360
               Default: 60
            For ON_DEMAND Mode:
               Minimum: 1
               Maximum: 10
               Default: 3
          format: int64
          title: |-
            DPD probe interval defines an interval for DPD probes (in seconds)
          type: integer
        dpd_probe_mode:
          default: PERIODIC
          description: |
            DPD probe mode is used to query the liveliness of the peer. Two modes are possible -
            PERIODIC - is used to query the liveliness of the peer at regular
            intervals (dpd_probe_interval). It does not take into consideration
            traffic coming from the peer. The benefit of this mode over the
            on-demand mode is earlier detection of dead peers.
            However, use of periodic DPD incurs extra overhead. When
            communicating to large numbers of peers, please consider using on-demand DPD instead.
            ON_DEMAND - is used to query the liveliness of the peer by
            instructing the local endpoint to send DPD message to a peer if
            there is traffic to send to the peer AND the peer was idle for
            dpd_probe_interval seconds (i.e. there was no traffic from the
            peer for dpd_probe_interval seconds)
          enum:
          - PERIODIC
          - ON_DEMAND
          title: |-
            DPD probe mode
          type: string
        enabled:
          default: true
          description: |-
            If true, enable dead peer detection.
          title: |-
            Enable dead peer detection (DPD)
          type: boolean
        retry_count:
          default: 5
          description: |-
            Maximum number of DPD messages retry attempts. This value is applicable for both dpd probe modes, periodic and on-demand.
          format: int64
          maximum: 100
          minimum: 1
          title: |-
            Retry count
          type: integer
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      Dead peer detection (DPD) is a method that allows detection of unreachable internet key excahnge (IKE) peers. Any changes affects all IPSec VPN sessions consuming this profile.
    title: |-
      Dead peer detection (DPD) profile
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNDPDProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec DPD Profile list results
          items:
            $ref: '#/definitions/IPSecVPNDPDProfile'
          title: |-
            IPSec DPD Profile list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the dead peer detection (DPD) profiles.
    title: |-
      List dead peer detection (DPD) profiles
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNIKEProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dh_groups:
          description: |-
            Diffie-Hellman group to be used if PFS is enabled. Default is GROUP14.
          items:
            description: |
              Diffie-Hellman groups represent algorithm used to derive shared
              keys between IPSec VPN initiator and responder over an
              unsecured network.
              GROUP2 uses 1024-bit Modular Exponentiation (MODP) group.
              GROUP5 uses 1536-bit MODP group.
              GROUP14 uses 2048-bit MODP group.
              GROUP15 uses 3072-bit MODP group.
              GROUP16 uses 4096-bit MODP group.
              GROUP19 uses 256-bit random Elliptic Curve (ECP) group.
              GROUP20 uses 384-bit random ECP group.
              GROUP21 uses 521-bit random ECP group.
            enum:
            - GROUP2
            - GROUP5
            - GROUP14
            - GROUP15
            - GROUP16
            - GROUP19
            - GROUP20
            - GROUP21
            type: string
          title: |-
            DH group
          type: array
        digest_algorithms:
          description: |-
            Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. Default is SHA2_256.
          items:
            description: |
              The IKEDigestAlgorithms are used to verify message
              integrity during IKE negotiation. SHA1 produces 160
              bits hash and SHA2_XXX produces XXX bit hash.
            enum:
            - SHA1
            - SHA2_256
            - SHA2_384
            - SHA2_512
            type: string
          title: |-
            Algorithm for message hash
          type: array
        encryption_algorithms:
          description: |-
            Encryption algorithm is used during Internet Key Exchange(IKE) negotiation. Default is AES_128.
          items:
            description: |
              IKEEncryption algorithms are used to ensure confidentiality of
              the messages exchanged during IKE negotiations. AES stands for
              Advanced Encryption Standards. AES_128 uses 128-bit keys whereas
              AES_256 uses 256-bit keys for encryption and decryption.
              AES_GCM stands for Advanced Encryption Standard(AES) in
              Galois/Counter Mode(GCM) and is used to provide both
              confidentiality and data origin authentication. AES_GCM composed
              of two separate functions one for encryption(AES) and one for
              authentication(GMAC). AES_GCM algorithms will be available with
              IKE_V2 version only.
              AES_GCM_128 uses 128-bit keys.
              AES_GCM_192 uses 192-bit keys.
              AES_GCM_256 uses 256-bit keys.
            enum:
            - AES_128
            - AES_256
            - AES_GCM_128
            - AES_GCM_192
            - AES_GCM_256
            type: string
          title: |-
            Encryption algorithm for IKE
          type: array
        ike_version:
          default: IKE_V2
          description: |-
            IKE protocol version to be used. IKE-Flex will initiate IKE-V2 and responds to both IKE-V1 and IKE-V2.
          enum:
          - IKE_V1
          - IKE_V2
          - IKE_FLEX
          title: |-
            IKE version
          type: string
        sa_life_time:
          default: 86400
          description: |-
            Life time for security association. Default is 86400 seconds (1 day).
          format: int64
          maximum: 31536000
          minimum: 21600
          title: |-
            Security association (SA) life time
          type: integer
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      IKE Profile is a reusable profile that captures IKE phase one negotiation parameters. Any changes affects all IPSec VPN sessions consuming this profile.
    title: |-
      Internet key exchange (IKE) profile
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNIKEProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IKE Profile list results
          items:
            $ref: '#/definitions/IPSecVPNIKEProfile'
          title: |-
            IKE Profile list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the IKE profiles.
    title: |-
      List IKE profiles
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNIKEServiceSummary:
    allOf:
    - $ref: '#/definitions/IPSecVPNSessionSummary'
    - properties:
        display_name:
          description: |-
            VPN service display name.
          readOnly: true
          title: |-
            Display name
          type: string
        ipsec_vpn_service_id:
          description: |-
            UUID for a vpn service.
          readOnly: true
          title: |-
            Service identifier
          type: string
        logical_router_id:
          description: |-
            Logical router identifier associated with vpn service.
          readOnly: true
          title: |-
            Logical router identifier
          type: string
      type: object
      x-vmw-nsx-module: VPNStatistics
    description: |-
      Summarized view of all IPSec VPN sessions for a specified service.
    title: |-
      IPSec VPN IKE service summary
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNIKESessionStatus:
    description: |-
      Status for IPSec VPN IKE session UP, DOWN, NEGOTIATING and fail reason if IKE session is down.
    properties:
      fail_reason:
        description: |-
          Reason for failure.
        readOnly: true
        title: |-
          Fail reason
        type: string
      ike_session_state:
        description: |-
          IKE session service status UP, DOWN and NEGOTIATING.
        enum:
        - UP
        - DOWN
        - NEGOTIATING
        readOnly: true
        title: |-
          IKE session state
        type: string
      transport_node_id:
        description: |-
          Transport Node identifier where session is present.
        readOnly: true
        title: |-
          Transport Node Id
        type: string
    title: |-
      IKE session status
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNIKETrafficStatistics:
    description: |-
      Traffic statistics for IPSec VPN IKE session. Note - Not supported in this release.
    properties:
      bytes_in:
        description: |-
          Number of bytes in.
        format: int64
        readOnly: true
        title: |-
          Bytes in
        type: integer
      bytes_out:
        description: |-
          Number of bytes out.
        format: int64
        readOnly: true
        title: |-
          Bytes out
        type: integer
      fail_count:
        description: |-
          Fail count.
        format: int64
        readOnly: true
        title: |-
          Fail count
        type: integer
      packets_in:
        description: |-
          Number of packets in.
        format: int64
        readOnly: true
        title: |-
          Packets in
        type: integer
      packets_out:
        description: |-
          Number of packets out.
        format: int64
        readOnly: true
        title: |-
          Packets out
        type: integer
    title: |-
      IPSec VPN IKE traffic statistics
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNLocalEndpoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        certificate_id:
          description: |-
            Site certificate identifier.
          title: |-
            Certificate Id
          type: string
        ipsec_vpn_service_id:
          $ref: '#/definitions/ResourceReference'
          description: |-
            VPN Service id.
          title: |-
            VPN Service id
        local_address:
          description: |-
            IPV4 Address for local endpoint.
          format: ipv4
          type: string
        local_id:
          description: |-
            Local identifier.
          title: |-
            Local identifier
          type: string
        trust_ca_ids:
          description: |-
            Certificate authority (CA) identifier list to verify peer certificates.
          items:
            type: string
          title: |-
            Certificate authority (CA) identifiers
          type: array
        trust_crl_ids:
          description: |-
            Certificate revocation list (CRL) identifier list of peer certificates.
          items:
            type: string
          title: |-
            Certificate revocation list (CRL) Identifiers
          type: array
      required:
      - ipsec_vpn_service_id
      - local_address
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      Local endpoint represents a logical router on which tunnel needs to be terminated.
    title: |-
      IPSec VPN Local Endpoint
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNLocalEndpointListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec local endpoint list results
          items:
            $ref: '#/definitions/IPSecVPNLocalEndpoint'
          title: |-
            IPSec local endpoint list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the local endpoints.
    title: |-
      List local endpoints
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNPeerEndpoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        authentication_mode:
          default: PSK
          description: |-
            Authentication mode used for the peer authentication. For PSK (Pre Shared Key) authentication mode, 'psk' property is mandatory and for the CERTIFICATE authentication mode, 'peer_id' property is mandatory.
          enum:
          - PSK
          - CERTIFICATE
          title: |-
            Authentication Mode
          type: string
        connection_initiation_mode:
          default: INITIATOR
          description: |
            Connection initiation mode used by local
            endpoint to establish ike connection with peer endpoint.
            INITIATOR - In this mode local endpoint initiates tunnel
            setup and will also respond to incoming tunnel setup requests
            from peer gateway.
            RESPOND_ONLY - In this mode, local endpoint shall only
            respond to incoming tunnel setup requests. It shall not
            initiate the tunnel setup.
            ON_DEMAND - In this mode local endpoint will initiate tunnel
            creation once first packet matching the policy rule is
            received and will also respond to incoming initiation request.
          enum:
          - INITIATOR
          - RESPOND_ONLY
          - ON_DEMAND
          title: |-
            Connection initiation mode
          type: string
        dpd_profile_id:
          description: |-
            Dead peer detection (DPD) profile id. Default will be set according to system default policy.
          title: |-
            Dead peer detection (DPD) profile id
          type: string
        ike_profile_id:
          description: |-
            IKE profile id to be used. Default will be set according to system default policy.
          title: |-
            Internet key exchange (IKE) profile id
          type: string
        ipsec_tunnel_profile_id:
          description: |-
            Tunnel profile id to be used. By default it will point to system default profile.
          title: |-
            IPSec tunnel profile id
          type: string
        peer_address:
          description: |-
            IPV4 address of peer endpoint on remote site.
          title: |-
            IPV4 address of peer endpoint on remote site.
          type: string
        peer_id:
          description: |-
            Peer identifier.
          title: |-
            Peer id
          type: string
        psk:
          description: |-
            IPSec Pre-shared key. Maximum length of this field is 128 characters.
          title: |-
            Pre-shared key
          type: string
      required:
      - peer_address
      - peer_id
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      IPSec VPN Peer Endpoint covers configuration to be applied locally to establish a session with remote endpoint on peer site.
    title: |-
      IPSec VPN Peer Endpoint
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNPeerEndpointListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec Peer endpoint list results
          items:
            $ref: '#/definitions/IPSecVPNPeerEndpoint'
          title: |-
            IPSec Peer endpoint list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the peer endpoints.
    title: |-
      List peer endpoints
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNPolicyRule:
    allOf:
    - $ref: '#/definitions/EmbeddedResource'
    - properties:
        action:
          default: PROTECT
          description: |
            PROTECT - Protect rules are defined per policy based
            IPSec VPN session.
            BYPASS - Bypass rules are defined per IPSec VPN
            service and affects all policy based IPSec VPN sessions.
            Bypass rules are prioritized over protect rules.
          enum:
          - PROTECT
          - BYPASS
          readOnly: true
          title: |-
            Action to be applied
          type: string
        destinations:
          description: |-
            List of peer subnets.
          items:
            $ref: '#/definitions/IPSecVPNPolicySubnet'
          maxItems: 128
          title: |-
            Destination list
          type: array
        enabled:
          default: true
          description: |-
            A flag to enable/disable the policy rule.
          title: |-
            Enabled flag
          type: boolean
        id:
          description: |-
            Unique policy id.
          title: |-
            Unique policy id
          type: string
        logged:
          default: false
          description: |-
            A flag to enable/disable the logging for the policy rule.
          title: |-
            Logging flag
          type: boolean
        sources:
          description: |-
            List of local subnets.
          items:
            $ref: '#/definitions/IPSecVPNPolicySubnet'
          maxItems: 128
          title: |-
            Source list
          type: array
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      For policy-based IPsec VPNs, a security policy specifies as its action the VPN tunnel to be used for transit traffic that meets the policy's match criteria.
    title: |-
      IPSec VPN policy rules
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNPolicySubnet:
    description: |-
      Used to specify the local/peer subnets in IPSec VPN Policy rule.
    properties:
      subnet:
        description: |-
          Subnet used in policy rule.
        format: ipv4-cidr-block
        type: string
    required:
    - subnet
    title: |-
      Subnet for IPSec Policy based VPN
    type: object
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNPolicyTrafficStatistics:
    description: |-
      IPSec VPN policy traffic statistics
    properties:
      aggregate_traffic_counters:
        $ref: '#/definitions/IPSecVPNTrafficCounters'
        description: |-
          Aggregate traffic statistics across all ipsec tunnels.
        readOnly: true
        title: |-
          Traffic summary
      policy_id:
        description: |-
          Policy Identifier.
        readOnly: true
        title: |-
          Policy Identifier
        type: string
      tunnel_port_id:
        description: |-
          Tunnel port identifier.
        readOnly: true
        title: |-
          Tunnel port identifier
        type: string
      tunnel_statistics:
        description: |-
          Tunnel statistics.
        items:
          $ref: '#/definitions/IPSecVPNTunnelTrafficStatistics'
        readOnly: true
        title: |-
          Tunnel statistics
        type: array
    title: |-
      IPSec VPN policy traffic statistics
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNService:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        bypass_rules:
          description: |
            Bypass policy rules are configured using VPN service.
            Bypass rules always have higher priority over protect
            rules and they affect all policy based vpn sessions associated
            with the IPSec VPN service. Protect rules are defined per
            policy based vpn session.
          items:
            $ref: '#/definitions/IPSecVPNPolicyRule'
          title: |-
            Bypass Policy rules
          type: array
        enabled:
          default: true
          description: |-
            If true, enable VPN services for given logical router.
          title: |-
            Enable virtual private network (VPN) service
          type: boolean
        ike_log_level:
          default: INFO
          description: |-
            Log level for internet key exchange (IKE).
          enum:
          - DEBUG
          - INFO
          - WARN
          - ERROR
          - EMERGENCY
          title: |-
            Internet key exchange (IKE) log level
          type: string
        ipsec_ha_sync:
          default: true
          description: |
            Enable/disable IPSec HA state sync. IPSec HA state sync
            can be disabled in case there are performance issues with
            the state sync messages. Default is to enable HA Sync.
          title: |-
            IPSec HA State Sync flag
          type: boolean
        logical_router_id:
          description: |-
            Logical router id.
          title: |-
            Logical router id
          type: string
      required:
      - logical_router_id
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      Create and manage IPSec VPN service for given logical router.
    title: |-
      IPSec VPN service
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec VPN serivce list result
          items:
            $ref: '#/definitions/IPSecVPNService'
          title: |-
            IPSec VPN serivce list result
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the IPSec VPN services.
    title: |-
      List IPSec VPN services
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNSession:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        enabled:
          default: true
          description: |-
            Enable/Disable IPSec VPN session.
          title: |-
            Enable/Disable IPSec VPN session
          type: boolean
        ipsec_vpn_service_id:
          description: |-
            Identifier of VPN Service linked with local endpoint.
          readOnly: true
          title: |-
            IPSec VPN service identifier
          type: string
        local_endpoint_id:
          description: |-
            Local endpoint identifier.
          title: |-
            Local endpoint identifier
          type: string
        peer_endpoint_id:
          description: |-
            Peer endpoint identifier.
          title: |-
            Peer endpoint identifier
          type: string
        resource_type:
          description: |
            A Policy Based VPN requires to define protect rules that match
              local and peer subnets. IPSec security associations is
              negotiated for each pair of local and peer subnet.
            A Route Based VPN is more flexible, more powerful and recommended over
              policy based VPN. IP Tunnel port is created and all traffic routed via
              tunnel port is protected. Routes can be configured statically
              or can be learned through BGP. A route based VPN is must for establishing
              redundant VPN session to remote site.
          enum:
          - PolicyBasedIPSecVPNSession
          - RouteBasedIPSecVPNSession
          type: string
        tcp_mss_clamping:
          $ref: '#/definitions/TcpMssClamping'
      required:
      - peer_endpoint_id
      - local_endpoint_id
      - resource_type
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      VPN session defines connection between local and peer endpoint. Untill VPN session is defined configuration is not realized.
    title: |-
      IPSec VPN session
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNSessionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec VPN sessions list result
          items:
            $ref: '#/definitions/IPSecVPNSession'
          title: |-
            IPSec VPN sessions list result
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the IPSec VPN sessions.
    title: |-
      List IPSec VPN sessions
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNSessionState:
    allOf:
    - $ref: '#/definitions/EdgeConfigurationState'
    - type: object
      x-vmw-nsx-module: IPSecVPN
    description: |
      This holds the state of IPSec VPN Session. If there are
      errors in realizing session outside of MP, it gives details
      of the components and specific errors.
    title: |-
      Realization State of IPSec VPN Session.
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNSessionStatistics:
    description: |-
      Session statistics gives aggregated statistics of all policies for all the tunnels.
    properties:
      aggregate_traffic_counters:
        $ref: '#/definitions/IPSecVPNTrafficCounters'
        description: |-
          Aggregate traffic statistics across all ipsec tunnels.
        readOnly: true
        title: |-
          Traffic summary
      display_name:
        description: |-
          Display name of vpn session.
        readOnly: true
        title: |-
          Display name
        type: string
      ike_status:
        $ref: '#/definitions/IPSecVPNIKESessionStatus'
        description: |-
          Status for IPSec VPN IKE session UP/DOWN and fail reason if IKE session is down.
        readOnly: true
        title: |-
          IKE status summary
      ike_traffic_statistics:
        $ref: '#/definitions/IPSecVPNIKETrafficStatistics'
        description: |-
          Traffic statistics for IPSec VPN IKE session. Note - Not supported in this release.
        readOnly: true
        title: |-
          IKE traffic statistics
      ipsec_vpn_session_id:
        description: |-
          UUID of vpn session.
        readOnly: true
        title: |-
          Session identifier
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated.
        format: int64
        readOnly: true
        type: integer
      partial_stats:
        description: |-
          Partial statistics if true specifies that the statistics are only from active node.
        readOnly: true
        title: |-
          Partial Statistics
        type: boolean
      policy_statistics:
        description: |-
          Gives aggregate traffic statistics across all ipsec tunnels and individual tunnel statistics.
        items:
          $ref: '#/definitions/IPSecVPNPolicyTrafficStatistics'
        readOnly: true
        title: |-
          IPSec policy statistics
        type: array
    title: |-
      IPSec VPN session statistics
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNSessionStatus:
    description: |-
      IKE session traffic summary provides IKE session status and aggregate of traffic across all tunnel.
    properties:
      aggregate_traffic_counters:
        $ref: '#/definitions/IPSecVPNTrafficCounters'
        description: |-
          Aggregate traffic statistics across all ipsec tunnels.
        readOnly: true
        title: |-
          Traffic summary
      display_name:
        description: |-
          Display name of vpn session.
        readOnly: true
        title: |-
          Display name
        type: string
      failed_tunnels:
        description: |-
          Number of failed tunnels.
        format: int64
        readOnly: true
        title: |-
          Failed tunnels
        type: integer
      ike_status:
        $ref: '#/definitions/IPSecVPNIKESessionStatus'
        description: |-
          Status for IPSec VPN IKE session UP/DOWN and fail reason if IKE session is down.
        readOnly: true
        title: |-
          IKE status
      ipsec_vpn_session_id:
        description: |-
          UUID of vpn session.
        readOnly: true
        title: |-
          Session identifier
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated.
        format: int64
        readOnly: true
        type: integer
      negotiated_tunnels:
        description: |-
          Number of negotiated tunnels.
        format: int64
        readOnly: true
        title: |-
          Negotiated tunnels
        type: integer
      session_status:
        description: |-
          Gives session status consolidated using IKE status and tunnel status. It can be UP, DOWN, DEGRADED. If IKE and all tunnels are UP status will be UP, if all down it will be DOWN, otherwise it will be DEGRADED.
        enum:
        - UP
        - DOWN
        - DEGRADED
        readOnly: true
        title: |-
          Session status
        type: string
      total_tunnels:
        description: |-
          Total number of tunnels.
        format: int64
        readOnly: true
        title: |-
          Total tunnels
        type: integer
    title: |-
      IKE session traffic summary
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNSessionSummary:
    description: |-
      Summarized view of all selected IPSec VPN sessions.
    properties:
      aggregate_traffic_counters:
        $ref: '#/definitions/IPSecVPNTrafficCounters'
        description: |-
          Aggregate traffic statistics across all selected sessions.
        title: |-
          Traffic summary
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated.
        format: int64
        readOnly: true
        type: integer
      session_summary:
        $ref: '#/definitions/IPsecVPNIKESessionSummary'
        description: |-
          Session summary for number of total, established, failed and degraded IPSec VPN sessions.
        readOnly: true
        title: |-
          Session summary
      traffic_summary_per_session:
        description: |-
          Traffic summary per session.
        items:
          $ref: '#/definitions/IPSecVPNSessionTrafficSummary'
        title: |-
          Traffic summary
        type: array
    title: |-
      IPSec VPN session summary
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNSessionTrafficSummary:
    description: |-
      IPSec VPN session traffic summary.
    properties:
      ipsec_vpn_session:
        $ref: '#/definitions/ResourceReference'
        description: |-
          VPN Session.
        readOnly: true
        title: |-
          VPN session
      traffic_counters:
        $ref: '#/definitions/IPSecVPNTrafficCounters'
        description: |-
          Traffic stastics.
        readOnly: true
        title: |-
          Traffic stastics
    title: |-
      IPSec VPN session traffic summary
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNTrafficCounters:
    description: |-
      Traffic counters for IPSec VPN session.
    properties:
      bytes_in:
        description: |-
          Total number of bytes recevied.
        format: int64
        readOnly: true
        title: |-
          Bytes in
        type: integer
      bytes_out:
        description: |-
          Total number of bytes sent.
        format: int64
        readOnly: true
        title: |-
          Bytes out
        type: integer
      dropped_packets_in:
        description: |-
          Total number of incoming packets dropped on inbound security association.
        format: int64
        readOnly: true
        title: |-
          Dropped incoming packets
        type: integer
      dropped_packets_out:
        description: |-
          Total number of outgoing packets dropped on outbound security association.
        format: int64
        readOnly: true
        title: |-
          Dropped outgoing packets
        type: integer
      packets_in:
        description: |-
          Total number of packets received.
        format: int64
        readOnly: true
        title: |-
          Packets in
        type: integer
      packets_out:
        description: |-
          Total number of packets sent.
        format: int64
        readOnly: true
        title: |-
          Packets out
        type: integer
    title: |-
      IPSec VPN traffic counters
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSecVPNTransportStatus:
    allOf:
    - $ref: '#/definitions/L2VPNTransportTunnelStatus'
    - properties:
        status:
          $ref: '#/definitions/IPSecVPNSessionStatus'
          description: |-
            VPN session status provides IKE session status and aggregate of traffic across all tunnel.
          readOnly: true
          title: |-
            IPSec vpn session status
      type: object
      x-vmw-nsx-module: L2VPNStatistics
    description: |-
      Provides IPSec VPN session status.
    title: |-
      VPN Session status
    x-vmw-nsx-module: L2VPNStatistics
  IPSecVPNTunnelProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        df_policy:
          default: COPY
          description: |-
            Defragmentation policy helps to handle defragmentation bit present in the inner packet. COPY copies the defragmentation bit from the inner IP packet into the outer packet. CLEAR ignores the defragmentation bit present in the inner packet.
          enum:
          - COPY
          - CLEAR
          title: |-
            Policy for handling defragmentation bit
          type: string
        dh_groups:
          description: |-
            Diffie-Hellman group to be used if PFS is enabled. Default is GROUP14.
          items:
            description: |
              Diffie-Hellman groups represent algorithm used to derive shared
              keys between IPSec VPN initiator and responder over an
              unsecured network.
              GROUP2 uses 1024-bit Modular Exponentiation (MODP) group.
              GROUP5 uses 1536-bit MODP group.
              GROUP14 uses 2048-bit MODP group.
              GROUP15 uses 3072-bit MODP group.
              GROUP16 uses 4096-bit MODP group.
              GROUP19 uses 256-bit random Elliptic Curve (ECP) group.
              GROUP20 uses 384-bit random ECP group.
              GROUP21 uses 521-bit random ECP group.
            enum:
            - GROUP2
            - GROUP5
            - GROUP14
            - GROUP15
            - GROUP16
            - GROUP19
            - GROUP20
            - GROUP21
            type: string
          title: |-
            DH group
          type: array
        digest_algorithms:
          description: |-
            Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm "AES_GCM_128".
          items:
            description: |
              The TunnelDigestAlgorithms are used to verify message
              integrity during IPSec VPN tunnel establishment.
              SHA1 produces 160 bits hash and SHA2_XXX produces
              XXX bit hash.
            enum:
            - SHA1
            - SHA2_256
            - SHA2_384
            - SHA2_512
            type: string
          title: |-
            Algorithm for message hash
          type: array
        enable_perfect_forward_secrecy:
          default: true
          description: |-
            If true, perfect forward secrecy (PFS) is enabled.
          title: |-
            Enable perfect forward secrecy
          type: boolean
        encapsulation_mode:
          default: TUNNEL_MODE
          description: |-
            Encapsulation Mode to be used for encryption of packet. Tunnel mode protects internal routing information by encrypting IP header of original packet.
          enum:
          - TUNNEL_MODE
          readOnly: true
          title: |-
            Encapsulation Mode
          type: string
        encryption_algorithms:
          description: |-
            Encryption algorithm to encrypt/decrypt the messages exchanged between IPSec VPN initiator and responder during tunnel negotiation. Default is AES_GCM_128.
          items:
            description: |
              TunnelEncryption algorithms are used to ensure confidentiality
              of the messages exchanged during Tunnel negotiations. AES
              stands for Advanced Encryption Standards. AES_128 uses 128-bit
              keys whereas AES_256 uses 256-bit keys for encryption and
              decryption. AES_GCM stands for Advanced Encryption Standard(AES)
              in Galois/Counter Mode (GCM) and is used to provide both
              confidentiality and data origin authentication.
              NO_ENCRYPTION_AUTH_AES_GMAC_* enables authentication on input
              data without encyption. Digest algorithm should be empty for this
              option.
            enum:
            - AES_128
            - AES_256
            - AES_GCM_128
            - AES_GCM_192
            - AES_GCM_256
            - NO_ENCRYPTION_AUTH_AES_GMAC_128
            - NO_ENCRYPTION_AUTH_AES_GMAC_192
            - NO_ENCRYPTION_AUTH_AES_GMAC_256
            - NO_ENCRYPTION
            type: string
          title: |-
            Encryption algorithm to use in tunnel establishement
          type: array
        sa_life_time:
          default: 3600
          description: |
            SA life time specifies the expiry time of security
            association. Default is 3600 seconds.
          format: int64
          maximum: 31536000
          minimum: 900
          title: |-
            Security association (SA) life time
          type: integer
        transform_protocol:
          default: ESP
          description: |-
            IPSec transform specifies IPSec security protocol.
          enum:
          - ESP
          readOnly: true
          title: |-
            Tunnel protocol
          type: string
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      IPSec VPN tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. Any changes affects all IPSec VPN sessions consuming this profile.
    title: |-
      IPSec VPN tunnel profile
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNTunnelProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSec Tunnel Profile list results
          items:
            $ref: '#/definitions/IPSecVPNTunnelProfile'
          title: |-
            IPSec Tunnel Profile list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      List all the tunnel profiles.
    title: |-
      List tunnel profiles
    x-vmw-nsx-module: IPSecVPN
  IPSecVPNTunnelTrafficStatistics:
    description: |-
      IPSec VPN tunnel traffic statistics.
    properties:
      bytes_in:
        description: |-
          Total number of incoming bytes on inbound Security association (SA).
        format: int64
        readOnly: true
        title: |-
          Bytes in
        type: integer
      bytes_out:
        description: |-
          Total number of outgoing bytes on outbound Security association (SA).
        format: int64
        readOnly: true
        title: |-
          Bytes out
        type: integer
      decryption_failures:
        description: |-
          Total number of packets dropped due to decryption failures.
        format: int64
        readOnly: true
        title: |-
          Decryption failures
        type: integer
      dropped_packets_in:
        description: |-
          Total number of incoming packets dropped on inbound security association.
        format: int64
        readOnly: true
        title: |-
          Dropped incoming packets
        type: integer
      dropped_packets_out:
        description: |-
          Total number of outgoing packets dropped on outbound security association.
        format: int64
        readOnly: true
        title: |-
          Dropped outgoing packets
        type: integer
      encryption_failures:
        description: |-
          Total number of packets dropped because of failure in encryption.
        format: int64
        readOnly: true
        title: |-
          Encryption failures
        type: integer
      integrity_failures:
        description: |-
          Total number of packets dropped due to integrity failures.
        format: int64
        readOnly: true
        title: |-
          Integrity failures
        type: integer
      local_subnet:
        description: |-
          Local subnet to which a tunnel belongs.
        readOnly: true
        title: |-
          Local subnet
        type: string
      nomatching_policy_errors:
        description: |-
          Number of packets dropped because of no matching policy is available.
        format: int64
        readOnly: true
        title: |-
          Nomatching Policy errors
        type: integer
      packets_in:
        description: |-
          Total number of incoming packets on inbound Security association (SA).
        format: int64
        readOnly: true
        title: |-
          Packets in
        type: integer
      packets_out:
        description: |-
          Total number of outgoing packets on outbound Security association (SA).
        format: int64
        readOnly: true
        title: |-
          Packets out
        type: integer
      packets_receive_other_error:
        description: |-
          Total number of incoming packets dropped on inbound Security association (SA)(misc).
        format: int64
        readOnly: true
        title: |-
          Packets receive other error
        type: integer
      packets_sent_other_error:
        description: |-
          Total number of packets dropped while sending for any reason.
        format: int64
        readOnly: true
        title: |-
          Packets sent other error
        type: integer
      peer_subnet:
        description: |-
          Peer subnet to which a tunnel belongs.
        readOnly: true
        title: |-
          Peer subnet
        type: string
      policy_id:
        description: |-
          Policy UUID of IPSec Tunnel.
        readOnly: true
        title: |-
          Policy Identifier
        type: string
      replay_errors:
        description: |-
          Total number of packets dropped due to replay check on that Security association (SA).
        format: int64
        readOnly: true
        title: |-
          Replay errors
        type: integer
      sa_mismatch_errors_in:
        description: |-
          Totoal number of security association (SA) mismatch errors on incoming packets.
        format: int64
        readOnly: true
        title: |-
          Security association (SA) mismatch errors on incoming packets
        type: integer
      sa_mismatch_errors_out:
        description: |-
          Totoal number of security association (SA) mismatch errors on outgoing packets.
        format: int64
        readOnly: true
        title: |-
          Security association (SA) mismatch errors on outgoing packets
        type: integer
      seq_number_overflow_error:
        description: |-
          Total number of packets dropped while sending due to overflow in sequence number.
        format: int64
        readOnly: true
        title: |-
          Sequence number overflow error
        type: integer
      tunnel_down_reason:
        description: |-
          Gives the detailed reason about the tunnel when it is down. If tunnel is UP tunnel down reason will be empty.
        readOnly: true
        title: |-
          Tunnel down reason
        type: string
      tunnel_status:
        description: |-
          Specifies the status of tunnel. If all the SA (Security association) are negotiated then tunnels status will be UP. If negotiation fails for the SAs status will be DOWN, if SAs are in negotiating phase tunnels status will be NEGOTIATING.
        enum:
        - UP
        - DOWN
        - NEGOTIATING
        readOnly: true
        title: |-
          Tunnel Status
        type: string
    title: |-
      IPSec VPN tunnel traffic statistics
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPSet:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ip_addresses:
          description: |-
            IP addresses
          items:
            description: |
              IPElement can be a single IP address, IP address range or a Subnet. Its
              type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
              "192.168.1.1-192.168.1.100", "192.168.0.0/24",
              "fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:318c/64"
            format: address-or-block-or-range
            type: string
          maxItems: 4000
          title: |-
            IP addresses
          type: array
      type: object
      x-vmw-nsx-module: IPSet
    description: |
      IPSet is used to group individual IP addresses, range of IP addresses or subnets.
      An IPSet is a homogeneous group of IP addresses, either of type IPv4 or of type
      IPv6. IPSets can be used as source or destination in firewall rules. These can
      also be used as members of NSGroups.
    title: |-
      Set of one or more IP addresses
    x-vmw-nsx-module: IPSet
  IPSetListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPSet list results
          items:
            $ref: '#/definitions/IPSet'
          title: |-
            IPSet list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IPSet
    description: |-
      Paged collection of IPSets
    title: |-
      Paged collection of IPSets
    x-vmw-nsx-module: IPSet
  IPSubnet:
    properties:
      ip_addresses:
        description: |
          All IP addresses, some of which  may be automatically
          configured. When updating this field, the payload may
          contain only the IP addresses that should be changed,
          or may contain the IP addresses to change as well as
          the automatically assigned addresses.
          Currently, only one updatable address and one
          system-maintained address are supported.
          Currently, the system-maintained address supported is
          Extended Unique Identifier(EUI)-64 address.
          EUI-64 address is generated by the system only when user
          configured ip-subnet has prefix length less than
          or equal to 64.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        maxItems: 2
        minItems: 1
        title: |-
          IP Addresses
        type: array
      prefix_length:
        description: |-
          Subnet Prefix Length
        format: int64
        maximum: 128
        minimum: 1
        title: |-
          Subnet Prefix Length
        type: integer
    required:
    - ip_addresses
    - prefix_length
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  IPsecVPNIKESessionSummary:
    description: |-
      IPSec VPN session status summary, gives total, failed, degraded and established IPSec VPN sessions.
    properties:
      degraded_sessions:
        description: |-
          Number of degraded sessions.
        format: int64
        readOnly: true
        title: |-
          Degraded sessions
        type: integer
      established_sessions:
        description: |-
          Number of established sessions.
        format: int64
        readOnly: true
        title: |-
          Established sessions
        type: integer
      failed_sessions:
        description: |-
          Number of failed sessions.
        format: int64
        readOnly: true
        title: |-
          Failed sessions
        type: integer
      total_sessions:
        description: |-
          Total sessions configured.
        format: int64
        readOnly: true
        title: |-
          Total sessions
        type: integer
    title: |-
      IPSec VPN session status summary
    type: object
    x-vmw-nsx-module: VPNStatistics
  IPv4AddressProperties:
    description: |-
      IPv4 address properties
    properties:
      ip_address:
        description: |-
          Interface IPv4 address
        title: |-
          Interface IPv4 address
        type: string
      netmask:
        description: |-
          Interface netmask
        title: |-
          Interface netmask
        type: string
    title: |-
      IPv4 address properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  IPv4DhcpServer:
    description: |
      DHCP server to support IPv4 DHCP service. Properties defined at DHCP server
      level can be overridden by ip-pool or static-binding level properties.
    properties:
      dhcp_server_ip:
        description: |-
          DHCP server ip in CIDR format.
        format: ipv4-cidr-block
        type: string
      dns_nameservers:
        description: |
          Primary and secondary DNS server address to assign host. They can be
          overridden by ip-pool or static-binding level property.
        items:
          description: |-
            IPv4 address
          format: ipv4
          type: string
        maxItems: 2
        minItems: 0
        title: |-
          DNS ips
        type: array
      domain_name:
        description: |
          Host name or prefix to be assigned to host. It can be overridden by
          ip-pool or static-binding level property.
        format: hostname
        title: |-
          Domain name
        type: string
      gateway_ip:
        description: |
          Gateway ip to be assigned to host. It can be overridden by ip-pool or
          static-binding level property.
        format: ipv4
        type: string
      monitor_ippool_usage:
        default: false
        description: |
          Enable or disable monitoring of DHCP ip-pools usage. When enabled, system events are
          generated when pool usage exceeds the configured thresholds.
          System events can be viewed in REST API /api/v2/hpm/alarms
        title: |-
          Enable/disable monitoring DHCP ip-pool usage
        type: boolean
      options:
        $ref: '#/definitions/DhcpOptions'
        description: |
          Defines the default options for all ip-pools and static-bindings of this server.
          These options will be ignored if options are defined for ip-pools or static-bindings.
        title: |-
          DHCP options
    required:
    - dhcp_server_ip
    title: |-
      DHCP server to support IPv4 DHCP service
    type: object
    x-vmw-nsx-module: Dhcp
  IPv6DADStatus:
    description: |-
      IPv6 DAD status
    properties:
      ip_address:
        description: |
          IP address on the port for which DAD status is reported.
        format: ip
        readOnly: true
        type: string
      status:
        description: |
          DAD status for IP address on the port.
        enum:
        - DUPLICATED
        - TENTATIVE
        - ASSIGNED
        - NOT_APPLICABLE
        - UNKNOWN
        readOnly: true
        type: string
      transport_node:
        description: |
          Array of transport node id on which DAD status is reported for
          given IP address.
        items:
          $ref: '#/definitions/ResourceReference'
        readOnly: true
        title: |-
          Transport node
        type: array
    title: |-
      IPv6 DAD status
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  IPv6DhcpServer:
    description: |
      DHCP server to support IPv6 DHCP service. Properties defined at DHCP server
      level can be overridden by ip-pool or static-binding level properties.
    properties:
      dhcp_server_ip:
        description: |-
          DHCP server ip in CIDR format.
        format: ipv6-cidr-block
        type: string
      dns_nameservers:
        description: |
          Primary and secondary DNS server address to assign host. They can be
          overridden by ip-pool or static-binding level property.
        items:
          description: |-
            IPv6 address
          format: ipv6
          type: string
        maxItems: 2
        minItems: 0
        title: |-
          DNS ips
        type: array
      domain_names:
        description: |
          Host name or prefix to be assigned to host. It can be overridden by
          ip-pool or static-binding level property.
        items:
          type: string
        title: |-
          Domain name
        type: array
      server_id:
        description: |-
          DHCP server id.
        readOnly: true
        title: |-
          DHCP server id
        type: string
      sntp_servers:
        description: |-
          SNTP server ips.
        items:
          description: |-
            IPv6 address
          format: ipv6
          type: string
        maxItems: 2
        minItems: 0
        title: |-
          SNTP server ips
        type: array
    title: |-
      DHCP server to support IPv6 DHCP service
    type: object
    x-vmw-nsx-module: Dhcp
  IPv6Profiles:
    properties:
      dad_profile_id:
        description: |
          Identifier of Duplicate Address Detection profile.
          DAD profile has various configurations related to duplicate
          address detection. If no profile is associated manually to the router,
          then the system defined default DAD profile will be automatically
          applied.
        title: |-
          DAD profile identifier
        type: string
      ndra_profile_id:
        description: |
          Identifier of Neighbor Discovery Router Advertisement profile.
          NDRA profile has various configurations required for router
          advertisement. If no profile is associated manually to the router,
          then the system defined default NDRA profile will be automatically
          applied.
        title: |-
          NDRA profile identifier
        type: string
    type: object
    x-vmw-nsx-module: LogicalRouter
  IcmpEchoRequestHeader:
    properties:
      id:
        default: 0
        description: |-
          ICMP id
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          ICMP id
        type: integer
      sequence:
        default: 0
        description: |-
          ICMP sequence number
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          ICMP sequence number
        type: integer
    type: object
    x-vmw-nsx-module: Traceflow
  Icon:
    description: |-
      Icon to be applied at dashboard for widgets and UI elements.
    properties:
      placement:
        default: PRE
        description: |-
          If specified as PRE, the icon appears before the UI element. If set as POST, the icon appears after the UI element.
        enum:
        - PRE
        - POST
        title: |-
          Position at which to display icon, if any
        type: string
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over the icon.
        items:
          $ref: '#/definitions/Tooltip'
        title: |-
          Multi-line tooltip
        type: array
      type:
        description: |-
          Icon will be rendered based on its type. For example, if ERROR is chosen, then icon representing error will be rendered.
        enum:
        - ERROR
        - WARNING
        - INFO
        - INPROGRESS
        - SUCCESS
        - DETAIL
        - NOT_AVAILABLE
        - SECURITY
        - NETWORKING
        - LOAD_BALANCER
        - VPN
        - DOMAIN
        - GROUP
        - DISTRIBUTED_FIREWALL
        - NETWORKING_TIER0
        - NETWORKING_TIER1
        - SEGMENT
        - SYSTEM
        - SYSTEM_FABRIC
        - SYSTEM_BACKUPRESTORE
        - INVENTORY_GROUPS
        - SECURITY_DFW
        title: |-
          Type of icon
        type: string
    title: |-
      Icon
    type: object
    x-vmw-nsx-module: NsxDashboard
  IdfwComputeCollectionCondition:
    description: |-
      Status of the Identity Firewall enabled Compute collection.
    properties:
      status:
        description: |-
          IDFW enabled Compute collection status.
        enum:
        - UNKNOWN
        - UP
        - DOWN
        - DFW_DISABLED
        - IDFW_DISABLED
        title: |-
          IDFW enabled Compute collection status.
        type: string
      status_detail:
        description: |-
          Status of the Compute collection.
        title: |-
          Compute collection status.
        type: string
    required:
    - status
    title: |-
      IDFW Compute collection status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwComputeCollectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Array of IDFW compute collection Ids and status connected to VC.
          items:
            $ref: '#/definitions/IdfwComputeCollectionStatus'
          title: |-
            List of IDFW ComputeCollection.
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |-
      List of compute collection ids and status connected to VC.
    title: |-
      List of IDFW enabled compute collections connected to VC
    x-vmw-nsx-module: IdentityFirewall
  IdfwComputeCollectionStatus:
    description: |-
      compute collection ID and status connected to VC.
    properties:
      compute_collection_id:
        description: |-
          IDFW compute collection ID connected to VC.
        title: |-
          IDFW compute collection ID.
        type: string
      compute_collection_status:
        description: |-
          IDFW enabled compute collection status.
        items:
          $ref: '#/definitions/IdfwComputeCollectionCondition'
        title: |-
          Compute collection status.
        type: array
    required:
    - compute_collection_id
    title: |-
      IDFW compute collection ID and status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwDirGroupUserSessionMapping:
    description: |
      Identity Firewall NSGorup to user mapping to link DirGroup to user session data.
    properties:
      dir_group_id:
        description: |-
          Directory Group ID.
        readOnly: true
        title: |-
          Directory Group ID
        type: string
      user_id:
        description: |-
          User ID.
        readOnly: true
        title: |-
          User ID
        type: string
    title: |-
      Identity Firewall NSGorup to user mapping to link DirGroup to user session data
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwEnabledComputeCollection:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        compute_collection_id:
          description: |-
            Compute collection ID.
          title: |-
            Compute collection ID
          type: string
        compute_collection_name:
          description: |-
            Compute collection name.
          title: |-
            Compute collection name
          type: string
        enabled:
          description: |-
            Compute collection enabled status (true=Enabled / false=Disabled).
          title: |-
            Enabled/disabled
          type: boolean
      required:
      - compute_collection_id
      - enabled
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |
      Compute collection enabled for Identity Firewall where login events will be
      collected.
    title: |-
      Identity Firewall enabled compute collection
    x-vmw-nsx-module: IdentityFirewall
  IdfwEnabledComputeCollectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Array of IDFW Enabled Compute Collections.
          items:
            $ref: '#/definitions/IdfwEnabledComputeCollection'
          title: |-
            List of IDFW Enabled Compute Collections
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |
      List of compute collections enabled for IDFW where login events will be
      collected.
    title: |-
      Identity Firewall enabled compute collection list
    x-vmw-nsx-module: IdentityFirewall
  IdfwMasterSwitchSetting:
    description: |
      Identity Firewall master switch setting.  This setting enables or disables
      Identity Firewall feature across the system.  It affects compute collections,
      hypervisor and virtual machines.  This operation is expensive and also has big
      impact and implication on system perforamce.
    properties:
      idfw_master_switch_enabled:
        description: |-
          IDFW master switch (true=Enabled / false=Disabled).
        title: |-
          IDFW master switch
        type: boolean
    required:
    - idfw_master_switch_enabled
    title: |-
      Identity Firewall master switch setting
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwNsgroupVmDetailListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        ns_group_id:
          description: |-
            NSGroup ID
          readOnly: true
          title: |-
            NSGroup ID
          type: string
        results:
          description: |-
            List of user login/session data for a single VM
          items:
            $ref: '#/definitions/IdfwVmDetail'
          title: |-
            List of user login/session data for a single VM
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |-
      Identity Firewall user login/session data for a single NSGroup.
    title: |-
      Identity Firewall user login/session data for a single NSGroup
    x-vmw-nsx-module: IdentityFirewall
  IdfwStandaloneHostsSwitchSetting:
    description: |
      Identity Firewall standalone hosts switch setting. This setting enables or
      disables Identity Firewall feature on all standalone hosts.
    properties:
      standalone_hosts_enabled:
        description: |-
          IDFW standalone hosts switch (true=Enabled / false=Disabled).
        title: |-
          IDFW standalone hosts switch
        type: boolean
    required:
    - standalone_hosts_enabled
    title: |-
      Identity Firewall standalone hosts switch setting
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwSystemStats:
    description: |-
      Identity Firewall statistics data.
    properties:
      num_concurrent_users:
        description: |
          Number of concurrent logged on users (across VDI & RDSH).  Multiple
          logins by the same user is counted as 1.
        format: int32
        title: |-
          Number of concurrent logged on users (across VDI & RDSH)
        type: integer
      num_user_sessions:
        description: |
          Number of active user sessions/logins in IDFW enabled compute collections
          (including both UP and DOWN hosts).  N sessions/logins by the same user
          is counted as n.
        format: int32
        title: |-
          Number of active user sessions/logins
        type: integer
    required:
    - num_concurrent_users
    - num_user_sessions
    title: |-
      Identity Firewall statistics data
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwTransportNodeCondition:
    description: |
      Status of the Identity Firewall Compute Collection's transport node.
    properties:
      status:
        description: |-
          Transport node status for IDFW compute collection.
        enum:
        - UNKNOWN
        - UP
        - DOWN
        - NOT_PREPARED
        - IDFW_COMPONENT_NOT_INSTALLED
        - DFW_DISABLED
        - IDFW_DISABLED
        title: |-
          IDFW TransportNode status.
        type: string
      status_detail:
        description: |-
          IDFW Compute collection's transport node condition.
        title: |-
          IDFW transport node condition.
        type: string
    required:
    - status
    title: |-
      IDFW transport node status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwTransportNodeStatus:
    description: |
      ID and status of the Identity Firewall enabled Compute collection's
      transport node.
    properties:
      transport_node_id:
        description: |
          TransportNode ID of the Identity Firewall enabled Compute
          collection's transport node.
        title: |-
          IDFW TransportNode ID.
        type: string
      transport_node_status:
        description: |-
          Status of the IDFW transport node.
        items:
          $ref: '#/definitions/IdfwTransportNodeCondition'
        title: |-
          IDFW TransportNode status.
        type: array
    required:
    - transport_node_status
    - transport_node_id
    title: |-
      IDFW transport node ID and status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwTransportNodeStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            List of transport node ids and  status for idfw enabled
            Compute collection.
          items:
            $ref: '#/definitions/IdfwTransportNodeStatus'
          title: |-
            IDFW enabled Compute collection transport node list.
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |
      Status of the Identity Firewall enabled Compute collection
      transport nodes.
    title: |-
      IDFW enabled Compute collection transport node and status list.
    x-vmw-nsx-module: IdentityFirewall
  IdfwUserSessionData:
    description: |
      Identity Firewall user session data on a client machine (typically a VM).
      Multiple entries for the same user can be returned if the user logins to
      multiple sessions on the same VM.
    properties:
      domain_name:
        description: |-
          AD Domain of user.
        title: |-
          AD Domain
        type: string
      id:
        description: |-
          Identifier of user session data.
        readOnly: true
        title: |-
          User session data Identifier
        type: string
      login_time:
        description: |-
          Login time.
        format: int64
        type: integer
      logout_time:
        description: |
          Logout time if applicable.  An active user session has no logout time.
          Non-active user session is stored (up to last 5 most recent entries) per
          VM and per user.
        format: int64
        type: integer
      user_id:
        description: |-
          AD user ID (may not exist).
        readOnly: true
        title: |-
          AD user ID (may not exist)
        type: string
      user_name:
        description: |-
          AD user name.
        title: |-
          AD user name
        type: string
      user_session_id:
        description: |-
          User session ID.  This also indicates whether this is VDI / RDSH.
        format: int32
        title: |-
          User session ID
        type: integer
      vm_ext_id:
        description: |-
          Virtual machine (external ID or BIOS UUID) where login/logout events occurred.
        readOnly: true
        title: |-
          Virtual machine external ID or BIOS UUID
        type: string
    required:
    - login_time
    - user_name
    - domain_name
    - user_session_id
    title: |-
      Identity Firewall user session data on client machine
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwUserSessionDataAndMappings:
    description: |
      Identity Firewall user session data list and Directory Group to user mappings.
    properties:
      active_user_sessions:
        description: |-
          Active user session data list
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          Active user session data list
        type: array
      archived_user_sessions:
        description: |-
          Archived user session data list
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          Archived user session data list
        type: array
      dir_group_to_user_session_data_mappings:
        description: |-
          Directory Group to user session data mappings
        items:
          $ref: '#/definitions/IdfwDirGroupUserSessionMapping'
        title: |-
          Directory Group to user session data mappings
        type: array
    required:
    - archived_user_sessions
    - active_user_sessions
    - dir_group_to_user_session_data_mappings
    title: |-
      Identity Firewall user session data list and Directory Group to user mappings
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwUserStats:
    description: |-
      Identity Firewall user login/session data for a single user.
    properties:
      active_sessions:
        description: |-
          List of active (still logged in) user login/sessions data (no limit)
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          List of active (still logged in) user login/sessions data (no limit)
        type: array
      archived_sessions:
        description: |
          Optional list of up to 5 most recent archived (previously logged in) user
          login/session data.
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          List of archived (previously logged in) user login/session data
        type: array
      user_id:
        description: |-
          AD user Identifier (String ID)
        readOnly: true
        title: |-
          AD user Identifier (String ID)
        type: string
    required:
    - active_sessions
    title: |-
      Identity Firewall user login/session data for a single user
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwVirtualMachineCondition:
    description: |-
      Status of the Identity Firewall compute collection's VM.
    properties:
      status:
        description: |-
          VM IDFW Status.
        enum:
        - UNKNOWN
        - UP
        - DOWN
        - VM_TOOLS_NOT_INSTALLED
        - IDFW_NOT_SUPPORTED
        - DFW_DISABLED
        - IDFW_DISABLED
        title: |-
          VM IDFW Status.
        type: string
      status_detail:
        description: |-
          IDFW compute collection's VM condition.
        title: |-
          IDFW VM condition.
        type: string
    required:
    - status
    title: |-
      IDFW VM Status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwVirtualMachineStatus:
    description: |
      ID and status of the VM on Identity Firewall compute collection.
    properties:
      vm_id:
        description: |
          VM ID of the VM on Identity Firewall compute collection.
        title: |-
          IDFW Virtual Machine ID.
        type: string
      vm_status:
        description: |
          Status of the Identity Firewall compute collection's Virtual Machine.
        items:
          $ref: '#/definitions/IdfwVirtualMachineCondition'
        title: |-
          IDFW VM status.
        type: array
    required:
    - vm_status
    - vm_id
    title: |-
      IDFW VM ID and status.
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwVirtualMachineStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of VM's on Identity Firewall Compute collection.
          items:
            $ref: '#/definitions/IdfwVirtualMachineStatus'
          title: |-
            IDFW Virtual machine list.
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: IdentityFirewall
    description: |
      VM ID and status of the Identity Firewall Compute collection.
    title: |-
      IDFW VM ID and status.
    x-vmw-nsx-module: IdentityFirewall
  IdfwVmDetail:
    description: |-
      Identity Firewall user login/session data for a single VM
    properties:
      last_login_user_session:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Record of the last logged in user session (if exists).
        title: |-
          Last logged in user and time (if exists)
      user_sessions:
        description: |-
          List of user session data.
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          List of user session data
        type: array
      vm_ext_id:
        description: |-
          Virtual machine (external ID or BIOS UUID) where login/logout event occurred.
        title: |-
          Virtual machine external ID or BIOS UUID
        type: string
      vm_ip_addresses:
        description: |-
          List of client machine IP addresses.
        items:
          type: string
        title: |-
          Client VM IP addresses
        type: array
    required:
    - vm_ext_id
    - user_sessions
    title: |-
      Identity Firewall user login/session data for a single VM
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdfwVmStats:
    description: |-
      Identity Firewall user login/session data for a single VM.
    properties:
      active_sessions:
        description: |-
          List of active (still logged in) user login/sessions data (no limit)
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          List of active (still logged in) user login/sessions data (no limit)
        type: array
      archived_sessions:
        description: |-
          Optional list of up to 5 most recent archived (previously logged in) user login/session data.
        items:
          $ref: '#/definitions/IdfwUserSessionData'
        title: |-
          Optional list of archived (previously logged in) user login/session data (maximum 5)
        type: array
      vm_ext_id:
        description: |-
          Virtual machine (external ID or BIOS UUID) where login/logout event occurred.
        title: |-
          Virtual machine external ID or BIOS UUID
        type: string
    required:
    - vm_ext_id
    - active_sessions
    title: |-
      Identity Firewall user login/session data for a single VM
    type: object
    x-vmw-nsx-module: IdentityFirewall
  IdsEventFlowData:
    description: |
      IDS event flow data specific to each IDS
      event. The data includes source ip, source
      port, destination ip, destination port,
      protocol, rule id, profile id, and the
      action.
    properties:
      action_type:
        description: |-
          The action pertaining to the detected intrusion. Possible values are ALERT, DROP, REJECT, and INVALID. ALERT - If there is a signature match on the packet, it is allowed to pass but a notification is sent to the user notifying an intrusion was detected. DROP - On a signature match, the packet is silently dropped. An alert is sent to the user that an intrusion was detected. REJECT - On a signature match, the packet is dropped and TCP RST or ICMP error messages (for non-TCP pkts) are sent to the endpoints. An alert is sent to the user that an intrusion was detected. INVALID - If the action doesn't belong to any of the above mentioned categories, it is marked as INVALID.
        enum:
        - ALERT
        - DROP
        - REJECT
        - INVALID
        readOnly: true
        title: |-
          IDS Event action
        type: string
      bytes_toclient:
        description: |-
          Bytes sent to client.
        format: int64
        readOnly: true
        title: |-
          Bytes to client
        type: integer
      bytes_toserver:
        description: |-
          Bytes sent to server.
        format: int64
        readOnly: true
        title: |-
          Bytes to server
        type: integer
      client_ip:
        description: |-
          IP address of the VM that initiated the communication.
        readOnly: true
        title: |-
          IP address of the client VM
        type: string
      destination_ip:
        description: |-
          IP address of the destination VM on the intrusion flow.
        readOnly: true
        title: |-
          IP address of the destination VM
        type: string
      destination_port:
        description: |-
          Port on the destination VM where the traffic was sent to.
        format: int64
        readOnly: true
        title: |-
          Destination port
        type: integer
      local_vm_ip:
        description: |-
          IP address of VM on the host where IDS engine is running.
        readOnly: true
        title: |-
          IP address of the local VM
        type: string
      profile_id:
        description: |-
          The IDS profile id that is associated with the IDS rule pertaining to the intrusion event detected.
        readOnly: true
        title: |-
          IDS profile id
        type: string
      protocol:
        description: |-
          Traffic protocol pertaining to the detected intrusion, could be TCP/UDP etc.
        readOnly: true
        title: |-
          Traffic protocol pertaining to the intrusion
        type: string
      rule_id:
        description: |-
          The IDS Rule id pertaining to the detected intrusion.
        format: int64
        readOnly: true
        title: |-
          IDS Rule id of detected intrusion
        type: integer
      source_ip:
        description: |-
          IP address of the source VM on the intrusion flow.
        readOnly: true
        title: |-
          IP address of the source VM
        type: string
      source_port:
        description: |-
          Source port through which traffic was initiated that caused the intrusion to be detected.
        format: int64
        readOnly: true
        title: |-
          Source port
        type: integer
    title: |-
      IDS event flow data
    type: object
    x-vmw-nsx-module: IDSMetrics
  IdsGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        global_idsevents_to_syslog_enabled:
          default: false
          description: |-
            When this flag is set to true, IDS events would be sent to syslog.
          title: |-
            A flag to indicate if IDS events need to be sent to syslog
          type: boolean
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for Distributed Intrusion Services
    title: |-
      NSX global configs for Distributed Intrusion Services
    x-vmw-nsx-module: GlobalConfigs
  IdsUserList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of all affected users specific to a particular signature.
          items:
            type: string
          readOnly: true
          title: |-
            List of all affected users
          type: array
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      List of all affected users pertaining to a
      specific signature.
    title: |-
      List of affected Users
    x-vmw-nsx-module: IDSMetrics
  IdsUserStats:
    description: |
      List of Users logged into VMs where intrusions of a given signature
      were detected.
    properties:
      count:
        description: |-
          Number of unique users logged into VMs on which a particular signature was detected.
        format: int64
        readOnly: true
        title: |-
          Number of unique users
        type: integer
      user_list:
        description: |-
          List of users logged into VMs on which a particular signature was detected.
        items:
          type: string
        readOnly: true
        title: |-
          List of users
        type: array
    title: |-
      List of Users
    type: object
    x-vmw-nsx-module: IDSMetrics
  IdsVmList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of all affected VMs specific to a particular signature.
          items:
            type: string
          readOnly: true
          title: |-
            List of all affected VMs
          type: array
      type: object
      x-vmw-nsx-module: IDSMetrics
    description: |
      List of all affected VMs pertaining to a
      specific signature.
    title: |-
      List of affected VMs
    x-vmw-nsx-module: IDSMetrics
  IdsVmStats:
    description: |
      List of VMs on which a particular signature was detected with the count.
    properties:
      count:
        description: |-
          Number of unique VMs on which a particular signature was detected.
        format: int64
        readOnly: true
        title: |-
          Number of unique VMs
        type: integer
      vm_list:
        description: |-
          List of VM names  on which intrusions of that particular signature type were detected.
        items:
          type: string
        readOnly: true
        title: |-
          List of VM names
        type: array
    title: |-
      List of VMs where signature was detected
    type: object
    x-vmw-nsx-module: IDSMetrics
  IncludedFieldsParameters:
    description: |-
      A list of fields to include in query results
    properties:
      included_fields:
        description: |-
          Comma separated list of fields that should be included in query result
        title: |-
          Comma separated list of fields that should be included in query result
        type: string
    title: |-
      A list of fields to include in query results
    type: object
    x-vmw-nsx-module: Common
  IngressBroadcastRateShaper:
    allOf:
    - $ref: '#/definitions/QosBaseRateShaper'
    - properties:
        average_bandwidth_kbps:
          default: 0
          description: |-
            Average bandwidth in kb/s
          format: int32
          minimum: 0
          title: |-
            Average bandwidth in kb/s
          type: integer
        burst_size_bytes:
          default: 0
          description: |-
            Burst size in bytes
          format: int32
          minimum: 0
          title: |-
            Burst size in bytes
          type: integer
        peak_bandwidth_kbps:
          default: 0
          description: |-
            Peak bandwidth in kb/s
          format: int32
          minimum: 0
          title: |-
            Peak bandwidth in kb/s
          type: integer
      type: object
      x-vmw-nsx-module: QosSwitchingProfile
    description: |-
      A shaper that specifies ingress rate properties in kb/s
    title: |-
      A shaper that specifies ingress rate properties in kb/s
    x-vmw-nsx-module: QosSwitchingProfile
  IngressRateShaper:
    allOf:
    - $ref: '#/definitions/QosBaseRateShaper'
    - properties:
        average_bandwidth_mbps:
          default: 0
          description: |-
            Average bandwidth in Mb/s
          format: int32
          minimum: 0
          title: |-
            Average bandwidth in Mb/s
          type: integer
        burst_size_bytes:
          default: 0
          description: |-
            Burst size in bytes
          format: int32
          minimum: 0
          title: |-
            Burst size in bytes
          type: integer
        peak_bandwidth_mbps:
          default: 0
          description: |-
            Peak bandwidth in Mb/s
          format: int32
          minimum: 0
          title: |-
            Peak bandwidth in Mb/s
          type: integer
      type: object
      x-vmw-nsx-module: QosSwitchingProfile
    description: |-
      A shaper that specifies ingress rate properties in Mb/s
    title: |-
      A shaper that specifies ingress rate properties in Mb/s
    x-vmw-nsx-module: QosSwitchingProfile
  InitiateClusterRestoreRequest:
    properties:
      ip_address:
        description: |-
          IP address or FQDN of the node from which the backup was taken
        format: hostname-or-ip
        readOnly: true
        title: |-
          IP address or FQDN of the node from which the backup was taken
        type: string
      node_id:
        description: |
          Unique id of the backed-up configuration from which
          the appliance will be restored
        readOnly: true
        title: |
          Unique id of the backed-up configuration from which
          the appliance will be restored
        type: string
      timestamp:
        description: |
          Timestamp of the backed-up configuration from which
          the appliance will be restored
        format: int64
        readOnly: true
        type: integer
    type: object
    x-vmw-nsx-module: ClusterRestore
  InstallUpgradeServiceProperties:
    description: |-
      install-upgrade service properties
    properties:
      enabled:
        description: |-
          True if service enabled; otherwise, false
        title: |-
          True if service enabled; otherwise, false
        type: boolean
      enabled_on:
        description: |-
          IP of manager on which install-upgrade is enabled
        readOnly: true
        title: |-
          IP of manager on which install-upgrade is enabled
        type: string
    required:
    - enabled
    title: |-
      install-upgrade service properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  InstanceDeploymentConfig:
    description: |-
      The Instance Deployment Config contains settings that is applied during install time.
    properties:
      compute_id:
        description: |-
          Resource Pool or Compute Id.
        readOnly: false
        title: |-
          compute id
        type: string
      context_id:
        description: |-
          Context Id or VCenter Id.
        readOnly: false
        title: |-
          Context Id
        type: string
      host_id:
        description: |
          The service VM will be deployed on the specified host in the
          specified server within the cluster if host_id is specified.
          Note: You must ensure that storage and specified networks are
          accessible by this host.
        readOnly: false
        title: |-
          Host id
        type: string
      storage_id:
        description: |-
          Storage Id.
        readOnly: false
        title: |-
          storage id
        type: string
      vm_nic_infos:
        description: |-
          List of NIC information for VMs
        items:
          $ref: '#/definitions/VmNicInfo'
        maxItems: 2
        minItems: 1
        readOnly: false
        title: |-
          List of VM NIC information
        type: array
    required:
    - context_id
    - vm_nic_infos
    - storage_id
    - compute_id
    title: |-
      Instance Deployment Config
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  InstanceEndpoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        endpoint_type:
          default: LOGICAL
          description: |-
            LOGICAL - It must be created with a ServiceAttachment and identifies a destination connected to the Service Port of the ServiceAttachment, through the ServiceAttachment's Logical Switch. VIRTUAL - It represents a L3 destination the router can route to but does not provide any further information about its location in the network. Virtual InstanceEndpoints are used for redirection targets that are not connected to Service Ports, such as the next-hop routers on the Edge uplinks.
          enum:
          - LOGICAL
          - VIRTUAL
          readOnly: false
          title: |-
            Instance Endpoint Type
          type: string
        link_ids:
          description: |-
            Link Ids are mandatory for VIRTUAL Instance Endpoint. Even though VIRTUAL, the Instance Endpoint should be connected/accessible through an NSX object. The link id is this NSX object id. Example - For North-South Service Insertion, this is the LogicalRouter Id through which the targetIp/L3 destination accessible.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          minItems: 1
          readOnly: false
          title: |-
            Link Id list
          type: array
        service_attachments:
          description: |-
            Id(s) of the Service Attachment where this enndpoint is connected to. Service Attachment is mandatory for LOGICAL Instance Endpoint.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          minItems: 1
          readOnly: false
          title: |-
            Service Attachment list
          type: array
        service_instance_id:
          description: |-
            The Service instancee with which the instance endpoint is associated.
          readOnly: true
          title: |-
            Service instance Id
          type: string
        target_ips:
          description: |-
            Target IPs on an interface of the Service Instance.
          items:
            $ref: '#/definitions/IPInfo'
          maxItems: 1
          minItems: 1
          title: |-
            Target IPs
          type: array
      required:
      - target_ips
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      An InstanceEndpoint belongs to one ServiceInstance and represents a redirection target for a Rule. For Example - It can be an L3 Destination. Service Attachments is required for a InstanceEndpoint of type LOGICAL, and deployed_to if its a VIRTUAL InstanceEndpoint.
    title: |-
      EndPoint of an Instance
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  InstanceEndpointListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of instance endpoints.
          items:
            $ref: '#/definitions/InstanceEndpoint'
          readOnly: true
          title: |-
            Instance End Point list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      List of instance endpoints.
    title: |-
      Instance Endpoint List
    x-vmw-nsx-module: ServiceInsertion
  InstanceRuntime:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        deployment_status:
          description: |-
            Service-Instance Runtime deployment status of the Service-VM. It shows the latest status during the process of deployment, redeploy, upgrade, and un-deployment of VM.
          enum:
          - DEPLOYMENT_IN_PROGRESS
          - DEPLOYMENT_FAILED
          - DEPLOYMENT_SUCCESSFUL
          - UPGRADE_IN_PROGRESS
          - UPGRADE_FAILED
          - UNDEPLOYMENT_IN_PROGRESS
          - UNDEPLOYMENT_FAILED
          - UNDEPLOYMENT_SUCCESSFUL
          - UNKNOWN
          readOnly: true
          title: |-
            Instance Runtime deployment status
          type: string
        error_message:
          description: |-
            Error message for the Service Instance Runtime if any.
          readOnly: true
          title: |-
            Error Message
          type: string
        maintenance_mode:
          description: |
            The maintenance mode indicates whether the corresponding service VM
            is in maintenance mode. The service VM will not be used to service
            new requests if it is in maintenance mode.
          enum:
          - 'OFF'
          - ENTERING
          - 'ON'
          - EXITING
          readOnly: true
          title: |-
            Instance Runtime maintenance mode
          type: string
        runtime_health_status_by_partner:
          description: |
            Service-Instance runtime health status set by partner to indicate
            whether the service is running properly or not.
          enum:
          - HEALTHY
          - STOPPED
          - NOT_RESPONDING
          readOnly: true
          title: |-
            Instance runtime health status set by partner
          type: string
        runtime_status:
          description: |-
            Service-Instance Runtime status of the deployed Service-VM.
          enum:
          - IN_SERVICE
          - OUT_OF_SERVICE
          - NEEDS_ATTENTION
          - NOT_AVAILABLE
          readOnly: true
          title: |-
            Instance Runtime Status
          type: string
        service_instance_id:
          description: |-
            Id of an instantiation of a registered service.
          readOnly: true
          title: |-
            Service instance id
          type: string
        service_vm_id:
          description: |-
            Service-VM/SVM id of deployed virtual-machine.
          readOnly: true
          title: |-
            Service VM id
          type: string
        unhealthy_reason:
          description: |
            Reason provided by partner for the service being unhealthy. This could be due
            to various reasons such as connectivity lost as an example.
          readOnly: true
          title: |-
            Reason for service status when unhealthy
          type: string
        vm_nic_info:
          $ref: '#/definitions/VmNicInfo'
          description: |-
            VM NIC info
          readOnly: true
          title: |-
            VM NIC info
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      A Service Runtime is the runtime entity associated with ever Service-VM deployed.
    title: |-
      Runtime of a Service-Instance.
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  InstanceRuntimeListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            Array of existing InstanceRuntimes in database
          items:
            $ref: '#/definitions/InstanceRuntime'
          title: |-
            Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    description: |-
      Result of List of InstanceRuntimes
    title: |-
      InstanceRuntime list result
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  InstructionInfo:
    description: |-
      Details of the instructions displayed during restore process
    properties:
      actions:
        description: |-
          A list of actions that are to be applied to resources
        items:
          type: string
        readOnly: true
        title: |-
          Actions list
        type: array
      fields:
        description: |-
          A list of fields that are displayable to users in a table
        items:
          type: string
        readOnly: true
        title: |-
          Displayable fields
        type: array
      id:
        description: |-
          UUID of the instruction
        readOnly: true
        title: |-
          UUID of the instruction
        type: string
      name:
        description: |-
          Instruction name
        readOnly: true
        title: |-
          Instruction name
        type: string
    title: |-
      Details of the instructions displayed during restore process
    type: object
    x-vmw-nsx-module: ClusterRestore
  IntelligenceBrokerEndpointInfo:
    description: |
      An endpoint to connect to NSX-Intelligence broker.
      Either FQDN or IP address can be used in the endpoint info.
    properties:
      address:
        description: |
          The IP address or the full qualified domain name of broker.
        format: ip-or-hostname
        title: |-
          Broker address
        type: string
      port:
        description: |
          The port number where the broker is listening to.
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Broker port number
        type: integer
    required:
    - port
    - address
    title: |-
      NSX-Intelligence broker endpoint
    type: object
    x-vmw-nsx-module: NsxIntelligenceHostConfiguration
  IntelligenceClusterNodeVMDeploymentConfig:
    description: |-
      Contains info used to configure the VM on deployment
    discriminator: placement_type
    properties:
      placement_type:
        description: |
          Specifies the config for the platform through which to deploy the VM
        enum:
        - IntelligenceVsphereClusterNodeVMDeploymentConfig
        title: |-
          Type of deployment
        type: string
    required:
    - placement_type
    title: |-
      Configuration for deploying NSX-Intelligence cluster node VM
    type: object
    x-vmw-nsx-module: NsxIntelligenceDeployment
  IntelligenceClusterNodeVMDeploymentRequest:
    description: |
      Contains the deployment information for a NSX-Intelligence node VM.
    properties:
      deployment_config:
        $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentConfig'
        description: |
          Info needed to configure a NSX-Intelligence cluster node VM at deployment for a
          specific platform.
        title: |-
          Deployment config for NSX-Intelligence cluster node VM
      form_factor:
        default: SMALL
        description: |
          Specifies the desired "size" of the VM
        enum:
        - SMALL
        - LARGE
        - EXTRA_LARGE
        type: string
      user_settings:
        $ref: '#/definitions/NodeUserSettings'
        description: |
          Username and password settings for the NSX-Intelligence node VM.
          Passwords must be at least 12 characters in length and contain at
          least one lowercase, one uppercase, one numerical, and one special
          character.
          Note: These settings will be honored only during VM deployment.
          Post-deployment, CLI must be used for changing the user settings and
          changes to these parameters will not have any effect.
        title: |-
          User settings for the VM
      vm_id:
        description: |
          ID of the VM maintained internally.
          Note: This is automatically generated and cannot be modified.
        readOnly: true
        title: |-
          ID of VM used to recognize it
        type: string
    required:
    - deployment_config
    title: |-
      Info for NSX-Intelligence node deployment request
    type: object
    x-vmw-nsx-module: NsxIntelligenceDeployment
  IntelligenceClusterNodeVMDeploymentRequestList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            Array of existing IntelligenceClusterNodeVMDeploymentRequests
          items:
            $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentRequest'
          title: |-
            Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NsxIntelligenceDeployment
    description: |-
      List of IntelligenceClusterNodeVMDeploymentRequests
    title: |-
      IntelligenceClusterNodeVMDeploymentRequest list
    x-vmw-nsx-module: NsxIntelligenceDeployment
  IntelligenceClusterNodeVMDeploymentStatusReport:
    description: |
      Contains up-to-date information relating to an auto-deployed VM, including
      its status and (potentially) an error message.
    properties:
      deployment_progress_state:
        $ref: '#/definitions/ClusterNodeVMDeploymentProgressState'
        description: |-
          Detailed progress state of node VM deployment realization
        readOnly: true
        title: |-
          Deployment progress state of node VM
      failure_code:
        description: |
          In case of auto-deployment-related failure, the code for the error will
          be stored here.
        format: int64
        title: |-
          Error code for failure
        type: integer
      failure_message:
        description: |
          In case of auto-deployment-related failure, an error message will be
          stored here.
        title: |-
          Error message for failure
        type: string
      status:
        description: |
          Status of the addition or deletion of an auto-deployed NSX-Intelligence cluster node VM.
        enum:
        - NOT_AVAILABLE
        - VM_DEPLOYMENT_QUEUED
        - VM_DEPLOYMENT_IN_PROGRESS
        - VM_DEPLOYMENT_FAILED
        - VM_POWER_ON_IN_PROGRESS
        - VM_POWER_ON_FAILED
        - VM_POWER_ON_SUCCESSFUL
        - VM_REGISTRATION_IN_PROGRESS
        - VM_REGISTRATION_SUCCESSFUL
        - VM_REGISTRATION_FAILED
        - VM_WAITING_TO_COME_ONLINE
        - VM_ONLINE_FAILED
        - VM_POWER_OFF_IN_PROGRESS
        - VM_POWER_OFF_FAILED
        - WAITING_TO_UNDEPLOY_VM
        - VM_UNDEPLOY_IN_PROGRESS
        - VM_UNDEPLOY_FAILED
        - VM_UNDEPLOY_SUCCESSFUL
        - UNKNOWN_STATE
        title: |-
          Auto-deployed VM's deployment status
        type: string
    required:
    - status
    title: |-
      Report of a VM's deployment status
    type: object
    x-vmw-nsx-module: NsxIntelligenceDeployment
  IntelligenceFlowPrivateIpPrefixInfo:
    description: |
      An IP prefix to mark the private network that NSX-Intelligence
      network flow is collected from.
    properties:
      address:
        description: |
          The prefix of IP address that marks the range of private network.
        format: ip
        type: string
      address_type:
        description: |
          The type of IP address.
        enum:
        - IPV4
        - IPV6
        title: |-
          IP address type
        type: string
      prefix_length:
        description: |
          The length of IP address prefix that marks the range of private network.
        format: int64
        maximum: 128
        minimum: 1
        title: |-
          IP prefix length
        type: integer
    required:
    - address_type
    - prefix_length
    - address
    title: |-
      NSX-Intelligence flow private IP prefix
    type: object
    x-vmw-nsx-module: NsxIntelligenceHostConfiguration
  IntelligenceFormFactor:
    description: |-
      NSX Intelligence node form factor
    properties:
      disk:
        description: |-
          Disk size of the Intelligence nodes in GBs.
        format: int64
        readOnly: true
        title: |-
          Disk size of the Intelligence nodes in GBs
        type: integer
      memory:
        description: |-
          Memory size of the Intelligence nodes in GBs
        format: int64
        readOnly: true
        title: |-
          Memory size of the Intelligence nodes in GBs
        type: integer
      type:
        description: |
          NSX Intelligence node form factor type
        enum:
        - SMALL
        - LARGE
        - EXTRA_LARGE
        readOnly: true
        type: string
      vcpu:
        description: |-
          Number of virtual cpus on the Intelligence nodes
        format: int64
        readOnly: true
        title: |-
          Number of virtual cpus on the Intelligence nodes
        type: integer
    title: |-
      NSX Intelligence node form factor
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  IntelligenceFormFactors:
    description: |-
      NSX Intelligence form factors list result
    properties:
      form_factors:
        description: |-
          NSX Intelligence form factor list
        items:
          $ref: '#/definitions/IntelligenceFormFactor'
        title: |-
          NSX Intelligence form factor list
        type: array
    title: |-
      NSX Intelligence form factors list result
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  IntelligenceHostConfigurationInfo:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        broker_bootstrap_servers:
          description: |
            List of NSX-Intelligence broker endpoints that host nodes contact initially.
          items:
            $ref: '#/definitions/IntelligenceBrokerEndpointInfo'
          title: |-
            List of NSX-Intelligence broker endpoints
          type: array
        broker_certificate:
          description: |
            A broker certificate to verify the identity of brokers.
          title: |-
            Broker certificate
          type: string
        broker_truststore:
          description: |
            A truststore to establish the trust between NSX and NSX-Intelligence brokers.
          title: |-
            Broker truststore
          type: string
        context_data_collection_interval:
          default: 5
          description: |
            Interval in minute of reporting VM guest context data to NSX-Intelligence.
            Recommend to keep this value the same as flow_data_collection_interval.
          format: int64
          maximum: 30
          minimum: 2
          title: |-
            VM guest context data collection interval
          type: integer
        context_process_hashes:
          description: |
            List of hashes of processes to collect context data.
            Empty implies all processes.
          items:
            type: string
          title: |-
            List of hashes of processes to collect context data
          type: array
        context_process_names:
          description: |
            List of processes to collect context data.
            Empty implies all processes.
          items:
            type: string
          title: |-
            List of processes to collect context data
          type: array
        context_user_sids:
          description: |
            List of windows user sid to collect context data.
            Empty implies all users.
          items:
            type: string
          title: |-
            List of windows user sid to collect context data
          type: array
        context_user_uids:
          description: |
            List of linux user uid to collect context data.
            Empty implies all users.
          items:
            type: string
          title: |-
            List of linux user uid to collect context data
          type: array
        enable_context_data_collection:
          default: true
          description: |
            Enable NSX-Intelligence context data collection in host nodes.
          title: |-
            Enable context data collection
          type: boolean
        enable_data_collection:
          default: true
          description: |
            Enable NSX-Intelligence data collection in host nodes.

            This property has been deprecated.
            To enable flow data collection,
            use property enable_flow_data_collection instead.
            To enable context data collection,
            use property enable_context_data_collection instead.

            When this property is set to false, no data collection
            is performed even if enable_flow_data_collection or
            enable_context_data_collection is set to true.

            When this property is set to true, property
            enable_flow_data_collection and enable_context_data_collection
            control whether to collect flow data and context data separately.
          title: |-
            Enable data collection
          type: boolean
          x-deprecated: true
        enable_deep_packet_inspection:
          default: true
          description: |
            Enable NSX-Intelligence deep packet inspection in host nodes.
          title: |-
            Enable deep packet inspection
          type: boolean
        enable_flow_data_collection:
          default: true
          description: |
            Enable NSX-Intelligence flow data collection in host nodes.
          title: |-
            Enable flow data collection
          type: boolean
        flow_data_collection_interval:
          default: 5
          description: |
            Interval in minute of reporting network flow data to NSX-Intelligence.
            Recommend to keep this value the same as context_data_collection_interval.
          format: int64
          maximum: 30
          minimum: 2
          title: |-
            Network flow data collection interval
          type: integer
        max_active_flow_count:
          default: 25000
          description: |
            Maximum active network flow to collect in collection interval.
          format: int64
          maximum: 5000000
          minimum: 1
          title: |-
            Maximum active network flow
          type: integer
        max_active_flow_count_bm:
          default: 12500
          description: |
            Maximum active network flow to collect in collection interval for Bare Metal server.
          format: int64
          maximum: 5000000
          minimum: 1
          title: |-
            Maximum active network flow for Bare Metal server
          type: integer
        max_inactive_flow_count:
          default: 50000
          description: |
            Maximum inactive network flow to collect in collection interval.
          format: int64
          maximum: 5000000
          minimum: 1
          title: |-
            Maximum inactive network flow
          type: integer
        max_inactive_flow_count_bm:
          default: 25000
          description: |
            Maximum inactive network flow to collect in collection interval for Bare Metal server.
          format: int64
          maximum: 5000000
          minimum: 1
          title: |-
            Maximum inactive network flow for Bare Metal server
          type: integer
        private_ip_prefix:
          description: |
            List of private IP prefix that NSX-Intelligence network flow
            is collected from.
          items:
            $ref: '#/definitions/IntelligenceFlowPrivateIpPrefixInfo'
          title: |-
            List of private IP prefix
          type: array
      type: object
      x-vmw-nsx-module: NsxIntelligenceHostConfiguration
    description: |
      NSX-Intelligence configuration that can be applied to host nodes.
    title: |-
      NSX-Intelligence host configuration
    x-vmw-nsx-module: NsxIntelligenceHostConfiguration
  IntelligenceVsphereClusterNodeVMDeploymentConfig:
    allOf:
    - $ref: '#/definitions/IntelligenceClusterNodeVMDeploymentConfig'
    - properties:
        allow_ssh_root_login:
          default: false
          description: |
            If true, the root user will be allowed to log into the VM.
            Allowing root SSH logins is not recommended for security reasons.
          title: |-
            Allow root SSH logins.
          type: boolean
        compute_id:
          description: |
            The NSX-Intelligence cluster node VM will be deployed on the specified cluster or
            resourcepool for specified VC server.
          title: |-
            Cluster identifier or resourcepool identifier
          type: string
        default_gateway_addresses:
          description: |
            The default gateway for the VM to be deployed must be specified if all
            the other VMs it communicates with are not in the same subnet.
            Do not specify this field and management_port_subnets to use DHCP.
            Note: only single IPv4 default gateway address is supported and it
            must belong to management network.
            IMPORTANT: VMs deployed using DHCP are currently not supported,
            so this parameter should be specified.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 1
          minItems: 1
          title: |-
            Default gateway for the VM
          type: array
        disk_provisioning:
          default: THIN
          description: |
            Specifies the disk provisioning type of the VM.
          enum:
          - THIN
          - LAZY_ZEROED_THICK
          - EAGER_ZEROED_THICK
          type: string
        display_name:
          description: |
            Desired display name for NSX-Intelligence VM to be deployed
          title: |-
            NSX-Intelligence VM display name
          type: string
        dns_servers:
          description: |
            List of DNS servers.
            If DHCP is used, the default DNS servers associated with
            the DHCP server will be used instead.
            Required if using static IP.
          items:
            description: |-
              IPv4 address
            format: ipv4
            type: string
          minItems: 1
          title: |-
            DNS servers.
          type: array
        enable_ssh:
          default: false
          description: |
            If true, the SSH service will automatically be started on the VM.
            Enabling SSH service is not recommended for security reasons.
          title: |-
            Enable SSH.
          type: boolean
        host_id:
          description: |
            The NSX-Intelligence cluster node VM will be deployed on the specified host in the
            specified VC server within the cluster if host_id is specified.
            Note: User must ensure that storage and specified networks are
            accessible by this host.
          title: |-
            Host identifier
          type: string
        hostname:
          description: |
            Desired host name/FQDN for the VM to be deployed
          title: |-
            Host name or FQDN for the VM
          type: string
        management_network_id:
          description: |
            Distributed portgroup identifier to which the management vnic of
            NSX-Intelligence cluster node VM will be connected.
          title: |-
            Portgroup identifier for management network connectivity
          type: string
        management_port_subnets:
          description: |
            IP Address and subnet configuration for the management port.
            Do not specify this field and default_gateway_addresses to use DHCP.
            Note: only one IPv4 address is supported for the management port.
            IMPORTANT: VMs deployed using DHCP are currently not supported,
            so this parameter should be specified.
          items:
            $ref: '#/definitions/IPSubnet'
          maxItems: 1
          minItems: 1
          title: |-
            Port subnets for management port
          type: array
        ntp_servers:
          description: |
            List of NTP servers.
            To use hostnames, a DNS server must be defined. If not using DHCP,
            a DNS server should be specified under dns_servers.
          items:
            description: |-
              Hostname or IPv4 address
            format: hostname-or-ipv4
            type: string
          title: |-
            NTP servers.
          type: array
        ovf_url:
          description: |
            The NSX-Intelligence cluster node VM OVF URL to download and install the OVF file.
            This field is deprecated now. Please upload OVA file using "/repository/bundles" API
            and then try deployment without providing this field.
          title: |-
            URL of the ovf file to deploy
          type: string
          x-deprecated: true
        storage_id:
          description: |
            The NSX-Intelligence cluster node VM will be deployed on the specified datastore in
            the specified VC server. User must ensure that storage is accessible
            by the specified cluster/host.
          title: |-
            Storage/datastore identifier
          type: string
        vc_id:
          description: |
            The VC-specific identifiers will be resolved on this VC, so all other
            identifiers specified in the config must belong to this vCenter server.
          title: |-
            Vsphere compute identifier for identifying VC server
          type: string
      required:
      - storage_id
      - management_network_id
      - hostname
      - vc_id
      - compute_id
      type: object
      x-vmw-nsx-module: NsxIntelligenceDeployment
    description: |
      The Vsphere deployment configuration determines where to deploy the
      NSX-Intelligence cluster node VM through a vCenter server. It contains settings that are
      applied during install time.
      If using DHCP, the following fields must be left unset - dns_servers,
      management_port_subnets, and default_gateway_addresses
    title: |-
      Deployment config on the Vsphere platform
    x-vmw-nsx-module: NsxIntelligenceDeployment
  InterSRRoutingConfig:
    description: |-
      Inter SR IBGP configuration
    properties:
      enabled:
        default: true
        description: |
          While creation of BGP config this flag will be set to
          - true for Tier0 logical router with Active-Active high-availability
          mode
          - false for Tier0 logical router with Active-Standby high-availability
          mode.
          User can change this value while updating inter-sr config.
        title: |-
          Flag to enable inter SR IBGP
        type: boolean
    title: |-
      Inter SR IBGP configuration
    type: object
    x-vmw-nsx-module: Routing
  InterSiteBgpSummary:
    properties:
      last_update_timestamp:
        description: |
          Timestamp when the inter-site IBgp neighbors status was last updated.
        format: int64
        readOnly: true
        type: integer
      neighbor_status:
        description: |-
          Status of all inter-site IBgp neighbors.
        items:
          $ref: '#/definitions/BgpNeighborStatus'
        readOnly: true
        title: |-
          Inter-site IBgp neighbors status
        type: array
      transport_node_id:
        description: |-
          Edge node id whose status is being reported.
        readOnly: true
        title: |-
          Edge node id
        type: string
    type: object
    x-vmw-nsx-module: AggSvcInterSite
  InterSitePortCounters:
    allOf:
    - $ref: '#/definitions/LogicalRouterPortCounters'
    - type: object
      x-vmw-nsx-module: AggSvcInterSite
    x-vmw-nsx-module: AggSvcInterSite
  InterfaceIgmpLocalGroupConfig:
    description: |
      Interface IGMP[Internet Group Management Protocol] configuration parameters.
    properties:
      igmp_local_join_groups:
        description: |
          IGMP join group manages the membership of hosts and routing devices in
          the multicast group. Host will join the group by conveying its information
          through IGMP.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        title: |-
          List of local IGMP groups
        type: array
    title: |-
      Interface Igmp configuration
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  InterfaceNeighborProperties:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ifindex:
          description: |-
            Interface index
          format: int64
          readOnly: true
          title: |-
            Interface index
          type: integer
        mac:
          description: |-
            Interface MAC address
          readOnly: true
          title: |-
            Interface MAC address
          type: string
        name:
          description: |-
            Interface Name
          readOnly: true
          title: |-
            Interface Name
          type: string
        neighbors:
          description: |-
            Neighbor properties
          items:
            $ref: '#/definitions/NeighborProperties'
          readOnly: true
          title: |-
            Neighbor properties
          type: array
          uniqueItems: true
      type: object
      x-vmw-nsx-module: Lldp
    description: |-
      Interface neighbor properties
    title: |-
      Interface neighbor properties
    x-vmw-nsx-module: Lldp
  InterfaceNeighborPropertyListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Interface neighbor property results
          items:
            $ref: '#/definitions/InterfaceNeighborProperties'
          title: |-
            Interface neighbor property results
          type: array
      type: object
      x-vmw-nsx-module: Lldp
    description: |-
      Interface neighbor property query results
    title: |-
      Interface neighbor property query results
    x-vmw-nsx-module: Lldp
  InterfacePimConfig:
    description: |
      Interface PIM[Protocol Independent Multicast] configuration parameters.
    properties:
      enabled:
        default: false
        description: |
          If the flag is set to true - it will enable PIM on
          the uplink interface. If the flag is set to false - it will disable
          PIM on the uplink interface.
        title: |-
          Flag to enable/disable PIM
        type: boolean
      hello_interval:
        default: 30
        description: |
          PIM hello interval. Ranges from 1 to 180 seconds.
        format: int64
        maximum: 180
        minimum: 1
        title: |-
          PIM hello interval
        type: integer
      hold_interval:
        description: |
          PIM hold interval. Ranges from 1 to 630 seconds. hold_interval
          should be greater than hello_interval.
          If hold interval is not provided then it will be considered as
          3.5 times of hello_interval.
        format: int64
        maximum: 630
        minimum: 1
        title: |-
          PIM hold interval
        type: integer
    title: |-
      Interface PIM configuration
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  IntervalBackupSchedule:
    allOf:
    - $ref: '#/definitions/BackupSchedule'
    - properties:
        seconds_between_backups:
          default: 3600
          description: |-
            Time interval in seconds between two consecutive automated backups
          format: int64
          maximum: 86400
          minimum: 300
          title: |-
            Time interval in seconds between two consecutive automated backups
          type: integer
      type: object
      x-vmw-nsx-module: BackupConfiguration
    description: |-
      Schedule to specify the interval time at which automated backups need to be taken
    title: |-
      Schedule to specify the interval time at which automated backups need to be taken
    x-vmw-nsx-module: BackupConfiguration
  IntervalSampling:
    allOf:
    - $ref: '#/definitions/SamplingArgument'
    - properties:
        sampling_interval:
          description: |-
            Time interval in ms between two sampling actions.
          format: int64
          maximum: 30000
          minimum: 1
          title: |-
            Time interval in ms between two sampling actions.
          type: integer
      required:
      - sampling_interval
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  InventoryConfig:
    properties:
      compute_managers_soft_limit:
        description: |
          Soft limit on number of compute managers, which can be added, beyond which,
          addition of compute managers will result in warning getting logged
        format: int32
        readOnly: false
        title: |-
          Soft limit on number of compute managers
        type: integer
    required:
    - compute_managers_soft_limit
    type: object
    x-vmw-nsx-module: Inventory
  IpAddressInfo:
    description: |-
      Ipaddress information of the fabric node.
    properties:
      ip_addresses:
        description: |-
          IP Addresses of the the virtual network interface, as discovered in the source.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        readOnly: true
        title: |-
          IP Addresses of the the virtual network interface, as discovered in the source.
        type: array
      source:
        description: |-
          Source of the ipaddress information.
        enum:
        - VM_TOOLS
        readOnly: true
        title: |-
          Source of the ipaddress information.
        type: string
    title: |-
      Ipaddress information of the fabric node.
    type: object
    x-vmw-nsx-module: Inventory
  IpAllocationBase:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        gateway_ip:
          description: |-
            Gateway ip address of the allocation.
          format: ip
          type: string
        lease_time:
          default: 86400
          description: |-
            Lease time, in seconds, [60-(2^32-1)]. Default is 86400.
          format: int64
          maximum: 4294967295
          minimum: 60
          title: |-
            Lease time
          type: integer
        options:
          $ref: '#/definitions/DhcpOptions'
          description: |
            If an option is defined at server level and not configred at
            ip-pool/static-binding level, the option will be inherited to
            ip-pool/static-binding. If both define a same-code option, the
            option defined at ip-pool/static-binding level take precedence
            over that defined at server level.
          title: |-
            DHCP options
      type: object
      x-vmw-nsx-module: Dhcp
    description: |
      Base type of ip-allocation extended by ip pool and static binding.
    title: |-
      Base type of ip-allocation
    x-vmw-nsx-module: Dhcp
  IpAssignmentSpec:
    description: |-
      Abstract base type for specification of IPs to be used with host switch virtual tunnel endpoints
    discriminator: resource_type
    properties:
      resource_type:
        enum:
        - StaticIpPoolSpec
        - StaticIpListSpec
        - AssignedByDhcp
        - StaticIpMacListSpec
        type: string
    required:
    - resource_type
    title: |-
      Abstract base type for specification of IPs to be used with host switch virtual tunnel endpoints
    type: object
    x-vmw-nsx-module: TransportNode
  IpBlock:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        cidr:
          description: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          format: ip-cidr-block
          title: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          type: string
      required:
      - cidr
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      A block of IPv4/IPv6 addresses defined by a start address and a mask/prefix (network CIDR). An IP block is typically large & allocated to a tenant for automated consumption. An IP block is always a contiguous address space, for example 192.0.0.1/8. An IP block can be further subdivided into subnets called IP block subnets. These IP block subnets can later be added to IP pools and used for IP allocation. An IP pool is typically a collection of subnets that are often not a contiguous address space. Clients are allocated IP addresses only from IP pools. Sample Structure Diagram IpBlock_VMware 192.0.0.1/8 ======================================================================= /                          ___________________________________________/________ /  IpBlockSubnet_Finance  ( IpBlockSubnet_Eng1   IpBlockSubnet_Eng2   /        ) /  192.168.0.1/16         (   192.170.1.1/16      192.180.1.1/24      /        ) IpPool_Eng /                         (___________________________________________/________) /                                                                     / =======================================================================
    x-vmw-nsx-module: Ipam
  IpBlockListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IP block list results
          items:
            $ref: '#/definitions/IpBlock'
          title: |-
            IP block list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Ipam
    x-vmw-nsx-module: Ipam
  IpBlockSubnet:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        allocation_ranges:
          description: |-
            A collection of IPv4/IPv6 IP ranges used for IP allocation.
          items:
            $ref: '#/definitions/IpPoolRange'
          readOnly: true
          title: |-
            A collection of IPv4/IPv6 IP ranges used for IP allocation.
          type: array
        block_id:
          description: |-
            Block id for which the subnet is created.
          readOnly: false
          title: |-
            Block id for which the subnet is created.
          type: string
        cidr:
          description: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          format: ip-cidr-block
          readOnly: true
          title: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          type: string
        size:
          description: |-
            Represents the size or number of ip addresses in the subnet
          format: int64
          title: |-
            Represents the size or number of ip addresses in the subnet
          type: integer
        start_ip:
          description: |-
            For internal system use Only. Represents start ip address of the subnet from IP block. Subnet ip adddress will start from this ip address.
          format: ip
          type: string
      required:
      - block_id
      - size
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      A set of IPv4/IPv6 addresses defined by a start address and a mask/prefix which will typically be associated with a layer-2 broadcast domain.
    x-vmw-nsx-module: Ipam
  IpBlockSubnetListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IP block subnet list results
          items:
            $ref: '#/definitions/IpBlockSubnet'
          title: |-
            IP block subnet list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Ipam
    x-vmw-nsx-module: Ipam
  IpDiscoverySwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        arp_bindings_limit:
          default: 1
          description: |-
            Indicates the number of arp snooped IP addresses to be remembered per LogicalPort. Decreasing this value, will retain the latest bindings from the existing list of address bindings. Increasing this value will retain existing bindings and also learn any new address bindings discovered on the port until the new limit is reached. This limit only applies to IPv4 addresses and is independent of the nd_bindings_limit used for IPv6 snooping.
          format: int32
          maximum: 256
          minimum: 1
          title: |-
            Number of IP addresses to be snooped via ARP snooping
          type: integer
        arp_nd_binding_timeout:
          default: 10
          description: |
            This property controls the ARP and ND cache timeout period.It
            is recommended that this property be greater than the ARP/ND
            cache timeout on the VM.
          format: int32
          maximum: 120
          minimum: 5
          readOnly: false
          title: |-
            ARP and ND cache timeout (in minutes)
          type: integer
        arp_snooping_enabled:
          default: true
          description: |-
            Indicates whether ARP snooping is enabled
          readOnly: false
          title: |-
            Indicates whether ARP snooping is enabled
          type: boolean
        dhcp_snooping_enabled:
          default: true
          description: |-
            Indicates whether DHCP snooping is enabled
          readOnly: false
          title: |-
            Indicates whether DHCP snooping is enabled
          type: boolean
        dhcpv6_snooping_enabled:
          default: false
          description: |-
            This option is the IPv6 equivalent of DHCP snooping.
          readOnly: false
          title: |-
            Indicates if stateful DHCPv6 snooping is enabled
          type: boolean
        duplicate_ip_detection:
          $ref: '#/definitions/DuplicateIPDetection'
          description: |
            Duplicate IP detection is used to determine if there is any IP conflict
            with any other port on the same logical switch. If a conflict is detected,
            then the IP is marked as a duplicate on the port where the IP was
            discovered last. The duplicate IP will not be added to the realized
            address binings for the port and hence will not be used in DFW rules or
            other security configurations for the port.
          readOnly: false
          title: |-
            Controls whether duplicate IP detection should be enabled
        nd_bindings_limit:
          default: 3
          description: |-
            Indicates the number of neighbor-discovery snooped IP addresses to be remembered per LogicalPort. Decreasing this value, will retain the latest bindings from the existing list of address bindings. Increasing this value will retain existing bindings and also learn any new address bindings discovered on the port until the new limit is reached. This limit only applies to IPv6 addresses and is independent of the arp_bindings_limit used for IPv4 snooping.
          format: int32
          maximum: 15
          minimum: 2
          title: |-
            Number of IP addresses to be snooped via neighbor-discovery(ND) snooping
          type: integer
        nd_snooping_enabled:
          default: false
          description: |-
            This option is the IPv6 equivalent of ARP snooping.
          readOnly: false
          title: |-
            Indicates if neighbor discovery snooping is enabled
          type: boolean
        trust_on_first_use_enabled:
          default: true
          description: |
            ARP snooping being inherently susceptible to ARP spoofing,
            uses a turst-on-fisrt-use (TOFU) paradigm where only the first IP address
            discovered via ARP snooping is trusted. The remaining are ignored.
            In order to allow for more flexibility, we allow the user to
            configure how many ARP snooped address bindings should be trusted
            for the lifetime of the logical port. This is controlled by the
            arp_bindings_limit property in the IP Discovery profile. We refer
            to this extension of TOFU as N-TOFU.
            However, if TOFU is disabled, then N ARP snooped IP addresses will
            be trusted until they are timed out, where N is configured by
            arp_bindings_limit.
          readOnly: false
          title: |-
            Controls whether trust-on-first-use should be enabled
          type: boolean
        vm_tools_enabled:
          default: true
          description: |-
            This option is only supported on ESX where vm-tools is installed.
          readOnly: false
          title: |-
            Indicates whether fetching IP using vm-tools is enabled
          type: boolean
        vm_tools_v6_enabled:
          default: false
          description: |-
            This option is only supported on ESX where vm-tools is installed.
          readOnly: false
          title: |-
            Indicates whether fetching IPv6 addresses using vm-tools is enabled
          type: boolean
      type: object
      x-vmw-nsx-module: IpDiscoverySwitchingProfile
    x-vmw-nsx-module: IpDiscoverySwitchingProfile
  IpInfo:
    description: |
      Only support IP address or subnet. Its type can be of
      IPv4 or IPv6. It will be converted to subnet when netmask
      is specified(e.g., 192.168.1.3/24 => 192.168.1.0/24,
      2008:12:12:12::2/64 => 2008:12:12:12::/64).
    properties:
      dst_ip:
        description: |-
          The destination IP address or subnet
        format: address-or-block-or-range
        type: string
      src_ip:
        description: |-
          The source IP address or subnet
        format: address-or-block-or-range
        type: string
    type: object
    x-vmw-nsx-module: LiveTrace
  IpMacPair:
    description: |-
      IP and MAC pair.
    properties:
      ip:
        description: |-
          IP address
        format: ip
        readOnly: false
        type: string
      mac:
        description: |-
          MAC address
        format: mac-address
        readOnly: false
        type: string
    required:
    - ip
    title: |-
      IP and MAC pair.
    type: object
    x-vmw-nsx-module: TransportNode
  IpPool:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ip_release_delay:
          description: |-
            Delay in milliseconds, while releasing allocated IP address from IP pool (Default is 2 mins).
          format: int64
          title: |-
            IP address release delay in milliseconds
          type: integer
        pool_usage:
          $ref: '#/definitions/PoolUsage'
          description: |-
            Pool usage statistics
          readOnly: true
          title: |-
            Pool usage statistics
        subnets:
          description: |-
            Subnets can be IPv4 or IPv6 and they should not overlap. The maximum number will not exceed 5 subnets.
          items:
            $ref: '#/definitions/IpPoolSubnet'
          maxItems: 5
          title: |-
            The collection of one or more subnet objects in a pool
          type: array
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      A collection of one or more IPv4 or IPv6 subnets or ranges that are often not a contiguous address space. Clients are allocated IPs from an IP pool. Often used when a client that consumes addresses exhausts an initial subnet or range and needs to be expanded but the adjoining address space is not available as it has been allocated to a different client.
    x-vmw-nsx-module: Ipam
  IpPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IP pool list results
          items:
            $ref: '#/definitions/IpPool'
          title: |-
            IP pool list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Ipam
    x-vmw-nsx-module: Ipam
  IpPoolRange:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        end:
          description: |-
            The end IP Address of the IP Range.
          format: ip
          type: string
        start:
          description: |-
            The start IP Address of the IP Range.
          format: ip
          type: string
      required:
      - start
      - end
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      A set of IPv4 or IPv6 addresses defined by a start and end address.
    x-vmw-nsx-module: Ipam
  IpPoolSubnet:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        allocation_ranges:
          description: |-
            A collection of IPv4 or IPv6 IP Pool Ranges.
          items:
            $ref: '#/definitions/IpPoolRange'
          title: |-
            A collection of IPv4 or IPv6 IP Pool Ranges.
          type: array
        cidr:
          description: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          title: |-
            Represents network address and the prefix length which will be associated with a layer-2 broadcast domain
          type: string
        dns_nameservers:
          description: |-
            The collection of upto 3 DNS servers for the subnet.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 3
          title: |-
            The collection of upto 3 DNS servers for the subnet.
          type: array
          uniqueItems: true
        dns_suffix:
          description: |-
            The DNS suffix for the DNS server.
          format: hostname
          title: |-
            The DNS suffix for the DNS server.
          type: string
        gateway_ip:
          description: |-
            The default gateway address on a layer-3 router.
          format: ip
          type: string
      required:
      - cidr
      - allocation_ranges
      type: object
      x-vmw-nsx-module: Ipam
    description: |-
      A set of IPv4 or IPv6 addresses defined by a network CIDR.
    x-vmw-nsx-module: Ipam
  IpfixCollector:
    properties:
      collector_ip_address:
        description: |-
          IP address for the IPFIX collector
        format: ip
        type: string
      collector_port:
        default: 4739
        description: |-
          Port for the IPFIX collector
        format: int32
        maximum: 65535
        minimum: 0
        title: |-
          Port for the IPFIX collector
        type: integer
    required:
    - collector_ip_address
    type: object
    x-vmw-nsx-module: Ipfix
  IpfixCollectorConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        collectors:
          description: |-
            IPFIX Collectors
          items:
            $ref: '#/definitions/IpfixCollector'
          maxItems: 4
          minItems: 1
          title: |-
            IPFIX Collectors
          type: array
      required:
      - collectors
      type: object
      x-vmw-nsx-module: Ipfix
    description: |
      This managed entity contains a set of IPFIX collectors.
    x-vmw-nsx-module: Ipfix
  IpfixCollectorConfigListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPFIX Collector Config
          items:
            $ref: '#/definitions/IpfixCollectorConfig'
          readOnly: true
          title: |-
            IPFIX Collector Config
          type: array
      type: object
      x-vmw-nsx-module: Ipfix
    description: |-
      List of IPFIX Collector Configs
    title: |-
      List of IPFIX Collector Configs
    x-vmw-nsx-module: Ipfix
  IpfixCollectorUpmProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        collectors:
          description: |-
            IPFIX Collector Set
          items:
            $ref: '#/definitions/IpfixCollector'
          maxItems: 4
          minItems: 1
          title: |-
            IPFIX Collector Set
          type: array
        resource_type:
          description: |-
            All IPFIX collector profile types.
          enum:
          - IpfixCollectorUpmProfile
          readOnly: false
          type: string
      required:
      - resource_type
      - collectors
      type: object
      x-vmw-nsx-module: UpmIpfixCollector
    description: |
      The configuration for Internet protocol flow information export (IPFIX)
      collector. It should be referenced in other IPFIX profile as a collecor
      config. The IPFIX exporter will send records to these collectors.
    title: |-
      IPFIX Collector Profile
    x-vmw-nsx-module: UpmIpfixCollector
  IpfixCollectorUpmProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPFIX Collector Profile List
          items:
            $ref: '#/definitions/IpfixCollectorUpmProfile'
          readOnly: true
          title: |-
            IPFIX Collector Profile List
          type: array
      type: object
      x-vmw-nsx-module: UpmIpfixCollector
    description: |
      IPFIX collector profile list result for query with profile list parameters
    title: |-
      List of IPFIX Collector Profiles
    x-vmw-nsx-module: UpmIpfixCollector
  IpfixConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        applied_tos:
          description: |-
            List of objects where the IPFIX Config will be enabled.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            AppliedTo List
          type: array
        resource_type:
          description: |-
            Supported IPFIX Config Types.
          enum:
          - IpfixSwitchConfig
          - IpfixDfwConfig
          readOnly: false
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: Ipfix
    description: |-
      IPFIX Config base representation
    title: |-
      IPFIX Config base representation
    x-vmw-nsx-module: Ipfix
  IpfixConfigListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPFIX Config
          items:
            $ref: '#/definitions/IpfixConfig'
          readOnly: true
          title: |-
            IPFIX Config
          type: array
      type: object
      x-vmw-nsx-module: Ipfix
    description: |-
      List of IPFIX Config
    title: |-
      List of IPFIX Config
    x-vmw-nsx-module: Ipfix
  IpfixDfwConfig:
    allOf:
    - $ref: '#/definitions/IpfixConfig'
    - properties:
        active_flow_export_timeout:
          default: 1
          description: |
            For long standing active flows, IPFIX records will be sent per timeout period
          format: int64
          maximum: 60
          minimum: 1
          title: |-
            Active flow export timeout (minutes)
          type: integer
        collector:
          description: |
            Each IPFIX DFW config can have its own collector config.
          title: |-
            UUID of IPFIX DFW Collector Config
          type: string
        observation_domain_id:
          description: |
            An identifier that is unique to the exporting process and used to
            meter the Flows.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Observation domain ID
          type: integer
        priority:
          default: 0
          description: |
            This priority field is used to resolve conflicts in Logical Ports
            which are covered by more than one IPFIX profiles. The IPFIX
            exporter will send records to Collectors in highest priority
            profile (lowest number) only.
          format: int64
          maximum: 65536
          minimum: 0
          title: |-
            Config Priority
          type: integer
        template_parameters:
          $ref: '#/definitions/IpfixDfwTemplateParameters'
          description: |
            An object that indicates whether each corresponding template parameter
            is required or not.
          title: |-
            Template Parameters
      required:
      - priority
      - collector
      - observation_domain_id
      type: object
      x-vmw-nsx-module: Ipfix
    description: |-
      It defines IPFIX DFW Configuration.
    title: |-
      IPFIX Config for the DFW Module
    x-vmw-nsx-module: Ipfix
  IpfixDfwTemplateParameters:
    description: |
      This entity represents the flow parameters which are exported.
    properties:
      destination_address:
        default: true
        description: |
          The destination IP address of a monitored network flow.
        readOnly: true
        type: boolean
      destination_transport_port:
        default: true
        description: |
          The destination transport port of a monitored network flow.
        readOnly: true
        type: boolean
      firewall_event:
        default: true
        description: |
          Five valid values are allowed: 1. Flow Created. 2. Flow Deleted.
          3. Flow Denied. 4. Flow Alert (not used in DropKick implementation).
          5. Flow Update.
        readOnly: true
        type: boolean
      flow_direction:
        default: true
        description: |
          Two valid values are allowed: 1. 0x00: igress flow to VM. 2. 0x01:
          egress flow from VM.
        readOnly: true
        type: boolean
      flow_end:
        default: true
        description: |
          The absolute timestamp (seconds) of the last packet of this flow.
        readOnly: true
        type: boolean
      flow_start:
        default: true
        description: |
          The absolute timestamp (seconds) of the first packet of this flow.
        readOnly: true
        type: boolean
      icmp_code:
        default: true
        description: |
          Code of the IPv4 ICMP message.
        readOnly: true
        type: boolean
      octet_delta_count:
        default: true
        description: |
          The number of octets since the previous report (if any) in incoming
          packets for this flow at the observation point. The number of octets
          include IP header(s) and payload.
        readOnly: true
        type: boolean
      packet_delta_count:
        default: true
        description: |
          The number of incoming packets since the previous report (if any)
          for this flow at the observation point.
        readOnly: true
        type: boolean
      protocol_identifier:
        default: true
        description: |
          The value of the protocol number in the IP packet header.
        readOnly: true
        type: boolean
      rule_id:
        default: true
        description: |
          Firewall rule Id - enterprise specific Information Element that uniquely identifies
          firewall rule.
        readOnly: true
        type: boolean
      source_address:
        default: true
        description: |
          The source IP address of a monitored network flow.
        readOnly: true
        type: boolean
      source_icmp_type:
        default: true
        description: |
          Type of the IPv4 ICMP message.
        readOnly: true
        type: boolean
      source_transport_port:
        default: true
        description: |
          The source transport port of a monitored network flow.
        readOnly: true
        type: boolean
      vif_uuid:
        default: true
        description: |
          VIF UUID - enterprise specific Information Element that uniquely identifies VIF.
        readOnly: true
        type: boolean
    title: |-
      IPFIX DFW Template Parameters
    type: object
    x-vmw-nsx-module: Ipfix
  IpfixObsPointConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        active_timeout:
          default: 300
          description: |
            The time in seconds after a Flow is expired even if more packets
            matching this Flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Active timeout
          type: integer
        collectors:
          description: |-
            List of IPFIX collectors
          items:
            $ref: '#/definitions/IpfixCollector'
          title: |-
            List of IPFIX collectors
          type: array
        enabled:
          description: |-
            Enabled status of IPFIX export
          title: |-
            Enabled status of IPFIX export
          type: boolean
        idle_timeout:
          default: 300
          description: |
            The time in seconds after a Flow is expired if no more packets matching
            this Flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Idle timeout
          type: integer
        max_flows:
          default: 16384
          description: |
            The maximum number of flow entries in each exporter flow cache.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Max flows
          type: integer
        observation_domain_id:
          default: 0
          description: |
            An identifier that is unique to the exporting process and used to
            meter the Flows.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Observation domain ID
          type: integer
        packet_sample_probability:
          default: 0.1
          description: |
            The probability in percentage that a packet is sampled. The value should be
             in range (0,100] and can only have three decimal places at most. The probability
             is equal for every packet.
          exclusiveMinimum: true
          maximum: 100
          minimum: 0
          title: |-
            Packet sample probability
          type: number
      required:
      - enabled
      type: object
      x-vmw-nsx-module: Ipfix
    description: |
      IpfixObsPointConfig (i.e. global switch IPFIX config) is deprecated. Please
      use IpfixSwitchUpmProfile & IpfixCollectorUpmProfile instead. With them,
      switch IPFIX profile can be applied to specific entities, such as logical
      switch, logical port and so on.
    title: |-
      Logical IPFIX observation point
    x-vmw-nsx-module: Ipfix
  IpfixObsPointsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPFIX observation points
          items:
            $ref: '#/definitions/IpfixObsPointConfig'
          title: |-
            IPFIX observation points
          type: array
      type: object
      x-vmw-nsx-module: Ipfix
    description: |
      This is deprecated. Please use UpmProfileListResult instead.
    title: |-
      List of logical IPFIX observation points
    x-vmw-nsx-module: Ipfix
  IpfixServiceAssociationListResult:
    allOf:
    - $ref: '#/definitions/ServiceAssociationListResult'
    - properties:
        results:
          description: |-
            Ipfix config list result with pagination support.
          items:
            $ref: '#/definitions/IpfixConfig'
          readOnly: true
          title: |-
            IpfixConfig list result
          type: array
      type: object
      x-vmw-nsx-module: GroupingObjectsProviders
    x-vmw-nsx-module: GroupingObjectsProviders
  IpfixSwitchConfig:
    allOf:
    - $ref: '#/definitions/IpfixConfig'
    - properties:
        active_timeout:
          default: 300
          description: |
            The time in seconds after a Flow is expired even if more packets
            matching this Flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Active timeout
          type: integer
        idle_timeout:
          default: 300
          description: |
            The time in seconds after a Flow is expired if no more packets matching
            this Flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Idle timeout
          type: integer
        max_flows:
          default: 16384
          description: |
            The maximum number of flow entries in each exporter flow cache.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Max flows
          type: integer
        packet_sample_probability:
          default: 0.1
          description: |
            The probability in percentage that a packet is sampled. The value should be
             in range (0,100] and can only have three decimal places at most. The probability
             is equal for every packet.
          exclusiveMinimum: true
          maximum: 100
          minimum: 0
          title: |-
            Packet sample probability
          type: number
      type: object
      x-vmw-nsx-module: Ipfix
    description: |
      This is deprecated. Please use IpfixSwitchUpmProfile instead which can
      specify its own collectors and observation ID.
    title: |-
      IPFIX Config for the Switching Module
    x-vmw-nsx-module: Ipfix
  IpfixSwitchUpmProfile:
    allOf:
    - $ref: '#/definitions/IpfixUpmProfile'
    - properties:
        active_timeout:
          default: 300
          description: |
            The time in seconds after a flow is expired even if more packets
            matching this Flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Active Timeout
          type: integer
        applied_tos:
          $ref: '#/definitions/AppliedTos'
          description: |
            Entities where the IPFIX profile will be enabled on. Maximum
            entity count of all types is 128.
          title: |-
            Entitys Applied with Profile
        collector_profile:
          description: |
            Each IPFIX switching profile can have its own collector profile.
          title: |-
            UUID of IPFIX Collector Profile
          type: string
        export_overlay_flow:
          default: true
          description: |
            It controls whether sample result includes overlay flow info.
          title: |-
            Export Overlay Flow
          type: boolean
        idle_timeout:
          default: 300
          description: |
            The time in seconds after a flow is expired if no more packets matching
            this flow are received by the cache.
          format: int32
          maximum: 3600
          minimum: 60
          title: |-
            Idle Timeout
          type: integer
        max_flows:
          default: 16384
          description: |
            The maximum number of flow entries in each exporter flow cache.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Max Flows
          type: integer
        observation_domain_id:
          description: |
            An identifier that is unique to the exporting process and used to
            meter the Flows.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Observation Domain ID
          type: integer
        packet_sample_probability:
          default: 0.1
          description: |
            The probability in percentage that a packet is sampled. The value should be
             in range (0,100] and can only have three decimal places at most. The probability
             is equal for every packet.
          exclusiveMinimum: true
          maximum: 100
          minimum: 0
          title: |-
            Packet Sample Probability
          type: number
        priority:
          description: |
            This priority field is used to resolve conflicts in logical ports/switch
             which inherit multiple switch IPFIX profiles from NSGroups.

            Override rule is : for multiple profiles inherited from NSGroups, the
            one with highest priority (lowest number) overrides others; the profile
            directly applied to logical switch overrides profiles inherited from
            NSGroup; the profile directly applied to logical port overides profiles
            inherited from logical switch and/or nsgroup;

            The IPFIX exporter will send records to collectors of final effective
            profile only.
          format: int32
          maximum: 65536
          minimum: 0
          title: |-
            Profile Priority
          type: integer
      required:
      - priority
      - collector_profile
      - observation_domain_id
      type: object
      x-vmw-nsx-module: UpmIpfix
    description: |
      The configuration for Internet protocol flow information export (IPFIX) and
      would be enabled on the switching module to collect flow information.
    title: |-
      Switching IPFIX Profile
    x-vmw-nsx-module: UpmIpfix
  IpfixUpmProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |-
            All IPFIX profile types.
          enum:
          - IpfixSwitchUpmProfile
          readOnly: false
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: UpmIpfix
    description: |-
      Parent profile of all IPFIX profiles.
    title: |-
      Base IPFIX Profile
    x-vmw-nsx-module: UpmIpfix
  IpfixUpmProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            IPFIX Profile List
          items:
            $ref: '#/definitions/IpfixUpmProfile'
          readOnly: true
          title: |-
            IPFIX Profile List
          type: array
      type: object
      x-vmw-nsx-module: UpmIpfix
    description: |-
      IPFIX profile list result for query with list parameters
    title: |-
      List of IPFIX Profiles
    x-vmw-nsx-module: UpmIpfix
  Ipv4Header:
    properties:
      dst_ip:
        description: |-
          The destination ip address.
        format: ipv4
        type: string
      flags:
        default: 0
        description: |-
          IP flags
        format: int64
        maximum: 8
        minimum: 0
        title: |-
          IP flags
        type: integer
      protocol:
        default: 1
        description: |-
          IP protocol - defaults to ICMP
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          IP protocol - defaults to ICMP
        type: integer
      src_ip:
        description: |-
          The source ip address.
        format: ipv4
        type: string
      src_subnet_prefix_len:
        description: |-
          This is used together with src_ip to calculate dst_ip for broadcast when dst_ip is not given; not used in all other cases.
        format: int64
        maximum: 32
        minimum: 1
        title: |-
          source subnet prefix length.
        type: integer
      ttl:
        default: 64
        description: |-
          Time to live (ttl)
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          Time to live (ttl)
        type: integer
    type: object
    x-vmw-nsx-module: Traceflow
  Ipv6Header:
    properties:
      dst_ip:
        description: |-
          The destination ip address.
        format: ipv6
        type: string
      hop_limit:
        default: 64
        description: |-
          Decremented by 1 by each node that forwards the packets. The packet is discarded if Hop Limit is decremented to zero.
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          hop limit
        type: integer
      next_header:
        default: 58
        description: |-
          Identifies the type of header immediately following the IPv6 header.
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          Identifies the type of header immediately following the IPv6 header.
        type: integer
      src_ip:
        description: |-
          The source ip address.
        format: ipv6
        type: string
    type: object
    x-vmw-nsx-module: Traceflow
  JoinClusterParameters:
    description: |-
      To join a new node to the NSX cluster, issue a JoinCluster API on the new node. The JoinCluster API takes this object as a parameter. Provide the ID of the NSX cluster you want the new node to join and the IP address of one of the nodes already in that cluster. The Cluster Boot Manager running on the new node will then add the new node to the NSX cluster by making a AttachClusterNode REST API call on the node that is already part of the cluster. In order to make a REST API call to the node in the cluster, the Cluster Boot Manager will need username and password of a priviledged user on the node in the cluster. In place of a username and password, Cluster Boot Manager could also use a OAuth token provided. The Cluster Boot Manager needs either the username and password or the OAuth token to make the REST call but not both.
    properties:
      certficate_sha256_thumbprint:
        description: |-
          SHA256 Thumbprint of the API certificate of the cluster node
        title: |-
          SHA256 Thumbprint of the API certificate of the cluster node
        type: string
      cluster_id:
        description: |-
          UUID of the cluster to join
        title: |-
          UUID of the cluster to join
        type: string
      ip_address:
        description: |-
          IP address of a node already part of the cluster to join
        title: |-
          IP address of a node already part of the cluster to join
        type: string
      password:
        description: |-
          Password of the user on the cluster node
        title: |-
          Password of the user on the cluster node
        type: string
      port:
        default: 443
        description: |-
          API port on the cluster node
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          API port on the cluster node
        type: integer
      token:
        description: |-
          Limited time OAuth token instead of the username/password
        title: |-
          Limited time OAuth token instead of the username/password
        type: string
      username:
        description: |-
          Username on the cluster node
        title: |-
          Username on the cluster node
        type: string
    required:
    - certficate_sha256_thumbprint
    - ip_address
    - cluster_id
    title: |-
      Parameters needed for this node to join the NSX cluster
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  KeyValue:
    properties:
      key:
        description: |-
          Key name.
        readOnly: false
        type: string
      value:
        description: |-
          Key value.
        readOnly: false
        type: string
    required:
    - value
    - key
    type: object
    x-vmw-nsx-module: CertificateManager
  KeyValuePair:
    description: |-
      An arbitrary key-value pair
    properties:
      key:
        description: |-
          Key
        maxLength: 255
        readOnly: false
        title: |-
          Key
        type: string
      value:
        description: |-
          Value
        maxLength: 255
        readOnly: false
        title: |-
          Value
        type: string
    required:
    - value
    - key
    title: |-
      An arbitrary key-value pair
    type: object
    x-vmw-nsx-module: Common
  KnownHostParameter:
    properties:
      host:
        description: |-
          Known host hostname or IP address
        format: hostname-or-ipv4
        type: string
      port:
        default: 22
        description: |-
          Known host port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Known host port
        type: integer
    required:
    - host
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  L2ForwarderRemoteMacs:
    properties:
      inter_site_forwarder_status:
        description: |-
          Inter-site forwarder status per node.
        items:
          $ref: '#/definitions/L2ForwarderStatusPerNode'
        readOnly: true
        title: |-
          Inter-site forwarder status per node
        type: array
      last_update_timestamp:
        description: |
          Timestamp when the l2 forwarder remote mac addresses was last updated.
        format: int64
        readOnly: true
        type: integer
      logical_switch_id:
        description: |
          Logical switch id on which the L2 forwarder is created.
        readOnly: true
        title: |-
          Logical switch id of L2 forwarder
        type: string
      remote_macs_per_site:
        description: |
          L2 forwarder remote mac addresses per site for logical switch.
        items:
          $ref: '#/definitions/L2ForwarderRemoteMacsPerSite'
        readOnly: true
        title: |-
          L2 forwarder remote mac addresses per site
        type: array
    type: object
    x-vmw-nsx-module: AggSvcL2Forwarder
  L2ForwarderRemoteMacsPerSite:
    properties:
      remote_active_ips:
        description: |-
          Remote active IP addresses.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        readOnly: true
        title: |-
          Remote active IPs
        type: array
      remote_mac_addresses:
        description: |-
          Remote mac addresses.
        items:
          type: string
        readOnly: true
        title: |-
          Remote mac addresses
        type: array
      remote_site:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Remote site details.
        readOnly: true
        title: |-
          Remote site
      remote_standby_ips:
        description: |-
          Remote standby IP addresses.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        readOnly: true
        title: |-
          Remote standby IPs
        type: array
      rtep_group_id:
        description: |
          32 bit unique RTEP group id of the logical switch per site.
        format: int64
        readOnly: true
        title: |-
          RTEP group id of logical switch per site
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcL2Forwarder
  L2ForwarderStatistics:
    properties:
      last_update_timestamp:
        description: |
          Timestamp when the l2 forwarder statistics was last updated.
        format: int64
        readOnly: true
        type: integer
      logical_switch_id:
        description: |
          Logical switch id on which the L2 forwarder is created.
        readOnly: true
        title: |-
          Logical switch id of L2 forwarder
        type: string
      rx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total received data counters.
        readOnly: true
        title: |-
          Received data counters
      tx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total sent data counters.
        readOnly: true
        title: |-
          Sent data counters
    type: object
    x-vmw-nsx-module: AggSvcL2Forwarder
  L2ForwarderStatus:
    properties:
      last_update_timestamp:
        description: |
          Timestamp when the service router status was last updated.
        format: int64
        readOnly: true
        type: integer
      logical_switch_id:
        description: |
          Logical switch id on which the L2 forwarder is created.
        readOnly: true
        title: |-
          Logical switch id of L2 forwarder
        type: string
      status_per_node:
        description: |-
          L2 forwarder status per node.
        items:
          $ref: '#/definitions/L2ForwarderStatusPerNode'
        readOnly: true
        title: |-
          L2 forwarder status per node
        type: array
    type: object
    x-vmw-nsx-module: AggSvcL2Forwarder
  L2ForwarderStatusPerNode:
    properties:
      high_availability_status:
        description: |
          High Availability status of a service router on the edge node.
        enum:
        - ACTIVE
        - STANDBY
        - DOWN
        - SYNC
        - UNKNOWN
        readOnly: true
        title: |-
          Service router's HA status
        type: string
      transport_node:
        $ref: '#/definitions/ResourceReference'
        description: |
          Edge node details from where the router status is being retrieved.
        readOnly: true
        title: |-
          Transport node
    type: object
    x-vmw-nsx-module: AggSvcL2Forwarder
  L2VPNPerLSTrafficStatistics:
    description: |-
      Traffic statistics for a logical switch.
    properties:
      bum_bytes_in:
        description: |-
          Total number of incoming Broadcast, Unknown unicast and Multicast (BUM) bytes.
        format: int64
        readOnly: true
        title: |-
          Broadcast, Unknown unicast and Multicast (BUM) bytes in
        type: integer
      bum_bytes_out:
        description: |-
          Total number of outgoing Broadcast, Unknown unicast and Multicast (BUM) bytes.
        format: int64
        readOnly: true
        title: |-
          Broadcast, Unknown unicast and Multicast (BUM) bytes out
        type: integer
      bum_packets_in:
        description: |-
          Total number of incoming Broadcast, Unknown unicast and Multicast (BUM) packets.
        format: int64
        readOnly: true
        title: |-
          Broadcast, Unknown unicast and Multicast (BUM) packets in
        type: integer
      bum_packets_out:
        description: |-
          Total number of outgoing Broadcast, Unknown unicast and Multicast (BUM) packets.
        format: int64
        readOnly: true
        title: |-
          Broadcast, Unknown unicast and Multicast (BUM) packets out
        type: integer
      bytes_in:
        description: |-
          Total number of incoming bytes.
        format: int64
        readOnly: true
        title: |-
          Bytes in
        type: integer
      bytes_out:
        description: |-
          Total number of outgoing bytes.
        format: int64
        readOnly: true
        title: |-
          Bytes out
        type: integer
      logical_switch:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Logical switch
        readOnly: true
        title: |-
          Logical switch
      packets_in:
        description: |-
          Total number of incoming packets.
        format: int64
        readOnly: true
        title: |-
          Packets in
        type: integer
      packets_out:
        description: |-
          Total number of outgoing packets.
        format: int64
        readOnly: true
        title: |-
          Packets out
        type: integer
      packets_receive_error:
        description: |-
          Total number of incoming packets dropped.
        format: int64
        readOnly: true
        title: |-
          Packets recieved error
        type: integer
      packets_sent_error:
        description: |-
          Total number of packets dropped while sending for any reason.
        format: int64
        readOnly: true
        title: |-
          Packets sent error
        type: integer
    title: |-
      Traffic statistics per logical switch
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNSessionRemoteMacs:
    description: |-
      Remote MAC addresses for all logical switches for a L2VPN session.
    properties:
      display_name:
        description: |-
          L2VPN display name.
        readOnly: true
        title: |-
          Display name
        type: string
      remote_mac_addresses:
        description: |-
          List MAC addresses for all logical switch for a particular L2VPN session.
        items:
          $ref: '#/definitions/L2VPNSessionRemoteMacsForLS'
        readOnly: true
        title: |-
          Remote MAC addresses for all logical switches
        type: array
      session_id:
        description: |-
          L2VPN session identifier.
        readOnly: true
        title: |-
          Session identifier
        type: string
    title: |-
      Remote MAC addresses list
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNSessionRemoteMacsForLS:
    description: |-
      Remote MAC addresses for logical switch.
    properties:
      logical_switch:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Logical switch.
        readOnly: true
        title: |-
          Logical switch
      remote_mac_addresses:
        description: |-
          Mac addresses.
        items:
          type: string
        readOnly: true
        title: |-
          Mac addresses
        type: array
      tags:
        description: |-
          Contains policy specific information like policy path.
        items:
          $ref: '#/definitions/Tag'
        maxItems: 30
        title: |-
          Attributes Tags
        type: array
    title: |-
      Remote MAC addresses for logical switch
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNSessionStatistics:
    description: |-
      Session statistics gives VPN session status and traffic statistics per logical switch.
    properties:
      display_name:
        description: |-
          L2VPN display name.
        readOnly: true
        title: |-
          Display name
        type: string
      partial_stats:
        description: |-
          Partial statistics is set to true if onle active node responds while standby does not. In case of both nodes responded statistics will be summed and partial stats will be false. If cluster has only active node, partial statistics will always be false.
        readOnly: true
        title: |-
          Partial Statistics
        type: boolean
      session_id:
        description: |-
          Session identifier for L2VPN.
        readOnly: true
        title: |-
          L2VPN session id
        type: string
      tap_traffic_counters:
        description: |-
          Tunnel port traffic counters.
        items:
          $ref: '#/definitions/L2VPNTapTrafficStatistics'
        readOnly: true
        title: |-
          Tunnel port traffic counters
        type: array
      traffic_statistics_per_logical_switch:
        description: |-
          Traffic statistics per logical switch.
        items:
          $ref: '#/definitions/L2VPNPerLSTrafficStatistics'
        readOnly: true
        title: |-
          Traffic statistics per logical switch
        type: array
    title: |-
      L2VPN session statistics
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNSessionStatus:
    description: |-
      L2VPN session status.
    properties:
      display_name:
        description: |-
          L2VPN display name.
        readOnly: true
        title: |-
          Display name
        type: string
      session_id:
        description: |-
          L2VPN session identifier.
        readOnly: true
        title: |-
          Session identifier
        type: string
      status:
        description: |-
          L2 VPN session status, specifies UP/DOWN.
        enum:
        - UP
        - DOWN
        readOnly: true
        title: |-
          L2 VPN session status
        type: string
      transport_tunnels:
        description: |-
          Transport tunnels status.
        items:
          $ref: '#/definitions/L2VPNTransportTunnelStatus'
        readOnly: true
        title: |-
          Transport tunnels status
        type: array
    title: |-
      L2VPN Session Status
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNSessionSummary:
    description: |-
      List summary of L2VPN sessions.
    properties:
      established_l2vpn_sessions:
        description: |-
          Number of established L2VPN sessions. L2VPN session is established when all the tunnels are up.
        format: int64
        readOnly: true
        title: |-
          Established L2VPN sessions
        type: integer
      failed_l2vpn_sessions:
        description: |-
          Number of failed L2VPN sessions. L2VPN session is failed when all the tunnels are down.
        format: int64
        readOnly: true
        title: |-
          Failed L2VPN sessions
        type: integer
      total_l2vpn_sessions:
        description: |-
          Total L2VPN sessions configured.
        format: int64
        readOnly: true
        title: |-
          Total L2VPN sessions
        type: integer
    title: |-
      L2VPN session status summary
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNTapTrafficStatistics:
    description: |-
      TAP (Terminal access point) traffic statistics for L2VPN.
    properties:
      bytes_in:
        description: |-
          Total number of incoming bytes.
        format: int64
        readOnly: true
        title: |-
          Bytes in
        type: integer
      bytes_out:
        description: |-
          Total number of outgoing bytes.
        format: int64
        readOnly: true
        title: |-
          Bytes out
        type: integer
      packets_in:
        description: |-
          Total number of incoming packets.
        format: int64
        readOnly: true
        title: |-
          Packets in
        type: integer
      packets_out:
        description: |-
          Total number of outgoing packets.
        format: int64
        readOnly: true
        title: |-
          Packets out
        type: integer
      packets_receive_error:
        description: |-
          Total number of incoming packets dropped.
        format: int64
        readOnly: true
        title: |-
          packets recieved error
        type: integer
      packets_sent_error:
        description: |-
          Total number of packets dropped while sending for any reason.
        format: int64
        readOnly: true
        title: |-
          Packets sent error
        type: integer
    title: |-
      L2VPN TAP (Terminal access point) traffic statistics
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VPNTransportTunnelStatus:
    description: |-
      Transport tunnel status.
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Resource types of L2VPN Transport tunnels
        enum:
        - IPSecVPNTransportStatus
        type: string
      tunnel_id:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Transport tunnel id.
        readOnly: true
        title: |-
          Transport tunnel id
    required:
    - resource_type
    title: |-
      Transport tunnel status
    type: object
    x-vmw-nsx-module: L2VPNStatistics
  L2VpnAttachmentContext:
    allOf:
    - $ref: '#/definitions/AttachmentContext'
    - properties:
        local_egress_ip:
          description: |
            List of local egress IP addresses, used for
            local egress optimization.
          items:
            description: |
              IPElement can be a single IP address, IP address range or a Subnet. Its
              type can be of IPv4 or IPv6. Supported list of formats are "192.168.1.1",
              "192.168.1.1-192.168.1.100", "192.168.0.0/24",
              "fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c",
              "fe80::250:56ff:fe83:318c/64"
            format: address-or-block-or-range
            type: string
          title: |-
            Array of local egress IPs
          type: array
        tunnel_id:
          description: |-
            Tunnel Id to uniquely identify the extension.
          format: int32
          maximum: 4093
          minimum: 1
          title: |-
            Tunnel Id to uniquely identify the extension.
          type: integer
      required:
      - tunnel_id
      type: object
      x-vmw-nsx-module: LogicalPort
    x-vmw-nsx-module: LogicalPort
  L2VpnService:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enable_full_mesh:
          default: false
          description: |
            Full mesh topology auto disables traffic replication between connected
            peers. However, this property is deprecated. Please refer enable_hub
            property instead to control client to client forwarding via the server.
            The value of enable_full_mesh will not be used anymore. If enable_hub
            is not provided explicitly, the default value of it will be used.
          title: |-
            Enable full mesh topology
          type: boolean
          x-deprecated: true
        enable_hub:
          default: false
          description: |
            This property only applies in SERVER mode. If set to true,
            traffic from any client will be replicated to all other clients.
            If set to false, traffic received from clients is only replicated
            to the local VPN endpoint.
          title: |-
            Enable client to client forwarding via server
          type: boolean
        logical_router_id:
          description: |-
            Logical router id
          title: |-
            Logical router id
          type: string
        logical_tap_ip_pool:
          description: |-
            IP Pool to allocate local and peer endpoint IPs for L2VpnSession logical Tap.
          items:
            description: |-
              IPv4 CIDR Block
            format: ipv4-cidr-block
            type: string
          title: |-
            IP Pool for Logical Taps
          type: array
        mode:
          default: SERVER
          description: |
            Specify an L2VPN service mode as SERVER or CLIENT. L2VPN service
            in SERVER mode requires user to configure L2VPN session explicitly.
            L2VPN service in CLIENT mode can use peercode generated from SERVER
            to configure L2VPN session.
          enum:
          - SERVER
          - CLIENT
          title: |-
            L2VPN Service Mode
          type: string
      required:
      - logical_router_id
      type: object
      x-vmw-nsx-module: L2VPN
    description: |-
      Defines if service running as server or client Also defines all the common properties for the multiple L2VpnSessions associated with this service.
    title: |-
      L2VPN Service
    x-vmw-nsx-module: L2VPN
  L2VpnServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            L2VPN serivce list result
          items:
            $ref: '#/definitions/L2VpnService'
          title: |-
            L2VPN serivce list result
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: L2VPN
    description: |-
      Paginated list all the L2VPN services.
    title: |-
      List all L2VPN services
    x-vmw-nsx-module: L2VPN
  L2VpnSession:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          default: true
          description: |-
            Enable to extend all the associated logical switches.
          title: |-
            Enable L2VPN session
          type: boolean
        l2vpn_service_id:
          description: |-
            L2VPN service id
          title: |-
            L2VPN service id
          type: string
        l2vpn_tcp_mss_clamping:
          $ref: '#/definitions/L2VpnTcpMssClamping'
          description: |-
            L2VPN TCP MSS Clamping
          title: |-
            L2VPN TCP MSS Clamping
        transport_tunnels:
          description: |-
            List of transport tunnels for redundancy.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          minItems: 1
          title: |-
            List of transport tunnels
          type: array
        tunnel_encapsulation:
          $ref: '#/definitions/L2VpnTunnelEncapsulation'
          description: |-
            Tunnel encapsulation config. For hub, this property should not be provided as it will be auto-generated. For spoke, this property must be provided.
          title: |-
            Tunnel encapsulation config
      required:
      - transport_tunnels
      - l2vpn_service_id
      type: object
      x-vmw-nsx-module: L2VPN
    description: |-
      Defines the tunnel local and peer addresses along with the multiple tansport tunnels for redundancy. L2VpnSession belongs on to only one L2VpnService.
    title: |-
      L2VPN Session
    x-vmw-nsx-module: L2VPN
  L2VpnSessionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            L2VPN sessions list result
          items:
            $ref: '#/definitions/L2VpnSession'
          title: |-
            L2VPN sessions list result
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: L2VPN
    description: |-
      Paginated list all the L2VPN sessions
    title: |-
      List all L2VPN sessions
    x-vmw-nsx-module: L2VPN
  L2VpnSessionPeerCodes:
    description: |-
      Get the peer_code for each tunnel to paste on the remote end of the tunnel. Currently only stand-along/unmanaged edge is supported on the remote end of the tunnel.
    properties:
      peer_codes:
        description: |-
          List of peer codes per transport tunnel.
        items:
          $ref: '#/definitions/L2VpnTunnelPeerCode'
        maxItems: 1
        minItems: 1
        title: |-
          List of peer codes
        type: array
    required:
    - peer_codes
    title: |-
      Peer code to configure the other side of the tunnel
    type: object
    x-vmw-nsx-module: L2VPN
  L2VpnTcpMssClamping:
    description: |-
      TCP MSS Clamping Direction and value for L2VPN session.
    properties:
      direction:
        default: BOTH
        description: |-
          Specifies the traffic direction for which to apply MSS Clamping. If direction is None, the feature is disabled.
        enum:
        - NONE
        - BOTH
        title: |-
          MSS Clamping direction
        type: string
      max_segment_size:
        description: |-
          It defines the maximum amount of data that a host is willing to accept in a single TCP segment. This field is set in TCP header during connection establishment. To avoid packet fragmentation, you can set this field depending on uplink MTU and VPN overhead. This is optional field and in case it is left unconfigured, best possible MSS value will be calculated based on effective mtu of uplink interface. Supported MSS range is 108 to 8860.
        format: int64
        maximum: 8860
        minimum: 108
        title: |-
          Maximum Segment Size value
        type: integer
    title: |-
      TCP MSS Clamping Object for L2VPN Session
    type: object
    x-vmw-nsx-module: L2VPN
  L2VpnTunnelEncapsulation:
    description: |-
      L2VPN tunnel encapsulation config
    properties:
      local_endpoint_ip:
        description: |-
          IP Address of the tunnel port. For hub, the IP is allocated from L2VpnService logical_tap_ip_pool. All sessions on same L2VpnService get the same local_endpoint_ip. For spoke, the IP must be provided.
        format: ipv4
        type: string
      peer_endpoint_ip:
        description: |-
          IP Address of the peer tunnel port. For hub, the IP is allocated from L2VpnService logical_tap_ip_pool. For spoke, the IP must be provided.
        format: ipv4
        type: string
      protocol:
        default: GRE
        description: |-
          Encapsulation protocol used by the tunnel
        enum:
        - GRE
        title: |-
          Encapsulation protocol
        type: string
    title: |-
      L2VPN tunnel encapsulation config
    type: object
    x-vmw-nsx-module: L2VPN
  L2VpnTunnelPeerCode:
    description: |-
      L2Vpn tunnel peer code
    properties:
      peer_code:
        description: |-
          Copy this code to paste on the remote end of the tunnel. This is a base64 encoded string which has all the configuration for tunnel. E.g tap device local/peer ips and protocol, encryption algorithm, etc. The peer code also contains a pre-shared key; be careful when sharing or storing it.
        title: |-
          Peer code for the tunnel
        type: string
      transport_tunnel:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Transport tunnel
        title: |-
          Transport tunnel
    required:
    - transport_tunnel
    - peer_code
    title: |-
      L2Vpn tunnel peer code
    type: object
    x-vmw-nsx-module: L2VPN
  L4PortSetNSService:
    allOf:
    - $ref: '#/definitions/NSServiceElement'
    - properties:
        destination_ports:
          description: |
            Number of values should not exceed 15, ranges count as 2 values.
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 15
          title: |-
            Destination ports
          type: array
        l4_protocol:
          enum:
          - TCP
          - UDP
          type: string
        source_ports:
          description: |
            Number of values should not exceed 15, ranges count as 2 values.
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 15
          title: |-
            Source ports
          type: array
      required:
      - l4_protocol
      type: object
      x-vmw-nsx-module: Types
    description: |
      L4PortSet can be specified in comma separated notation of parts. Parts of a
      L4PortSet includes single integer or range of port in hyphen notation.
      Example of a PortSet: "22, 33-70, 44".
    title: |-
      An NSService element that represents TCP or UDP protocol
    x-vmw-nsx-module: Types
  Label:
    description: |-
      Label that will be displayed for a UI element.
    properties:
      condition:
        description: |-
          If the condition is met then the label will be applied. Examples of expression syntax are provided under example_request section of CreateWidgetConfiguration API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
      hover:
        default: false
        description: |-
          If true, displays the label only on hover
        title: |-
          Show label only on hover
        type: boolean
      icons:
        description: |-
          Icons to be applied at dashboard for the label
        items:
          $ref: '#/definitions/Icon'
        minItems: 0
        title: |-
          Icons
        type: array
      navigation:
        description: |-
          Hyperlink of the specified UI page that provides details.
        maxLength: 1024
        title: |-
          Navigation to a specified UI page
        type: string
      text:
        description: |-
          Text to be displayed at the label.
        maxLength: 255
        title: |-
          Label text
        type: string
    required:
    - text
    title: |-
      Label
    type: object
    x-vmw-nsx-module: NsxDashboard
  LabelValueConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        layout:
          $ref: '#/definitions/Layout'
          description: |-
            Layout of properties can be vertical or grid. If layout is not specified a default vertical layout is applied.
          title: |-
            Layout of properties inside widget
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          maxLength: 1024
          title: |-
            Navigation to a specified UI page
          type: string
        properties:
          description: |-
            An array of label-value properties.
          items:
            $ref: '#/definitions/PropertyItem'
          title: |-
            Rows
          type: array
        sub_type:
          description: |-
            A sub-type of LabelValueConfiguration. If sub-type is not specified the parent type is rendered. For VERTICALLY_ALIGNED sub_type, the value is placed below the label.
          enum:
          - VERTICALLY_ALIGNED
          title: |-
            Sub-type of the LabelValueConfiguration
          type: string
      required:
      - properties
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents a Label-Value widget configuration
    title: |-
      Label Value Dashboard Widget Configuration
    x-vmw-nsx-module: NsxDashboard
  LacpGroupConfigInfo:
    properties:
      key:
        description: |
          The key represents the identifier for the group that is unique
          across VC.
        readOnly: false
        title: |-
          The generated key as the identifier for the group
        type: string
      load_balance_algorithm:
        description: |
          Load balance algorithm used in LACP group. The possible values
          are dictated by the values available in VC. Please refer
          VMwareDvsLacpLoadBalanceAlgorithm documentation for a full list
          of values. A few examples are srcDestIp where source and destination
          IP are considered, srcIp where only source IP is considered.
        readOnly: false
        title: |-
          Load balance policy
        type: string
      mode:
        description: |
          The mode of LACP can be ACTIVE or PASSIVE. If the mode is ACTIVE, LACP
          is enabled unconditionally. If the mode is PASSIVE, LACP is enabled
          only if LACP device is detected.
        enum:
        - ACTIVE
        - PASSIVE
        readOnly: false
        title: |-
          The mode of Link Aggregation Control Protocol (LACP)
        type: string
      name:
        description: |-
          The display name of the LACP group.
        readOnly: false
        title: |-
          The display name
        type: string
      uplink_names:
        description: |-
          Names for the uplink ports in the group.
        items:
          type: string
        readOnly: false
        title: |-
          Uplink names
        type: array
      uplink_num:
        description: |-
          The number of uplink ports
        format: int64
        readOnly: false
        title: |-
          The number of uplink ports
        type: integer
      uplink_port_keys:
        description: |
          Keys for the uplink ports in the group. Each uplink port is
          assigned a key that is unique across VC.
        items:
          type: string
        readOnly: false
        title: |-
          Keys for the uplink ports
        type: array
    type: object
    x-vmw-nsx-module: InventoryCmInvComm
  Lag:
    description: |-
      LACP group
    properties:
      id:
        description: |-
          unique id
        readOnly: true
        title: |-
          unique id
        type: string
      load_balance_algorithm:
        description: |-
          LACP load balance Algorithm
        enum:
        - SRCMAC
        - DESTMAC
        - SRCDESTMAC
        - SRCDESTIPVLAN
        - SRCDESTMACIPPORT
        title: |-
          LACP load balance Algorithm
        type: string
      mode:
        description: |-
          LACP group mode
        enum:
        - ACTIVE
        - PASSIVE
        title: |-
          LACP group mode
        type: string
      name:
        description: |-
          Lag name
        title: |-
          Lag name
        type: string
      number_of_uplinks:
        description: |-
          number of uplinks
        format: int32
        maximum: 32
        minimum: 2
        title: |-
          number of uplinks
        type: integer
      timeout_type:
        default: SLOW
        description: |-
          LACP timeout type
        enum:
        - SLOW
        - FAST
        title: |-
          LACP timeout type
        type: string
      uplinks:
        description: |-
          uplink names
        items:
          $ref: '#/definitions/Uplink'
        maxItems: 32
        readOnly: true
        title: |-
          uplink names
        type: array
    required:
    - load_balance_algorithm
    - mode
    - name
    - number_of_uplinks
    title: |-
      LACP group
    type: object
    x-vmw-nsx-module: UplinkHostSwitchProfile
  LatencyStatProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        pnic_latency_enabled:
          default: false
          description: |
            Enable or Disable pnic latency.
          readOnly: false
          type: boolean
        sampling_interval:
          description: |
            Event nth milliseconds packet is sampled. When a value less than
            1000 is given, the realized sampling interval will be 1000 milliseconds.
          format: int64
          maximum: 1000000
          minimum: 1
          title: |-
            Latency sampling interval
          type: integer
        sampling_rate:
          description: |
            Event nth packet is sampled.
          format: int64
          maximum: 1000000
          minimum: 100
          title: |-
            Latency sampling rate
          type: integer
      type: object
      x-vmw-nsx-module: Latency
    description: |
      Latency stat service profile
    title: |-
      Latency Stat Profile
    x-vmw-nsx-module: Latency
  LatencyStatProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Latency stat profile list.
          items:
            $ref: '#/definitions/LatencyStatProfile'
          readOnly: true
          title: |-
            Latency Stat Profile List
          type: array
      type: object
      x-vmw-nsx-module: Latency
    description: |-
      List of latency profile
    title: |-
      List of latency profile
    x-vmw-nsx-module: Latency
  Layout:
    description: |-
      Represents layout of a container or widget
    properties:
      properties:
        $ref: '#/definitions/LayoutProperties'
      type:
        default: HORIZONTAL
        description: |-
          Describes layout of a container or widget. Layout describes how individual widgets are placed inside the container. For example, if HORIZONTAL is chosen widgets are placed side by side inside the container. If VERTICAL is chosen then widgets are placed one below the other. If GRID is chosen then the container or widget display area is divided into a grid of m rows and n columns, as specified in the properties, and the widgets are placed inside the grid.
        enum:
        - HORIZONTAL
        - VERTICAL
        - GRID
        title: |-
          Type of layout of a container or widget
        type: string
    title: |-
      Layout of a container or widget
    type: object
    x-vmw-nsx-module: NsxDashboard
  LayoutProperties:
    description: |-
      Properties of the layout of a container or widget
    properties:
      num_columns:
        description: |-
          Describes the number of columns of grid layout of a container or widget. This property is applicable for grid layout only.
        format: int32
        title: |-
          Number of columns of grid
        type: integer
      num_rows:
        description: |-
          Describes the number of rows of grid layout of a container or widget. This property is applicable for grid layout only.
        format: int32
        title: |-
          Number of rows of grid
        type: integer
    title: |-
      Layout properties of a container or widget
    type: object
    x-vmw-nsx-module: NsxDashboard
  LbAccessListControl:
    description: |
      LbAccessListControl is used to define how IP access list control can filter
      the connections from clients.
    properties:
      action:
        description: |
          ALLOW means connections matching grouping object IP list are allowed
          and requests not matching grouping object IP list are dropped.
          DROP means connections matching grouping object IP list are dropped
          and requests not matching grouping object IP list are allowed.
        enum:
        - ALLOW
        - DROP
        title: |-
          IP access list control action
        type: string
      enabled:
        default: false
        description: |
          The enabled flag indicates whether to enable access list control option.
          It is false by default.
        title: |-
          Whether to enable access list control option
        type: boolean
      group_id:
        description: |
          The identifier of grouping object which defines the IP addresses or
          ranges to match the client IP.
        title: |-
          Grouping object identifier
        type: string
    required:
    - action
    - group_id
    title: |-
      IP access list control to filter the connections from clients
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbActiveMonitor:
    allOf:
    - $ref: '#/definitions/LbMonitor'
    - properties:
        fall_count:
          default: 3
          description: |-
            num of consecutive checks must fail before marking it down
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            num of consecutive checks must fail before marking it down
          type: integer
        interval:
          default: 5
          description: |-
            the frequency at which the system issues the monitor check (in second)
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            the frequency at which the system issues the monitor check (in second)
          type: integer
        monitor_port:
          description: |
            If the monitor port is specified, it would override pool member port
            setting for healthcheck. A port range is not supported.
            For ICMP monitor, monitor_port is not required.
          format: port-or-range
          type: string
        rise_count:
          default: 3
          description: |-
            num of consecutive checks must pass before marking it up
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            num of consecutive checks must pass before marking it up
          type: integer
        timeout:
          default: 15
          description: |
            the number of seconds the target has in which to respond to the monitor
            request
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |
            the number of seconds the target has in which to respond to the monitor
            request
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbAppProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |
            An application profile can be bound to a virtual server
            to specify the application protocol characteristics. It is used to
            influence how load balancing is performed. Currently, three types of
            application profiles are supported: LbFastTCPProfile,
            LbFastUDPProfile and LbHttpProfile.
            LbFastTCPProfile or LbFastUDPProfile is typically
            used when the application is using a custom protocol or a standard protocol
            not supported by the load balancer. It is also used in cases where the user
            only wants L4 load balancing mainly because L4 load balancing has much
            higher performance and scalability, and/or supports connection mirroring.
            LbHttpProfile is used for both HTTP and HTTPS applications.
            Though application rules, if bound to the virtual server, can be used
            to accomplish the same goal, LbHttpProfile is intended to
            simplify enabling certain common use cases.
          enum:
          - LbHttpProfile
          - LbFastTcpProfile
          - LbFastUdpProfile
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbAppProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer application profiles
          items:
            $ref: '#/definitions/LbAppProfile'
          title: |-
            paginated list of load balancer application profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbClientCertificateIssuerDnCondition:
    description: |-
      Match condition for client certficate issuer DN
    properties:
      case_sensitive:
        default: true
        description: |
          If true, case is significant when comparing issuer DN value.
        title: |-
          A case sensitive flag for issuer DN comparing
        type: boolean
      issuer_dn:
        description: |-
          Value of issuer DN
        title: |-
          Value of issuer DN
        type: string
      match_type:
        default: REGEX
        description: |-
          Match type of issuer DN
        enum:
        - STARTS_WITH
        - ENDS_WITH
        - EQUALS
        - CONTAINS
        - REGEX
        type: string
    required:
    - issuer_dn
    title: |-
      Match condition for client certficate issuer DN
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbClientCertificateSubjectDnCondition:
    description: |-
      Match condition for client certficate subject DN
    properties:
      case_sensitive:
        default: true
        description: |
          If true, case is significant when comparing subject DN value.
        title: |-
          A case sensitive flag for subject DN comparing
        type: boolean
      match_type:
        default: REGEX
        description: |-
          Match type of subject DN
        enum:
        - STARTS_WITH
        - ENDS_WITH
        - EQUALS
        - CONTAINS
        - REGEX
        type: string
      subject_dn:
        description: |-
          Value of subject DN
        title: |-
          Value of subject DN
        type: string
    required:
    - subject_dn
    title: |-
      Match condition for client certficate subject DN
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbClientSslProfile:
    allOf:
    - $ref: '#/definitions/LbSslProfile'
    - properties:
        cipher_group_label:
          description: |
            It is a label of cipher group which is mostly consumed by GUI.
          enum:
          - BALANCED
          - HIGH_SECURITY
          - HIGH_COMPATIBILITY
          - CUSTOM
          type: string
        ciphers:
          description: |-
            supported SSL cipher list to client side
          items:
            description: |-
              SSL cipher
            enum:
            - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_128_CBC_SHA
            - TLS_RSA_WITH_3DES_EDE_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
            - TLS_RSA_WITH_AES_128_CBC_SHA256
            - TLS_RSA_WITH_AES_128_GCM_SHA256
            - TLS_RSA_WITH_AES_256_CBC_SHA256
            - TLS_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
            type: string
          title: |-
            supported SSL cipher list to client side
          type: array
        is_fips:
          description: |
            This flag is set to true when all the ciphers and protocols are FIPS
            compliant. It is set to false when one of the ciphers or protocols are
            not FIPS compliant..
          readOnly: true
          title: |-
            FIPS compliance of ciphers and protocols
          type: boolean
        is_secure:
          description: |
            This flag is set to true when all the ciphers and protocols are secure.
            It is set to false when one of the ciphers or protocols is insecure.
          readOnly: true
          title: |-
            Secure/Insecure SSL profile flag
          type: boolean
        prefer_server_ciphers:
          default: true
          description: |
            During SSL handshake as part of the SSL client Hello client sends an
            ordered list of ciphers that it can support (or prefers) and typically
            server selects the first one from the top of that list it can also
            support. For Perfect Forward Secrecy(PFS), server could override the
            client's preference.
          title: |-
            prefer server ciphers flag
          type: boolean
        protocols:
          description: |
            SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.
            SSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.
          items:
            description: |-
              SSL protocol
            enum:
            - SSL_V2
            - SSL_V3
            - TLS_V1
            - TLS_V1_1
            - TLS_V1_2
            type: string
          title: |-
            supported SSL protocol list to client side
          type: array
        session_cache_enabled:
          default: true
          description: |
            SSL session caching allows SSL client and server to reuse previously
            negotiated security parameters avoiding the expensive public key
            operation during handshake.
          title: |-
            session cache enable/disable flag
          type: boolean
        session_cache_timeout:
          default: 300
          description: |
            Session cache timeout specifies how long the SSL session parameters
            are held on to and can be reused.
          format: int64
          maximum: 86400
          minimum: 1
          title: |-
            SSL session cache timeout value
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbClientSslProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer client SSL profiles
          items:
            $ref: '#/definitions/LbClientSslProfile'
          title: |-
            paginated list of load balancer client SSL profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbConnectionDropAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to drop the connections. There is no extra propery in
      this action. If there is no match condition specified, the connection will
      be always dropped. This action can be specified at HTTP_ACCESS or
      HTTP_FORWARDING pahse.
    title: |-
      Action to drop connections
    x-vmw-nsx-module: LoadBalancer
  LbCookiePersistenceProfile:
    allOf:
    - $ref: '#/definitions/LbPersistenceProfile'
    - properties:
        cookie_domain:
          description: |
            HTTP cookie domain could be configured, only available for insert mode.
          title: |-
            cookie domain
          type: string
        cookie_fallback:
          default: true
          description: |
            If fallback is true, once the cookie points to a server that is down
            (i.e. admin state DISABLED or healthcheck state is DOWN), then a new
            server is selected by default to handle that request.
            If fallback is false, it will cause the request to be rejected if
            cookie points to a server
          title: |-
            cookie persistence fallback
          type: boolean
        cookie_garble:
          default: true
          description: |
            If garble is set to true, cookie value (server IP and port) would be
            encrypted.
            If garble is set to false, cookie value would be plain text.
          title: |-
            cookie persistence garble
          type: boolean
        cookie_httponly:
          default: false
          description: |
            If cookie httponly flag is true, it prevents a script running in the
            browser from accessing the cookie. Only available for insert mode.
          title: |-
            Cookie httponly flag
          type: boolean
        cookie_mode:
          default: INSERT
          description: |-
            cookie persistence mode
          enum:
          - INSERT
          - PREFIX
          - REWRITE
          type: string
        cookie_name:
          description: |-
            cookie name
          title: |-
            cookie name
          type: string
        cookie_path:
          description: |
            HTTP cookie path could be set, only available for insert mode.
          title: |-
            cookie path
          type: string
        cookie_secure:
          default: false
          description: |
            If cookie secure flag is true, it prevents the browser from sending a
            cookie over http. The cookie is sent only over https. Only
            available for insert mode.
          title: |-
            Cookie secure flag
          type: boolean
        cookie_time:
          $ref: '#/definitions/LbCookieTime'
          description: |
            Both session cookie and persistence cookie are supported, if not
            specified, it's a session cookie. It expires when the browser is
            closed.
          title: |-
            cookie time setting
      required:
      - cookie_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbCookieTime:
    discriminator: type
    properties:
      type:
        description: |
          Both session cookie and persistence cookie are supported,
          Use LbSessionCookieTime for session cookie time setting,
          Use LbPersistenceCookieTime for persistence cookie time setting
        enum:
        - LbSessionCookieTime
        - LbPersistenceCookieTime
        type: string
    required:
    - type
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbEdgeNodeUsage:
    allOf:
    - $ref: '#/definitions/LbNodeUsage'
    - properties:
        current_credit_number:
          description: |
            The current credit number reflects the current usage on the node.
            For example, configuring a medium load balancer on a node consumes
            10 credits. If there are 2 medium instances configured on a node,
            the current credit number is 2 * 10 = 20.
          format: int64
          readOnly: true
          title: |-
            Current credit number
          type: integer
        current_large_load_balancer_services:
          description: |
            The number of large load balancer services configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of large load balancer services
          type: integer
        current_medium_load_balancer_services:
          description: |
            The number of medium load balancer services configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of medium load balancer services
          type: integer
        current_pool_members:
          description: |
            The number of pool members configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of pool members
          type: integer
        current_pools:
          description: |
            The number of pools configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of pools
          type: integer
        current_small_load_balancer_services:
          description: |
            The number of small load balancer services configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of small load balancer services
          type: integer
        current_virtual_servers:
          description: |
            The number of virtual servers configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of virtual servers
          type: integer
        current_xlarge_load_balancer_services:
          description: |
            The number of xlarge load balancer services configured on the node.
          format: int64
          readOnly: true
          title: |-
            The current number of xlarge load balancer services
          type: integer
        edge_cluster_id:
          description: |
            The ID of edge cluster which contains the edge node.
          readOnly: true
          title: |-
            The ID of edge cluster
          type: string
        form_factor:
          description: |
            The form factor of the given edge node.
          enum:
          - SMALL_VIRTUAL_MACHINE
          - MEDIUM_VIRTUAL_MACHINE
          - LARGE_VIRTUAL_MACHINE
          - XLARGE_VIRTUAL_MACHINE
          - PHYSICAL_MACHINE
          readOnly: true
          title: |-
            The form factor of the given edge node
          type: string
        remaining_credit_number:
          description: |
            The remaining credit number is the remaining credits that can be used
            for load balancer service configuration. For example, an edge node with
            form factor LARGE_VIRTUAL_MACHINE has 40 credits, and a medium
            load balancer instance costs 10 credits. If there are currently
            3 medium instances configured, the remaining credit number is
            40 - (3 * 10) = 10.
          format: int64
          readOnly: true
          title: |-
            Remaining credit number
          type: integer
        remaining_large_load_balancer_services:
          description: |
            The remaining number of large load balancer services which could be
            configured on the given edge node.
          format: int64
          readOnly: true
          title: |-
            The remaining number of large load balancer services
          type: integer
        remaining_medium_load_balancer_services:
          description: |
            The remaining number of medium load balancer services which could be
            configured on the given edge node.
          format: int64
          readOnly: true
          title: |-
            The remaining number of medium load balancer services
          type: integer
        remaining_pool_members:
          description: |
            The remaining number of pool members which could be configured on the
            given edge node.
          format: int64
          readOnly: true
          title: |-
            The remaining number of pool members
          type: integer
        remaining_small_load_balancer_services:
          description: |
            The remaining number of small load balancer services which could be
            configured on the given edge node.
          format: int64
          readOnly: true
          title: |-
            The remaining number of small load balancer services
          type: integer
        remaining_xlarge_load_balancer_services:
          description: |
            The remaining number of xlarge load balancer services which could be
            configured on the given edge node.
          format: int64
          readOnly: true
          title: |-
            The remaining number of xlarge load balancer services
          type: integer
        severity:
          description: |
            The severity calculation is based on current credit usage percentage
            of load balancer for one node.
          enum:
          - GREEN
          - ORANGE
          - RED
          readOnly: true
          type: string
        usage_percentage:
          description: |
            The usage percentage of the edge node for load balancer.
            The value is the larger value between load balancer credit usage
            percentage and pool member usage percentage for the edge node.
          readOnly: true
          title: |-
            Usage percentage
          type: number
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      The capacity contains basic information and load balancer entity usages
      and capacity for the given edge node.
    title: |-
      The load balancer usage for an edge node
    x-vmw-nsx-module: LoadBalancer
  LbFastTcpProfile:
    allOf:
    - $ref: '#/definitions/LbAppProfile'
    - properties:
        close_timeout:
          default: 8
          description: |
            It is used to specify how long a closing TCP connection (both FINs
            received or a RST is received) should be kept for this application
            before cleaning up the connection.
          format: int64
          maximum: 60
          minimum: 1
          title: |-
            TCP connection idle timeout in seconds
          type: integer
        ha_flow_mirroring_enabled:
          default: false
          description: |
            If flow mirroring is enabled, all the flows to the bounded virtual
            server are mirrored to the standby node.
          title: |-
            flow mirroring enabled flag
          type: boolean
        idle_timeout:
          default: 1800
          description: |
            It is used to configure how long an idle TCP connection in ESTABLISHED
            state should be kept for this application before cleaning up.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            TCP connection idle timeout in seconds
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbFastUdpProfile:
    allOf:
    - $ref: '#/definitions/LbAppProfile'
    - properties:
        flow_mirroring_enabled:
          default: false
          description: |
            If flow mirroring is enabled, all the flows to the bounded virtual
            server are mirrored to the standby node.
          title: |-
            flow mirroring enabled flag
          type: boolean
        idle_timeout:
          default: 300
          description: |
            Though UDP is a connectionless protocol, for the purposes of load
            balancing, all UDP packets with the same flow signature (source and
            destination IP/ports and IP protocol) received within the idle timeout
            period are considered to belong to the same connection and are sent to
            the same backend server. If no packets are received for idle timeout
            period, the connection (association between flow signature and the
            selected server) is cleaned up.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            UDP idle timeout in seconds
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbGenericPersistenceProfile:
    allOf:
    - $ref: '#/definitions/LbPersistenceProfile'
    - properties:
        ha_persistence_mirroring_enabled:
          default: false
          description: |
            The mirroring enabled flag is to synchronize persistence entries.
            Persistence entries are not synchronized to the HA peer by default.
          title: |-
            Mirroring enabled flag
          type: boolean
        timeout:
          default: 300
          description: |
            When all connections complete (reference count reaches 0), persistence
            entry timer is started with the expiration time.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            Persistence entry expiration time in seconds
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      The profile is used to define the persistence entry expiration time,
      mirroring enabled flag to synchronize persistence entries, persistence
      shared flag for the associated virtual servers. The profile cannot be
      attached to virtual server directly, it can be only consumed by LB rule
      action. In HTTP forwarding phase, LBVariablePersistenceOnAction can be
      used to consume LbGenericPersistenceProfile. In HTTP response rewriting
      phase, LBVariablePersistenceLearnAction is used instead.
    title: |-
      LB generic persistence profile
    x-vmw-nsx-module: LoadBalancer
  LbHttpMonitor:
    allOf:
    - $ref: '#/definitions/LbActiveMonitor'
    - properties:
        request_body:
          description: |
            String to send as part of HTTP health check request body. Valid only
            for certain HTTP methods like POST.
          title: |
            String to send as part of HTTP health check request body. Valid only
            for certain HTTP methods like POST.
          type: string
        request_headers:
          description: |-
            Array of HTTP request headers
          items:
            $ref: '#/definitions/LbHttpRequestHeader'
          title: |-
            Array of HTTP request headers
          type: array
        request_method:
          default: GET
          description: |-
            the health check method for HTTP monitor type
          enum:
          - GET
          - OPTIONS
          - POST
          - HEAD
          - PUT
          type: string
        request_url:
          description: |-
            URL used for HTTP monitor
          title: |-
            URL used for HTTP monitor
          type: string
        request_version:
          default: HTTP_VERSION_1_1
          description: |-
            HTTP request version
          enum:
          - HTTP_VERSION_1_0
          - HTTP_VERSION_1_1
          type: string
        response_body:
          description: |
            If HTTP response body match string (regular expressions not supported)
            is specified (using LbHttpMonitor.response_body) then the
            healthcheck HTTP response body is matched against the specified string
            and server is considered healthy only if there is a match.
            If the response body string is not specified, HTTP healthcheck is
            considered successful if the HTTP response status code is 2xx, but it
            can be configured to accept other status codes as successful.
          title: |-
            response body to match
          type: string
        response_status_codes:
          description: |
            The HTTP response status code should be a valid HTTP status code.
          items:
            format: int32
            type: integer
          maxItems: 64
          title: |-
            Array of single HTTP response status codes
          type: array
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbHttpProfile:
    allOf:
    - $ref: '#/definitions/LbAppProfile'
    - properties:
        http_redirect_to:
          description: |
            If a website is temporarily down or has moved, incoming requests
            for that virtual server can be temporarily redirected to a URL
          title: |-
            http redirect static URL
          type: string
        http_redirect_to_https:
          default: false
          description: |
            Certain secure applications may want to force communication over SSL,
            but instead of rejecting non-SSL connections, they may choose to
            redirect the client automatically to use SSL.
          title: |-
            flag to indicate whether enable HTTP-HTTPS redirect
          type: boolean
        idle_timeout:
          default: 15
          description: |
            It is used to specify the HTTP application idle timeout, it means that
            how long the load balancer will keep the connection idle to wait for
            the client to send the next keep-alive request. It is not a TCP socket
            setting.
          format: int64
          maximum: 5400
          minimum: 1
          title: |-
            HTTP application idle timeout in seconds
          type: integer
        ntlm:
          description: |
            NTLM is an authentication protocol that can be used over HTTP. If the
            flag is set to true, LB will use NTLM challenge/response methodology.
            This property is deprecated. Please use the property server_keep_alive
            in order to keep the backend server connection alive for the client
            connection.
            When create a new profile, if both ntlm and server_keep_alive are set
            as different values, ERROR will be reported.
            When update an existing profile, if either ntlm or server_keep_alive
            value is changed, both of them are updated with the changed value.
          title: |-
            NTLM support flag
          type: boolean
          x-deprecated: true
        request_body_size:
          description: |
            If it is not specified, it means that request body size is unlimited.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            Maximum size of the buffer used to store HTTP request body
          type: integer
        request_header_size:
          default: 1024
          description: |
            A request with header equal to or below this size is guaranteed to be
            processed. A request with header larger than request_header_size will
            be processed up to 32K bytes on best effort basis.
          format: int64
          minimum: 1
          title: |-
            Maximum size of the buffer used to store HTTP request headers
          type: integer
        response_buffering:
          default: false
          description: |
            When buffering is disabled, the response is passed to a client
            synchronously, immediately as it is received.
            When buffering is enabled, LB receives a response from the backend
            server as soon as possible, saving it into the buffers.
          title: |-
            Enable or disable buffering of responses
          type: boolean
        response_header_size:
          default: 4096
          description: |
            A response with header larger than response_header_size will be dropped.
          format: int64
          maximum: 65536
          minimum: 1
          title: |-
            Maximum size of the buffer used to store HTTP response headers
          type: integer
        response_timeout:
          default: 60
          description: |
            If server doesn't send any packet within this time, the connection is closed.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            Maximum server idle time in seconds
          type: integer
        server_keep_alive:
          description: |
            If server_keep_alive is true, it means the backend connection will keep
            alive for the client connection. Every client connection is tied 1:1
            with the corresponding server-side connection.
            If server_keep_alive is false, it means the backend connection won't
            keep alive for the client connection. The default value is false.
            If server_keep_alive is not specified for API input, its value in API
            output will be the same with the property ntlm.
          title: |-
            Server keep-alive flag
          type: boolean
        x_forwarded_for:
          description: |
            When X-Forwareded-For is configured, X-Forwarded-Proto and
            X-Forwarded-Port information is added automatically. The two additional
            header information can be also modified or deleted in load balancer
            rules.
          enum:
          - INSERT
          - REPLACE
          type: string
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbHttpRedirectAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        redirect_status:
          description: |-
            HTTP response status code
          title: |-
            HTTP response status code
          type: string
        redirect_url:
          description: |-
            The URL that the HTTP request is redirected to
          title: |-
            The URL that the HTTP request is redirected to
          type: string
      required:
      - redirect_status
      - redirect_url
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to redirect HTTP request messages to a new URL. The
      reply_status value specified in this action is used as the status code of
      HTTP response message which is sent back to client (Normally a browser).
      The HTTP status code for redirection is 3xx, for example, 301, 302, 303,
      307, etc. The redirect_url is the new URL that the HTTP request message is
      redirected to. Normally browser will send another HTTP request to the new
      URL after receiving a redirection response message.
      Captured variables and built-in variables can be used in redirect_url field.
      For example, to redirect all HTTP requests to HTTPS requests for a virtual
      server. We create an LbRule without any conditions, add an
      LbHttpRedirectAction to the rule. Set the
      redirect_url field of the LbHttpRedirectAction to:
        https://$_host$_request_uri
      And set redirect_status to "302", which means found. This rule will
      redirect all HTTP requests to HTTPS server port on the same host.
    title: |-
      Action to redirect HTTP request messages
    x-vmw-nsx-module: LoadBalancer
  LbHttpRejectAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        reply_message:
          description: |-
            Response message
          title: |-
            Response message
          type: string
        reply_status:
          description: |-
            HTTP response status code
          title: |-
            HTTP response status code
          type: string
      required:
      - reply_status
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to reject HTTP request messages. The specified
      reply_status value is used as the status code for the corresponding HTTP
      response message which is sent back to client (Normally a browser)
      indicating the reason it was rejected. Reference official HTTP status code
      list for your specific HTTP version to set the reply_status properly.
      LbHttpRejectAction does not support variables.
    title: |-
      Action to reject HTTP request messages
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestBodyCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        body_value:
          description: |-
            HTTP request body
          title: |-
            HTTP request body
          type: string
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing HTTP body value.
          title: |-
            A case sensitive flag for HTTP body comparing
          type: boolean
        match_type:
          default: REGEX
          description: |-
            Match type of HTTP body
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
      required:
      - body_value
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match the message body of an HTTP request.
      Typically, only HTTP POST, PATCH, or PUT requests have request body.
      The match_type field defines how body_value field is used to match the body
      of HTTP requests.
    title: |-
      Condition to match content of HTTP request message body
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestCookieCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing cookie value.
          title: |-
            A case sensitive flag for cookie value comparing
          type: boolean
        cookie_name:
          description: |-
            Name of cookie
          title: |-
            Name of cookie
          type: string
        cookie_value:
          description: |-
            Value of cookie
          title: |-
            Value of cookie
          type: string
        match_type:
          default: REGEX
          description: |-
            Match type of cookie value
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
      required:
      - cookie_name
      - cookie_value
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match HTTP request messages by cookie which is a
      specific type of HTTP header. The match_type and case_sensitive define how
      to compare cookie value.
    title: |-
      Condition to match HTTP request cookie
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestHeader:
    properties:
      header_name:
        description: |-
          Name of HTTP request header
        title: |-
          Name of HTTP request header
        type: string
      header_value:
        description: |-
          Value of HTTP request header
        title: |-
          Value of HTTP request header
        type: string
    required:
    - header_value
    - header_name
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestHeaderCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing HTTP header value.
          title: |-
            A case sensitive flag for HTTP header value comparing
          type: boolean
        header_name:
          description: |-
            Name of HTTP header
          title: |-
            Name of HTTP header
          type: string
        header_value:
          description: |-
            Value of HTTP header
          title: |-
            Value of HTTP header
          type: string
        match_type:
          default: REGEX
          description: |-
            Match type of HTTP header value
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
      required:
      - header_value
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match HTTP request messages by HTTP header
      fields. HTTP header fields are components of the header section of HTTP
      request and response messages. They define the operating parameters of an
      HTTP transaction. For example, Cookie, Authorization, User-Agent, etc. One
      condition can be used to match one header field, to match multiple header
      fields, multiple conditions must be specified.
      The match_type field defines how header_value field is used to match HTTP
      requests. The header_name field does not support match types.
    title: |-
      Condition to match HTTP request header
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestHeaderDeleteAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        header_name:
          description: |-
            Name of a header field of HTTP request message
          title: |-
            Name of a header field of HTTP request message
          type: string
      required:
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to delete header fields of HTTP request messages at
      HTTP_REQUEST_REWRITE phase. One action can be used to delete all headers
      with same header name. To delete headers with different header names,
      multiple actions must be defined.
    title: |-
      Action to delete HTTP request header fields
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestHeaderRewriteAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        header_name:
          description: |-
            Name of HTTP request header
          title: |-
            Name of HTTP request header
          type: string
        header_value:
          description: |-
            Value of HTTP request header
          title: |-
            Value of HTTP request header
          type: string
      required:
      - header_value
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to rewrite header fields of matched HTTP request
      messages to specified new values. One action can be used to rewrite one
      header field. To rewrite multiple header fields, multiple actions must be
      defined.
      Captured variables and built-in variables can be used in the header_value
      field, header_name field does not support variables.
    title: |-
      Action to rewrite header fields of HTTP request messages.
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestMethodCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        method:
          description: |-
            Type of HTTP request method
          enum:
          - GET
          - OPTIONS
          - POST
          - HEAD
          - PUT
          type: string
      required:
      - method
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match method of HTTP requests. If the method of an
      HTTP request is same as the method specified in this condition, the HTTP
      request match this condition. For example, if the method field is set to
      GET in this condition, any HTTP request with GET method matches the
      condition.
    title: |-
      Condition to match method of HTTP request messages
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestUriArgumentsCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing URI arguments.
          title: |-
            A case sensitive flag for URI arguments comparing
          type: boolean
        match_type:
          default: REGEX
          description: |-
            Match type of URI arguments
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
        uri_arguments:
          description: |
            URI arguments, aka query string of URI.
          title: |-
            URI arguments
          type: string
      required:
      - uri_arguments
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match URI arguments aka query string of Http
      request messages, for example, in URI http://exaple.com?foo=1&bar=2, the
      "foo=1&bar=2" is the query string containing URI arguments. In an URI
      scheme, query string is indicated by the first question mark ("?")
      character and terminated by a number sign ("#") character or by the end of
      the URI.
      The uri_arguments field can be specified as a regular expression(Set
      match_type to REGEX). For example, "foo=(?&lt;x&gt;\d+)". It matches HTTP
      requests whose URI arguments containing "foo", the value of foo contains
      only digits. And the value of foo is captured as $x which can be used in
      LbRuleAction fields which support variables.
    title: |-
      Condition to match URI arguments of HTTP requests
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestUriCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing URI.
          title: |-
            A case sensitive flag for URI comparing
          type: boolean
        match_type:
          default: REGEX
          description: |-
            Match type of URI
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
        uri:
          description: |-
            A string used to identify resource
          title: |-
            A string used to identify resource
          type: string
      required:
      - uri
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match URIs(Uniform Resource Identifier) of HTTP
      request messages. The URI field can be specified as a regular expression.
      If an HTTP request message is requesting an URI which matches specified
      regular expression, it matches the condition.
      The syntax of whole URI looks like this:
      scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
      This condition matches only the path part of entire URI.
      When match_type field is specified as REGEX, the uri field is used as a
      regular expression to match URI path of HTTP requests. For example, to
      match any URI that has "/image/" or "/images/", uri field can be specified
      as: "/image[s]?/".
      Named capturing groups can be used in the uri field to capture substrings
      of matched URIs and store them in variables for use in LbRuleAction. For
      example, specify uri field as:
      "/news/(?&lt;year&gt;\d+)/(?&lt;month&gt;\d+)/(?&lt;article&gt;.*)"
      If the URI path is /articles/news/2017/06/xyz.html, then substring "2017"
      is captured in variable year, "06" is captured in variable month, and
      "xyz.html" is captured in variable article. These variables can then
      be used in an LbRuleAction field which supports variables, such as uri
      field of LbHttpRequestUriRewriteAction. For example, set the uri field
      of LbHttpRequestUriRewriteAction as:
      "/articles/news/$year-$month-$article"
      Then the URI path /articles/news/2017/06/xyz.html is rewritten to:
      "/articles/news/2017-06-xyz.html"
    title: |-
      Condition to match URIs of HTTP request messages
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestUriRewriteAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        uri:
          description: |-
            URI of HTTP request
          title: |-
            URI of HTTP request
          type: string
        uri_arguments:
          description: |
            Query string of URI, typically contains key value pairs, for example:
            foo1=bar1&foo2=bar2
          title: |-
            URI arguments
          type: string
      required:
      - uri
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to rewrite URIs in matched HTTP request messages.
      Specify the uri and uri_arguments fields in this condition to rewrite the
      matched HTTP request message's URI and URI arguments to the new values.
      Full URI scheme of HTTP messages have following syntax:
      scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
      The uri field of this action is used to rewrite the /path part in above
      scheme. And the uri_arguments field is used to rewrite the query part.
      Captured variables and built-in variables can be used in the uri and
      uri_arguments fields.
      Check the example in LbRuleAction to see how to use variables in this
      action.
    title: |-
      Action to rewrite HTTP request URIs.
    x-vmw-nsx-module: LoadBalancer
  LbHttpRequestVersionCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        version:
          description: |-
            HTTP version
          enum:
          - HTTP_VERSION_1_0
          - HTTP_VERSION_1_1
          type: string
      required:
      - version
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match the HTTP protocol version of the HTTP
      request messages.
    title: |-
      Condition to match HTTP protocol version of HTTP requests
    x-vmw-nsx-module: LoadBalancer
  LbHttpResponseHeaderCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing HTTP header value.
          title: |-
            A case sensitive flag for HTTP header value comparing
          type: boolean
        header_name:
          description: |-
            Name of HTTP header field
          title: |-
            Name of HTTP header field
          type: string
        header_value:
          description: |-
            Value of HTTP header field
          title: |-
            Value of HTTP header field
          type: string
        match_type:
          default: REGEX
          description: |-
            Match type of HTTP header value
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
      required:
      - header_value
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match HTTP response messages from backend servers
      by HTTP header fields. HTTP header fields are components of the header
      section of HTTP request and response messages. They define the operating
      parameters of an HTTP transaction. For example, Cookie, Authorization,
      User-Agent, etc. One condition can be used to match one header field, to
      match multiple header fields, multiple conditions must be specified.
      The match_type field defines how header_value field is used to match HTTP
      responses. The header_name field does not support match types.
    title: |-
      Condition to match a header field of HTTP response
    x-vmw-nsx-module: LoadBalancer
  LbHttpResponseHeaderDeleteAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        header_name:
          description: |-
            Name of a header field of HTTP response message
          title: |-
            Name of a header field of HTTP response message
          type: string
      required:
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to delete header fields of HTTP response messages at
      HTTP_RESPONSE_REWRITE phase. One action can be used to delete allgi headers
      with same header name. To delete headers with different header names,
      multiple actions must be defined
    title: |-
      Action to delete HTTP response header fields
    x-vmw-nsx-module: LoadBalancer
  LbHttpResponseHeaderRewriteAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        header_name:
          description: |-
            Name of a header field of HTTP request message
          title: |-
            Name of a header field of HTTP request message
          type: string
        header_value:
          description: |-
            Value of header field
          title: |-
            Value of header field
          type: string
      required:
      - header_value
      - header_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to rewrite header fields of HTTP response messages to
      specified new values at HTTP_RESPONSE_REWRITE phase. One action can be used
      to rewrite one header field. To rewrite multiple header fields, multiple
      actions must be defined.
      Captured variables and built-in variables can be used in the header_value
      field, header_name field does not support variables.
    title: |-
      Action to rewrite HTTP response header fields
    x-vmw-nsx-module: LoadBalancer
  LbHttpSslCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        client_certificate_issuer_dn:
          $ref: '#/definitions/LbClientCertificateIssuerDnCondition'
          description: |
            The issuer DN match condition of the client certificate for an
            established SSL connection
          title: |-
            The issuer DN match condition of the client certificate
        client_certificate_subject_dn:
          $ref: '#/definitions/LbClientCertificateSubjectDnCondition'
          description: |
            The subject DN match condition of the client certificate for an
            established SSL connection
          title: |-
            The subject DN match condition of the client certificate
        client_supported_ssl_ciphers:
          description: |-
            Cipher list which supported by client
          items:
            description: |-
              SSL cipher
            enum:
            - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_128_CBC_SHA
            - TLS_RSA_WITH_3DES_EDE_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
            - TLS_RSA_WITH_AES_128_CBC_SHA256
            - TLS_RSA_WITH_AES_128_GCM_SHA256
            - TLS_RSA_WITH_AES_256_CBC_SHA256
            - TLS_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
            type: string
          title: |-
            Cipher list which supported by client
          type: array
        session_reused:
          default: IGNORE
          description: |-
            The type of SSL session reused
          enum:
          - IGNORE
          - REUSED
          - NEW
          type: string
        used_protocol:
          description: |-
            Protocol of an established SSL connection
          enum:
          - SSL_V2
          - SSL_V3
          - TLS_V1
          - TLS_V1_1
          - TLS_V1_2
          type: string
        used_ssl_cipher:
          description: |-
            Cipher used for an established SSL connection
          enum:
          - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
          - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
          - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
          - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
          - TLS_RSA_WITH_AES_256_CBC_SHA
          - TLS_RSA_WITH_AES_128_CBC_SHA
          - TLS_RSA_WITH_3DES_EDE_CBC_SHA
          - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
          - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
          - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
          - TLS_RSA_WITH_AES_128_CBC_SHA256
          - TLS_RSA_WITH_AES_128_GCM_SHA256
          - TLS_RSA_WITH_AES_256_CBC_SHA256
          - TLS_RSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
          - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
          - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
          - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
          - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
          - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
          - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
          - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
          - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
          - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
          - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
          - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
          type: string
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match SSL handshake and SSL connection at
      all phases.If multiple properties are configured, the rule is considered
      a match when all the configured properties are matched.
    title: |-
      Condition to match SSL handshake and SSL connection
    x-vmw-nsx-module: LoadBalancer
  LbHttpsMonitor:
    allOf:
    - $ref: '#/definitions/LbActiveMonitor'
    - properties:
        certificate_chain_depth:
          default: 3
          description: |
            authentication depth is used to set the verification depth in the server
            certificates chain.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            the maximum traversal depth of server certificate chain
          type: integer
        cipher_group_label:
          description: |
            It is a label of cipher group which is mostly consumed by GUI.
          enum:
          - BALANCED
          - HIGH_SECURITY
          - HIGH_COMPATIBILITY
          - CUSTOM
          type: string
        ciphers:
          description: |-
            supported SSL cipher list to servers
          items:
            description: |-
              SSL cipher
            enum:
            - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_128_CBC_SHA
            - TLS_RSA_WITH_3DES_EDE_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
            - TLS_RSA_WITH_AES_128_CBC_SHA256
            - TLS_RSA_WITH_AES_128_GCM_SHA256
            - TLS_RSA_WITH_AES_256_CBC_SHA256
            - TLS_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
            type: string
          title: |-
            supported SSL cipher list to servers
          type: array
        client_certificate_id:
          description: |
            client certificate can be specified to support client authentication.
          title: |-
            client certificate identifier
          type: string
        is_fips:
          description: |
            This flag is set to true when all the ciphers and protocols are FIPS
            compliant. It is set to false when one of the ciphers or protocols are
            not FIPS compliant..
          readOnly: true
          title: |-
            FIPS compliance of ciphers and protocols
          type: boolean
        is_secure:
          description: |
            This flag is set to true when all the ciphers and protocols are secure.
            It is set to false when one of the ciphers or protocols is insecure.
          readOnly: true
          title: |-
            Secure/Insecure monitor flag
          type: boolean
        protocols:
          description: |
            SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.
            SSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.
          items:
            description: |-
              SSL protocol
            enum:
            - SSL_V2
            - SSL_V3
            - TLS_V1
            - TLS_V1_1
            - TLS_V1_2
            type: string
          title: |-
            supported SSL protocol list to servers
          type: array
        request_body:
          description: |
            String to send as part of HTTP health check request body. Valid only
            for certain HTTP methods like POST.
          title: |
            String to send as part of HTTP health check request body. Valid only
            for certain HTTP methods like POST.
          type: string
        request_headers:
          description: |-
            Array of HTTP request headers
          items:
            $ref: '#/definitions/LbHttpRequestHeader'
          title: |-
            Array of HTTP request headers
          type: array
        request_method:
          default: GET
          description: |-
            the health check method for HTTP monitor type
          enum:
          - GET
          - OPTIONS
          - POST
          - HEAD
          - PUT
          type: string
        request_url:
          description: |-
            URL used for HTTP monitor
          title: |-
            URL used for HTTP monitor
          type: string
        request_version:
          default: HTTP_VERSION_1_1
          description: |-
            HTTP request version
          enum:
          - HTTP_VERSION_1_0
          - HTTP_VERSION_1_1
          type: string
        response_body:
          description: |
            If HTTP response body match string (regular expressions not supported)
            is specified (using LbHttpMonitor.response_body) then the
            healthcheck HTTP response body is matched against the specified string
            and server is considered healthy only if there is a match.
            If the response body string is not specified, HTTP healthcheck is
            considered successful if the HTTP response status code is 2xx, but it
            can be configured to accept other status codes as successful.
          title: |-
            response body to match
          type: string
        response_status_codes:
          description: |
            The HTTP response status code should be a valid HTTP status code.
          items:
            format: int32
            type: integer
          maxItems: 64
          title: |-
            Array of single HTTP response status codes
          type: array
        server_auth:
          default: IGNORE
          description: |-
            server authentication mode
          enum:
          - REQUIRED
          - IGNORE
          type: string
        server_auth_ca_ids:
          description: |
            If server auth type is REQUIRED, server certificate must be signed by
            one of the trusted Certificate Authorities (CAs), also referred to as
            root CAs, whose self signed certificates are specified.
          items:
            type: string
          title: |-
            CA identifier list to verify server certificate
          type: array
        server_auth_crl_ids:
          description: |
            A Certificate Revocation List (CRL) can be specified in the server-side
            SSL profile binding to disallow compromised server certificates.
          items:
            type: string
          title: |-
            CRL identifier list to verify server certificate
          type: array
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbIcmpMonitor:
    allOf:
    - $ref: '#/definitions/LbActiveMonitor'
    - properties:
        data_length:
          default: 56
          description: |-
            The data size(in byte) of the ICMP healthcheck packet
          format: int64
          maximum: 65507
          minimum: 0
          title: |-
            The data size(in byte) of the ICMP healthcheck packet
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbIpHeaderCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        group_id:
          description: |
            Source IP address of HTTP message should match IP addresses which are
            configured in Group in order to perform actions.
          title: |-
            Grouping object identifier
          type: string
        source_address:
          description: |
            Source IP address of HTTP message. IP Address can be expressed as a
            single IP address like 10.1.1.1, or a range of IP addresses like
            10.1.1.101-10.1.1.160. Both IPv4 and IPv6 addresses are supported.
          format: address-or-block-or-range
          type: string
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match IP header fields of HTTP messages.
      Either source_address or group_id should be specified.
    title: |-
      Condition to match IP header fields
    x-vmw-nsx-module: LoadBalancer
  LbJwtAuthAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        key:
          $ref: '#/definitions/LbJwtKey'
          description: |-
            LbJwtKey used for verifying the signature of JWT token
          title: |-
            LbJwtKey used for verifying the signature of JWT token
        pass_jwt_to_pool:
          default: false
          description: |
            Specify whether to pass the JWT to backend server or remove it. By
            default, it is false which means will not pass the JWT to backend
            servers.
          title: |-
            Whether to pass the JWT to backend server or remove it
          type: boolean
        realm:
          description: |
            A description of the protected area. If no realm is specified, clients
            often display a formatted hostname instead. The configured realm is
            returned when client request is rejected with 401 http status. In the
            response, it will be "WWW-Authentication: Bearer realm=&lt;realm&gt;".
          title: |-
            JWT realm
          type: string
        tokens:
          description: |
            JWT is an open standard that defines a compact and
            self-contained way for securely transmitting information between
            parties as a JSON object. Load balancer will search for every specified
            tokens one by one for the jwt message until found. This parameter is
            optional. In case not found or this field is not configured, load
            balancer searches the Bearer header by default in the http request
            "Authorization: Bearer &lt;token&gt;".
          items:
            type: string
          title: |-
            JWT tokens
          type: array
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to control access to backend server resources using
      JSON Web Token(JWT) authentication. The JWT authentication is done before
      any HTTP manipulation if the HTTP request matches the given condition in
      LbRule. Any verification failed, the HTTP process will be terminated, and
      HTTP response with 401 status code and WWW-Authentication header will be
      returned to client.
    title: |-
      Action to control access using JWT authentication
    x-vmw-nsx-module: LoadBalancer
  LbJwtCertificateKey:
    allOf:
    - $ref: '#/definitions/LbJwtKey'
    - properties:
        certificate_id:
          description: |-
            Certificate identifier
          title: |-
            Certificate identifier
          type: string
      required:
      - certificate_id
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      The key is used to specify certificate which is used to verify the
      signature of JWT tokens.
    title: |-
      Specifies certificate used to verify the signature of JWT tokens
    x-vmw-nsx-module: LoadBalancer
  LbJwtKey:
    description: |
      LbJwtKey specifies the symmetric key or asymmetric public key used to
      decrypt the data in JWT.
    discriminator: type
    properties:
      type:
        description: |
          The property is used to identify JWT key type.
        enum:
        - LbJwtCertificateKey
        - LbJwtSymmetricKey
        - LbJwtPublicKey
        type: string
    required:
    - type
    title: |-
      Load balancer JWT key
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbJwtPublicKey:
    allOf:
    - $ref: '#/definitions/LbJwtKey'
    - properties:
        public_key_content:
          description: |-
            Content of public key
          title: |-
            Content of public key
          type: string
      required:
      - public_key_content
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      The key is used to specify the public key content which is used to verify
      the signature of JWT tokens.
    title: |-
      Specifies public key content used to verify the signature of JWT tokens
    x-vmw-nsx-module: LoadBalancer
  LbJwtSymmetricKey:
    allOf:
    - $ref: '#/definitions/LbJwtKey'
    - properties: {}
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      The key is used to specify the symmetric key which is used to verify the
      signature of JWT tokens.
    title: |-
      Specifies the symmetric key used to verify the signature of JWT tokens
    x-vmw-nsx-module: LoadBalancer
  LbMonitor:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          description: |
            Load balancers monitor the health of backend servers to ensure traffic
            is not black holed.
            There are two types of healthchecks: active and passive.
            Passive healthchecks depend on failures in actual client traffic (e.g. RST
            from server in response to a client connection) to detect that the server
            or the application is down.
            In case of active healthchecks, load balancer itself initiates new
            connections (or sends ICMP ping) to the servers periodically to check their
            health, completely independent of any data traffic.
            Currently, active health monitors are supported for HTTP, HTTPS, TCP, UDP
            and ICMP protocols.
          enum:
          - LbHttpMonitor
          - LbHttpsMonitor
          - LbIcmpMonitor
          - LbTcpMonitor
          - LbUdpMonitor
          - LbPassiveMonitor
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbMonitorListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer monitors
          items:
            $ref: '#/definitions/LbMonitor'
          title: |-
            paginated list of load balancer monitors
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbNodeCountPerSeverity:
    description: |
      The node count for specific load balancer usage severity.
    properties:
      node_count:
        description: |
          Node count for specific serverity.
        format: int64
        readOnly: true
        title: |-
          Node count for specific serverity
        type: integer
      severity:
        description: |
          The severity calculation is based on credit usage percentage of
          load balancer for one node.
        enum:
        - GREEN
        - ORANGE
        - RED
        readOnly: true
        type: string
    title: |-
      The node count for specific severity
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbNodeUsage:
    description: |
      Node usage for load balancer contains basic information and LB entity
      usages and capacity for the given node.
    discriminator: type
    properties:
      node_id:
        description: |
          The property identifies the node UUID for load balancer node usage.
        title: |-
          The UUID of the node for load balancer node usage
        type: string
      type:
        description: |
          The property identifies the load balancer node usage type.
        enum:
        - LbEdgeNodeUsage
        type: string
    required:
    - node_id
    - type
    title: |-
      Node usage for load balancer
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbNodeUsageSummary:
    description: |
      The load balancer node usage summary for all nodes. Only EdgeNode is
      supported. The summary calculation is based on all edge nodes
      configured in edge clusters.
    properties:
      current_credit_number:
        description: |
          The current credit number reflects the overall credit usage for
          all nodes.
        format: int64
        readOnly: true
        title: |-
          Current credit number
        type: integer
      current_pool_members:
        description: |
          The overall number of pool members configured on all nodes.
        format: int64
        readOnly: true
        title: |-
          The current number of pool members
        type: integer
      node_counts:
        description: |
          The property identifies array of node count for each severity (RED,
          ORANGE and GREEN).
        items:
          $ref: '#/definitions/LbNodeCountPerSeverity'
        readOnly: true
        title: |-
          Array of node count for each severity
        type: array
      node_usages:
        description: |
          The property contains lb node usages for each node.
        items:
          $ref: '#/definitions/LbNodeUsage'
        readOnly: true
        title: |-
          Array of lb node usages
        type: array
      remaining_credit_number:
        description: |
          The remaining credit number is the overall remaining credits that can
          be used for load balancer service configuration for all nodes.
        format: int64
        readOnly: true
        title: |-
          Remaining credit number
        type: integer
      remaining_pool_members:
        description: |
          The overall remaining number of pool members which could be configured
          on all nodes.
        format: int64
        readOnly: true
        title: |-
          The remaining number of pool members
        type: integer
      severity:
        description: |
          The severity calculation is based on current credit usage percentage
          of load balancer for all nodes.
        enum:
        - GREEN
        - ORANGE
        - RED
        readOnly: true
        type: string
      usage_percentage:
        description: |
          The overall usage percentage of all nodes for load balancer.
          The value is the larger value between overall pool member usage
          percentage and overall load balancer credit usage percentage.
        readOnly: true
        title: |-
          Usage percentage
        type: number
    title: |-
      Lb node usage summary for all nodes
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbPassiveMonitor:
    allOf:
    - $ref: '#/definitions/LbMonitor'
    - properties:
        max_fails:
          default: 5
          description: |
            When the consecutive failures reach this value, then the member is
            considered temporarily unavailable for a configurable period
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            number of consecutive connection failures
          type: integer
        timeout:
          default: 5
          description: |
            After this timeout period, the member is tried again for a new
            connection to see if it is available.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            timeout in seconds before it is selected again for a new connection
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbPersistenceCookieTime:
    allOf:
    - $ref: '#/definitions/LbCookieTime'
    - properties:
        cookie_max_idle:
          description: |
            HTTP cookie max-age to expire cookie, only available for insert mode.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            persistence cookie max idle time in seconds
          type: integer
      required:
      - cookie_max_idle
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbPersistenceProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        persistence_shared:
          default: false
          description: |
            The persistence shared flag identifies whether the persistence table
            is shared among virtual-servers referring this profile.
            If persistence shared flag is not set in the cookie persistence profile
            bound to a virtual server, it defaults to cookie persistence that is
            private to each virtual server and is qualified by the pool. This is
            accomplished by load balancer inserting a cookie with name in the
            format &lt;name&gt;.&lt;virtual_server_id&gt;.&lt;pool_id&gt;.
            If persistence shared flag is set in the cookie persistence profile, in
            cookie insert mode, cookie persistence could be shared across multiple
            virtual servers that are bound to the same pools. The cookie name would
            be changed to &lt;name&gt;.&lt;profile-id&gt;.&lt;pool-id&gt;.
            If persistence shared flag is not set in the sourceIp persistence
            profile bound to a virtual server, each virtual server that the profile
            is bound to maintains its own private persistence table.
            If persistence shared flag is set in the sourceIp persistence profile,
            all virtual servers the profile is bound to share the same persistence
            table.
            If persistence shared flag is not set in the generic persistence
            profile, the persistence entries are matched and stored in the table
            which is identified using both virtual server ID and profile ID.
            If persistence shared flag is set in the generic persistence profile,
            the persistence entries are matched and stored in the table which is
            identified using profile ID. It means that virtual servers which
            consume the same profile in the LbRule with this flag enabled are
            sharing the same persistence table.
          title: |-
            Persistence shared flag
          type: boolean
        resource_type:
          description: |
            The resource_type property identifies persistence profile type.
          enum:
          - LbCookiePersistenceProfile
          - LbSourceIpPersistenceProfile
          - LbGenericPersistenceProfile
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      LB persistence profile contains the information related to load balancer
      persistence options.
      Some applications maintain state and require all relevant connections
      to be sent to the same server as the application state is not
      synchronized among servers. Persistence can be enabled on a
      LbVirtualServer by binding a persistence profile to it.
      LbGenericPersistenceProfile cannot be attached to virtual server directly,
      it can be only consumed by LB rule action. If a user attaches a generic
      persistence profile directly to a virtual server, the operation is
      rejected.
    title: |-
      LB persistence profile
    x-vmw-nsx-module: LoadBalancer
  LbPersistenceProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer persistence profiles
          items:
            $ref: '#/definitions/LbPersistenceProfile'
          title: |-
            paginated list of load balancer persistence profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbPool:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        active_monitor_ids:
          description: |
            In case of active healthchecks, load balancer itself initiates new
            connections (or sends ICMP ping) to the servers periodically to check
            their health, completely independent of any data traffic. Active
            healthchecks are disabled by default and can be enabled for a server
            pool by binding a health monitor to the pool. If multiple active
            monitors are configured, the pool member status is UP only when the
            health check status for all the monitors are UP.
          items:
            type: string
          title: |-
            active monitor identifier list
          type: array
        algorithm:
          default: ROUND_ROBIN
          description: |
            Load balancing algorithm, configurable per pool controls how the
            incoming connections are distributed among the members.
          enum:
          - ROUND_ROBIN
          - WEIGHTED_ROUND_ROBIN
          - LEAST_CONNECTION
          - WEIGHTED_LEAST_CONNECTION
          - IP_HASH
          type: string
        member_group:
          $ref: '#/definitions/PoolMemberGroup'
          description: |
            Load balancer pool support grouping object as dynamic pool members.
            When member group is defined, members setting should not be specified.
          title: |-
            Load balancer member setting with grouping object
        members:
          description: |
            Server pool consists of one or more pool members. Each pool member
            is identified, typically, by an IP address and a port.
          items:
            $ref: '#/definitions/PoolMember'
          title: |-
            load balancer pool members
          type: array
        min_active_members:
          default: 1
          description: |
            A pool is considered active if there are at least certain
            minimum number of members.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            minimum number of active pool members to consider pool as active
          type: integer
        passive_monitor_id:
          description: |
            Passive healthchecks are disabled by default and can be enabled by
            attaching a passive health monitor to a server pool.
            Each time a client connection to a pool member fails, its failed count
            is incremented. For pools bound to L7 virtual servers, a connection is
            considered to be failed and failed count is incremented if any TCP
            connection errors (e.g. TCP RST or failure to send data) or SSL
            handshake failures occur. For pools bound to L4 virtual servers, if no
            response is received to a TCP SYN sent to the pool member or if a TCP
            RST is received in response to a TCP SYN, then the pool member is
            considered to have failed and the failed count is incremented.
          title: |-
            passive monitor identifier
          type: string
        snat_translation:
          $ref: '#/definitions/LbSnatTranslation'
          description: |
            Depending on the topology, Source NAT (SNAT) may be required to ensure
            traffic from the server destined to the client is received by the load
            balancer. SNAT can be enabled per pool. If SNAT is not enabled for a
            pool, then load balancer uses the client IP and port (spoofing) while
            establishing connections to the servers. This is referred to as no-SNAT
            or TRANSPARENT mode.
          title: |-
            snat translation configuration
        tcp_multiplexing_enabled:
          default: false
          description: |
            TCP multiplexing allows the same TCP connection between load balancer
            and the backend server to be used for sending multiple client requests
            from different client TCP connections.
          title: |-
            TCP multiplexing enable flag
          type: boolean
        tcp_multiplexing_number:
          default: 6
          description: |
            The maximum number of TCP connections per pool that are idly kept alive
            for sending future client requests.
          format: int64
          maximum: 2147483647
          minimum: 0
          title: |-
            maximum number of TCP connections for multiplexing
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of pools
          items:
            $ref: '#/definitions/LbPool'
          title: |-
            paginated list of pools
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbPoolMemberStatistics:
    properties:
      ip_address:
        description: |-
          Pool member IP address
        format: ip
        type: string
      port:
        description: |
          The port is configured in pool member. For virtual server port range
          case, pool member port must be null.
        format: port-or-range
        type: string
      statistics:
        $ref: '#/definitions/LbStatisticsCounter'
        description: |-
          Pool member statistics counter
        title: |-
          Pool member statistics counter
    required:
    - statistics
    - ip_address
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbPoolMemberStatus:
    properties:
      failure_cause:
        description: |
          If multiple active monitors are configured, the failure_cause contains
          failure cause for each monitors. Like "Monitor_1:failure_cause_1.
          Monitor_2:failure_cause_2."
        title: |-
          The healthcheck failure cause when status is DOWN
        type: string
      ip_address:
        description: |-
          Pool member IP address
        format: ip
        type: string
      last_check_time:
        description: |
          If multiple active monitors are configured, the property value is the
          latest last_check_time among all the monitors.
        format: int64
        type: integer
      last_state_change_time:
        description: |
          If multiple active monitors are configured, the property value is the
          latest last_state_change_time among all the monitors.
        format: int64
        type: integer
      port:
        description: |
          The port is configured in pool member. For virtual server port range
          case, pool member port must be null.
        format: port-or-range
        type: string
      status:
        description: |
          UP means that pool member is enabled and monitors have marked the pool
          member as UP. If the pool member has no monitor configured, it would
          be treated as UP.
          DOWN means that pool member is enabled and monitors have marked the
          pool member as DOWN.
          DISABLED means that admin state of pool member is set to DISABLED.
          GRACEFUL_DISABLED means that admin state of pool member is set to
          GRACEFUL_DISABLED.
          UNUSED means that the pool member is not used when the IP list size
          of member group exceeds the maximum setting. The remaining IP addresses
          would not be used as available backend servers, hence mark the status
          as UNUSED.
          UNKNOWN means that the related pool is not associated to any enabled
          virtual servers, or no status reported from transport-nodes, the
          associated load balancer service may be working(or not working).
        enum:
        - UP
        - DOWN
        - DISABLED
        - GRACEFUL_DISABLED
        - UNUSED
        - UNKNOWN
        title: |-
          Pool member status
        type: string
    required:
    - status
    - ip_address
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbPoolStatistics:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated
        format: int64
        type: integer
      members:
        description: |-
          Statistics of load balancer pool members
        items:
          $ref: '#/definitions/LbPoolMemberStatistics'
        title: |-
          Statistics of load balancer pool members
        type: array
      pool_id:
        description: |-
          Load balancer pool identifier
        title: |-
          Load balancer pool identifier
        type: string
      statistics:
        $ref: '#/definitions/LbStatisticsCounter'
        description: |-
          Virtual server statistics counter
        title: |-
          Virtual server statistics counter
    required:
    - statistics
    - pool_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbPoolStatisticsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated statistics list of pools
          items:
            $ref: '#/definitions/LbPoolStatistics'
          title: |-
            paginated statistics list of pools
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AggSvcLb
    x-vmw-nsx-module: AggSvcLb
  LbPoolStatus:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated
        format: int64
        type: integer
      members:
        description: |-
          Status of load balancer pool members
        items:
          $ref: '#/definitions/LbPoolMemberStatus'
        title: |-
          Status of load balancer pool members
        type: array
      pool_id:
        description: |-
          Load balancer pool identifier
        title: |-
          Load balancer pool identifier
        type: string
      status:
        description: |
          UP means that all primary members are in UP status.
          PARTIALLY_UP means that some(not all) primary members are in UP
          status, the number of these active members is larger or equal to
          certain number(min_active_members) which is defined in LbPool.
          When there are no backup members which are in the UP status, the
          number(min_active_members) would be ignored.
          PRIMARY_DOWN means that less than certain(min_active_members) primary
          members are in UP status but backup members are in UP status,
          connections to this pool would be dispatched to backup members.
          DOWN means that all primary and backup members are DOWN.
          DETACHED means that the pool is not bound to any virtual server.
          UNKNOWN means that the pool is not associated to any enabled virtual
          servers, or no status reported from transport-nodes, the associated
          load balancer service may be working(or not working).
        enum:
        - UP
        - PARTIALLY_UP
        - PRIMARY_DOWN
        - DOWN
        - DETACHED
        - UNKNOWN
        title: |-
          Virtual server status
        type: string
    required:
    - pool_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbPoolStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated status list of pools
          items:
            $ref: '#/definitions/LbPoolStatus'
          title: |-
            paginated status list of pools
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AggSvcLb
    x-vmw-nsx-module: AggSvcLb
  LbRule:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        actions:
          description: |
            A list of actions to be executed at specified phase when load balancer
            rule matches. The actions are used to manipulate application traffic,
            such as rewrite URI of HTTP messages, redirect HTTP messages, etc.
          items:
            $ref: '#/definitions/LbRuleAction'
          maxItems: 60
          title: |-
            Actions to be executed
          type: array
        match_conditions:
          description: |
            A list of match conditions used to match application traffic. Multiple
            match conditions can be specified in one load balancer rule, each match
            condition defines a criterion to match application traffic.
            If no match conditions are specified, then the load balancer rule will
            always match and it is used typically to define default rules. If more
            than one match condition is specified, then match strategy determines
            if all conditions should match or any one condition should match for the
            load balancer rule to considered a match.
          items:
            $ref: '#/definitions/LbRuleCondition'
          maxItems: 60
          title: |-
            Conditions to match application traffic
          type: array
        match_strategy:
          description: |
            Strategy to define how load balancer rule is considered a match when
            multiple match conditions are specified in one rule. If match_stragety
            is set to ALL, then load balancer rule is considered a match only if all
            the conditions match. If match_strategy is set to ANY, then load
            balancer rule is considered a match if any one of the conditions match.
          enum:
          - ALL
          - ANY
          title: |-
            Strategy to match multiple conditions
          type: string
        phase:
          description: |
            Each load balancer rule is used at a specific phase of load balancer
            processing. Currently five phases are supported, HTTP_REQUEST_REWRITE,
            HTTP_FORWARDING, HTTP_RESPONSE_REWRITE, HTTP_ACCESS and TRANSPORT.
            When an HTTP request message is received by load balancer, all
            HTTP_REQUEST_REWRITE rules, if present are executed in the order they
            are applied to virtual server. And then if HTTP_FORWARDING rules
            present, only first matching rule's action is executed, remaining rules
            are not checked. HTTP_FORWARDING rules can have only one action. If the
            request is forwarded to a backend server and the response goes back to
            load balancer, all HTTP_RESPONSE_REWRITE rules, if present, are executed
            in the order they are applied to the virtual server.
            In HTTP_ACCESS phase, user can define action to control access using
            JWT authentication.
            In TRANSPORT phase, user can define the condition to match SNI in TLS
            client hello and define the action to do SSL end-to-end, SSL offloading
            or SSL passthrough using a specific load balancer server pool.
          enum:
          - HTTP_REQUEST_REWRITE
          - HTTP_FORWARDING
          - HTTP_RESPONSE_REWRITE
          - HTTP_ACCESS
          - TRANSPORT
          title: |-
            Load balancer processing phase
          type: string
      required:
      - phase
      - actions
      - match_strategy
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      Load balancer rules allow customization of load balancing behavior using
      match/action rules. Currently, load balancer rules are supported for only
      layer 7 virtual servers with application profile LbHttpProfile.
      Each application rule consists of one or more match conditions and one or
      more actions.
      Load balancer rules could be used by different load balancer services.
    title: |-
      Load balancer rules
    x-vmw-nsx-module: LoadBalancer
  LbRuleAction:
    description: |
      Load balancer rule actions are used to manipulate application traffic.
      Currently load balancer rules can be used at three load balancer processing
      phases. Each phase has its own supported type of actions.
      Supported actions in HTTP_REQUST_REWRITE phase are:
        LbHttpRequestUriRewriteAction
        LbHttpRequestHeaderRewriteAction
        LbHttpRequestHeaderDeleteAction
        LbVariableAssignmentAction
      Supported actions in HTTP_FORWARDING phase are:
        LbHttpRejectAction
        LbHttpRedirectAction
        LbSelectPoolAction
        LbVariablePersistenceOnAction
        LbConnectionDropAction
      Supported action in HTTP_RESPONSE_REWRITE phase is:
        LbHttpResponseHeaderRewriteAction
        LbHttpResponseHeaderDeleteAction
        LbVariablePersistenceLearnAction
      Supported action in HTTP_ACCESS phase is:
        LbJwtAuthAction
        LbConnectionDropAction
        LbVariableAssignmentAction
      Supported action in TRANSPORT phase is:
        LbSslModeSelectionAction
        LbSelectPoolAction

      If the match type of an LbRuleCondition field is specified as REGEX and
      named capturing groups are used in the specified regular expression. The
      groups can be used as variables in LbRuleAction fields.
      For example, define a rule with LbHttpRequestUriCondition as match
      condition and LbHttpRequestUriRewriteAction as action. Set match_type field
      of LbHttpRequestUriCondition to REGEX, and set uri field to
        "/news/(?&lt;year&gt;\d+)/(?&lt;month&gt;\d+)/(?&lt;article&gt;.*)".
      Set uri field of LbHttpRequestUriRewriteAction to:
        "/news/$year-$month/$article"
      In uri field of LbHttpRequestUriCondition, the (?&lt;year&gt;\d+),
      (?&lt;month&gt;\d+) and (?&lt;article&gt;.*) are named capturing groups,
      they define variables named $year, $month and $article respectively. The
      defined variables are used in LbHttpRequestUriRewriteAction.
      For a matched HTTP request with URI "/news/2017/06/xyz.html", the substring
      "2017" is captured in variable $year, "06" is captured in variable $month,
      and "xyz.html" is captured in variable $article. The
      LbHttpRequestUriRewriteAction will rewrite the URI to:
        "/news/2017-06/xyz.html"
      A set of built-in variables can be used in LbRuleAction as well. The name
      of built-in variables start with underscore, the name of user defined
      variables is not allowed to start with underscore.
      Following are some of the built-in variables:
        $_scheme: Reference the scheme part of matched HTTP messages, could be
      "http" or "https".
        $_host: Host of matched HTTP messages, for example "www.example.com".
        $_server_port: Port part of URI, it is also the port of the server which
      accepted a request. Default port is 80 for http and 443 for https.
        $_uri: The URI path, for example "/products/sample.html".
        $_request_uri: Full original request URI with arguments, for example,
          "/products/sample.html?a=b&c=d".
        $_args: URI arguments, for instance "a=b&c=d"
        $_is_args: "?" if a request has URI arguments, or an empty string
      otherwise.
      For the full list of built-in variables, please reference the NSX-T
      Administrator's Guide.
    discriminator: type
    properties:
      type:
        description: |
          The property identifies the load balancer rule action type.
        enum:
        - LbHttpRequestUriRewriteAction
        - LbHttpRequestHeaderRewriteAction
        - LbHttpRejectAction
        - LbHttpRedirectAction
        - LbSelectPoolAction
        - LbSelectServerAction
        - LbHttpResponseHeaderRewriteAction
        - LbHttpRequestHeaderDeleteAction
        - LbHttpResponseHeaderDeleteAction
        - LbVariableAssignmentAction
        - LbVariablePersistenceOnAction
        - LbVariablePersistenceLearnAction
        - LbJwtAuthAction
        - LbSslModeSelectionAction
        - LbConnectionDropAction
        type: string
    required:
    - type
    title: |-
      Load balancer rule action
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbRuleCondition:
    description: |
      Match conditions are used to match application traffic passing through
      load balancers. Multiple match conditions can be specified in one load
      balancer rule, each match condition defines a criterion for application
      traffic.
      If inverse field is set to true, the match result of the condition is
      inverted.
      If more than one match condition is specified, match strategy determines
      if all conditions should match or any one condition should match for the
      load balancer rule to be considered a match.
      Currently only HTTP messages are supported by load balancer rules.
      Each load balancer rule is used at a specific phase of load balancer
      processing. Currently three phases are supported, HTTP_REQUEST_REWRITE,
      HTTP_FORWARDING and HTTP_RESPONSE_REWRITE.
      Each phase supports certain types of match conditions, supported match
      conditions in HTTP_REQUEST_REWRITE phase are:
      LbHttpRequestMethodCondition
      LbHttpRequestUriCondition
      LbHttpRequestUriArgumentsCondition
      LbHttpRequestVersionCondition
      LbHttpRequestHeaderCondition
      LbHttpRequestCookieCondition
      LbHttpRequestBodyCondition
      LbTcpHeaderCondition
      LbIpHeaderCondition
      LbVariableCondition
      LbHttpSslCondition
      Supported match conditions in HTTP_FORWARDING phase are:
      LbHttpRequestMethodCondition
      LbHttpRequestUriCondition
      LbHttpRequestUriArgumentsCondition
      LbHttpRequestVersionCondition
      LbHttpRequestHeaderCondition
      LbHttpRequestCookieCondition
      LbHttpRequestBodyCondition
      LbTcpHeaderCondition
      LbIpHeaderCondition
      LbVariableCondition
      LbHttpSslCondition
      LbSslSniCondition
      Supported match condition in HTTP_RESPONSE_REWRITE phase is:
      LbHttpResponseHeaderCondition
      LbHttpRequestMethodCondition
      LbHttpRequestUriCondition
      LbHttpRequestUriArgumentsCondition
      LbHttpRequestVersionCondition
      LbHttpRequestHeaderCondition
      LbHttpRequestCookieCondition
      LbTcpHeaderCondition
      LbIpHeaderCondition
      LbVariableCondition
      LbHttpSslCondition
      Supported match condition in HTTP_ACCESS phase is:
      LbHttpRequestMethodCondition
      LbHttpRequestUriCondition
      LbHttpRequestUriArgumentsCondition
      LbHttpRequestVersionCondition
      LbHttpRequestHeaderCondition
      LbHttpRequestCookieCondition
      LbHttpRequestBodyCondition
      LbTcpHeaderCondition
      LbIpHeaderCondition
      LbVariableCondition
      LbHttpSslCondition
      Supported match condition in TRANSPORT phase is:
      LbSslSniCondition
    discriminator: type
    properties:
      inverse:
        default: false
        description: |-
          A flag to indicate whether reverse the match result of this condition
        title: |-
          A flag to indicate whether reverse the match result of this condition
        type: boolean
      type:
        description: |-
          Type of load balancer rule condition
        enum:
        - LbHttpRequestMethodCondition
        - LbHttpRequestUriCondition
        - LbHttpRequestUriArgumentsCondition
        - LbHttpRequestVersionCondition
        - LbHttpRequestHeaderCondition
        - LbHttpRequestCookieCondition
        - LbHttpRequestBodyCondition
        - LbHttpResponseHeaderCondition
        - LbTcpHeaderCondition
        - LbIpHeaderCondition
        - LbVariableCondition
        - LbHttpSslCondition
        - LbSslSniCondition
        type: string
    required:
    - type
    title: |-
      Match condition of load balancer rule
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbRuleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of LB rules
          items:
            $ref: '#/definitions/LbRule'
          title: |-
            paginated list of LB rules
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSelectPoolAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        pool_id:
          description: |-
            UUID of load balancer pool
          title: |-
            UUID of load balancer pool
          type: string
        pool_name:
          description: |-
            Display name of load balancer pool
          readOnly: true
          title: |-
            Display name of load balancer pool
          type: string
      required:
      - pool_id
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to select a pool for matched HTTP request messages. The
      pool is specified by UUID. The matched HTTP request messages are forwarded
      to the specified pool.
    title: |-
      Action to select a pool for HTTP request messages
    x-vmw-nsx-module: LoadBalancer
  LbServerSslProfile:
    allOf:
    - $ref: '#/definitions/LbSslProfile'
    - properties:
        cipher_group_label:
          description: |
            It is a label of cipher group which is mostly consumed by GUI.
          enum:
          - BALANCED
          - HIGH_SECURITY
          - HIGH_COMPATIBILITY
          - CUSTOM
          type: string
        ciphers:
          description: |-
            supported SSL cipher list to client side
          items:
            description: |-
              SSL cipher
            enum:
            - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_256_CBC_SHA
            - TLS_RSA_WITH_AES_128_CBC_SHA
            - TLS_RSA_WITH_3DES_EDE_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
            - TLS_RSA_WITH_AES_128_CBC_SHA256
            - TLS_RSA_WITH_AES_128_GCM_SHA256
            - TLS_RSA_WITH_AES_256_CBC_SHA256
            - TLS_RSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
            - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
            - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
            - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
            - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
            type: string
          title: |-
            supported SSL cipher list to client side
          type: array
        is_fips:
          description: |
            This flag is set to true when all the ciphers and protocols are FIPS
            compliant.
            It is set to false when one of the ciphers or protocols are not
            FIPS compliant.
          readOnly: true
          title: |-
            FIPS compliance of ciphers and protocols
          type: boolean
        is_secure:
          description: |
            This flag is set to true when all the ciphers and protocols are secure.
            It is set to false when one of the ciphers or protocols is insecure.
          readOnly: true
          title: |-
            Secure/Insecure SSL profile flag
          type: boolean
        protocols:
          description: |
            SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.
            SSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.
          items:
            description: |-
              SSL protocol
            enum:
            - SSL_V2
            - SSL_V3
            - TLS_V1
            - TLS_V1_1
            - TLS_V1_2
            type: string
          title: |-
            supported SSL protocol list to client side
          type: array
        session_cache_enabled:
          default: true
          description: |
            SSL session caching allows SSL client and server to reuse previously
            negotiated security parameters avoiding the expensive public key
            operation during handshake.
          title: |-
            session cache enable/disable falg
          type: boolean
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbServerSslProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer server SSL profiles
          items:
            $ref: '#/definitions/LbServerSslProfile'
          title: |-
            paginated list of load balancer server SSL profiles
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbService:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        access_log_enabled:
          description: |-
            Whether access log is enabled
          title: |-
            Whether access log is enabled
          type: boolean
          x-deprecated: true
        attachment:
          $ref: '#/definitions/ResourceReference'
          description: |
            LBS could be instantiated (or created) on the Logical router, etc.
            Typically, it could be applied to Tier1 LogicalRouter. It can be
            attached to Tier0 LogicalRouter either in non-multi-tenant environments
            or to provide load balancing for infrastructure services offered by
            the provider.
            If size is set to DLB for distribution, the attachment is optional.
            The supported attachment is NSGroup consisting of VIFs of that load
            balancer's clients.
            If the attachment is not specified and size is DLB, the associated
            load balancer settings are applied to all supported transport nodes.
          title: |-
            The target which is used to instantiate Lb service.
        enabled:
          default: true
          description: |-
            Whether the load balancer service is enabled
          title: |-
            Whether the load balancer service is enabled
          type: boolean
        error_log_level:
          default: INFO
          description: |
            Load balancer engine writes information about encountered issues of
            different severity levels to the error log. This setting is used to
            define the severity level of the error log.
          enum:
          - DEBUG
          - INFO
          - WARNING
          - ERROR
          - CRITICAL
          - ALERT
          - EMERGENCY
          type: string
        relax_scale_validation:
          default: false
          description: |
            If relax_scale_validation is true, the scale validations for virtual
            servers/pools/pool members/rules are relaxed for load balancer service.
            When load balancer service is deployed on edge nodes, the scale of
            virtual servers/pools/pool members for the load balancer service should
            not exceed the scale number of the largest load balancer size which
            could be configured on a certain edge form factor. For example, the
            largest load balancer size supported on a MEDIUM edge node is MEDIUM.
            So one SMALL load balancer deployed on MEDIUM edge nodes can support
            the scale number of MEDIUM load balancer. It is not recommended to
            enable active monitors if relax_scale_validation is true due to
            performance consideration.
            If relax_scale_validation is false, scale numbers should be validated
            for load balancer service.
          title: |-
            Whether scale validation is relaxed
          type: boolean
        size:
          default: SMALL
          description: |-
            The size of load balancer service
          enum:
          - SMALL
          - MEDIUM
          - LARGE
          - XLARGE
          - DLB
          type: string
        virtual_server_ids:
          description: |
            virtual servers can be associated to LbService(which is
            similar to physical/virtual load balancer), Lb virtual servers,
            pools and other entities could be defined independently, the virtual
            server identifier list here would be used to maintain the relationship of
            LbService and other Lb entities.
          items:
            type: string
          title: |-
            Virtual server identifier list
          type: array
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbServiceDebugInfo:
    description: |
      The information for a given load balancer service could be used for
      debugging and troubleshooting. It includes load balancer service,
      associated virtual servers, associated pools, associated profiles such as
      persistence, SSL, application, associated monitors and associated rules.
    properties:
      application_profiles:
        description: |
          The application profiles are associated to virtual servers
        items:
          $ref: '#/definitions/LbAppProfile'
        readOnly: true
        title: |-
          Associated load balancer application profile settings
        type: array
      client_ssl_profiles:
        description: |
          The client SSL profiles are associated to virtual servers
        items:
          $ref: '#/definitions/LbClientSslProfile'
        readOnly: true
        title: |-
          Associated load balancer client SSL profile settings
        type: array
      monitors:
        description: |
          The load balancer monitors are associated to pools.
        items:
          $ref: '#/definitions/LbMonitor'
        readOnly: true
        title: |-
          Associated load balancer monitor configurations
        type: array
      persistence_profiles:
        description: |
          The persistence profiles are associated to virtual servers
        items:
          $ref: '#/definitions/LbPersistenceProfile'
        readOnly: true
        title: |-
          Associated load balancer persistence profile settings
        type: array
      pools:
        description: |
          The pools which are associated to the given load balancer service would
          be included. The pools could be defined in virtual server default pool,
          sorry pool or load balancer rule action.
        items:
          $ref: '#/definitions/LbPool'
        readOnly: true
        title: |-
          Associated load balancer pool settings
        type: array
      rules:
        description: |
          The load balancer rules are associated to virtual servers
        items:
          $ref: '#/definitions/LbRule'
        readOnly: true
        title: |-
          Associated load balancer rule settings
        type: array
      server_ssl_profiles:
        description: |
          The server SSL profiles are associated to virtual servers
        items:
          $ref: '#/definitions/LbServerSslProfile'
        readOnly: true
        title: |-
          Associated load balancer server SSL profile settings
        type: array
      service:
        $ref: '#/definitions/LbService'
        description: |
          Load balancer service setting for a given load balancer service
          identifier.
        readOnly: true
        title: |-
          Load balancer service setting
      virtual_servers:
        description: |
          The virtual servers which are associated to the given load balancer
          service would be included.
        items:
          $ref: '#/definitions/LbVirtualServer'
        readOnly: true
        title: |-
          Associated virtual server settings
        type: array
    title: |-
      The debug information of the load balancer service
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbServiceInstanceDetail:
    properties:
      attachment:
        $ref: '#/definitions/ResourceReference'
        description: |
          The resource reference which the load balancer instance deploys on.
        title: |-
          The load balancer instance attachment
      error_message:
        description: |
          The error message for the load balancer instance. If the instance
          status is NOT_READY, error message will be attached.
        title: |-
          The error message for this instance
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceInstanceDetailPerStatus:
    properties:
      instance_details:
        description: |
          The detailed information of the load balancer instance. This field
          will be only returned on realtime status API.
        items:
          $ref: '#/definitions/LbServiceInstanceDetail'
        title: |-
          The detail information of load balancer instance
        type: array
      instance_number:
        description: |
          It means the total number of instances in this status type for the
          given transport node.
        format: int64
        title: |-
          The number of instances in this status type
        type: integer
      status:
        description: |
          The type of load balancer instance status.
        enum:
        - READY
        - CONFLICT
        - NOT_READY
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceInstanceDetailPerTransportNode:
    properties:
      instance_detail_per_status:
        description: |
          Load balancer instances details for each load balancer instance
          status type from the given transport node.
        items:
          $ref: '#/definitions/LbServiceInstanceDetailPerStatus'
        title: |-
          Load balancer instances details for each status
        type: array
      transport_node_id:
        description: |
          The UUID of the transport node.
        title: |-
          The UUID of the transport node
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of load balancer services
          items:
            $ref: '#/definitions/LbService'
          title: |-
            paginated list of load balancer services
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbServiceStatistics:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated
        format: int64
        type: integer
      pools:
        description: |-
          Statistics of load balancer pools
        items:
          $ref: '#/definitions/LbPoolStatistics'
        title: |-
          Statistics of load balancer pools
        type: array
      service_id:
        description: |-
          load balancer service identifier
        title: |-
          load balancer service identifier
        type: string
      statistics:
        $ref: '#/definitions/LbServiceStatisticsCounter'
        description: |-
          Load balancer service statistics counter
        title: |-
          Load balancer service statistics counter
      virtual_servers:
        description: |-
          Statistics of load balancer virtual servers
        items:
          $ref: '#/definitions/LbVirtualServerStatistics'
        title: |-
          Statistics of load balancer virtual servers
        type: array
    required:
    - service_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceStatisticsCounter:
    properties:
      l4_current_session_rate:
        description: |
          The average number of l4 current sessions per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of l4 current sessions per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      l4_current_sessions:
        description: |-
          Number of l4 current sessions
        format: int64
        title: |-
          Number of l4 current sessions
        type: integer
      l4_max_sessions:
        description: |
          L4 max sessions is used to show the peak L4 max session data since
          load balancer starts to provide service.
        format: int64
        title: |-
          Number of l4 maximum sessions
        type: integer
      l4_total_sessions:
        description: |-
          Number of l4 total sessions
        format: int64
        title: |-
          Number of l4 total sessions
        type: integer
      l7_current_session_rate:
        description: |
          The average number of l7 current requests per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of l7 current requests per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      l7_current_sessions:
        description: |-
          Number of l7 current sessions
        format: int64
        title: |-
          Number of l7 current sessions
        type: integer
      l7_max_sessions:
        description: |
          L7 max sessions is used to show the peak L7 max session data since
          load balancer starts to provide service.
        format: int64
        title: |-
          Number of l7 maximum sessions
        type: integer
      l7_total_sessions:
        description: |-
          Number of l7 total sessions
        format: int64
        title: |-
          Number of l7 total sessions
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceStatus:
    properties:
      active_transport_nodes:
        description: |-
          Ids of load balancer service related active transport nodes
        items:
          type: string
        title: |-
          Ids of load balancer service related active transport nodes
        type: array
      cpu_usage:
        description: |-
          Cpu usage in percentage
        format: int64
        title: |-
          Cpu usage in percentage
        type: integer
      error_message:
        description: |-
          Error message, if available
        title: |-
          Error message, if available
        type: string
      instance_detail_per_tn:
        description: |
          Details of load balancer service instance per transport node.
        items:
          $ref: '#/definitions/LbServiceInstanceDetailPerTransportNode'
        title: |-
          Details of load balancer service instance per transport node
        type: array
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated
        format: int64
        type: integer
      memory_usage:
        description: |-
          Memory usage in percentage
        format: int64
        title: |-
          Memory usage in percentage
        type: integer
      pools:
        description: |-
          status of load balancer pools
        items:
          $ref: '#/definitions/LbPoolStatus'
        title: |-
          status of load balancer pools
        type: array
      service_id:
        description: |-
          Load balancer service identifier
        title: |-
          Load balancer service identifier
        type: string
      service_status:
        description: |
          UP means the load balancer service is working fine on both
          transport-nodes(if have);
          PARTIALLY_UP means that some DLB instances on transport node are
          working successfully and some instances are not working successfully;
          DOWN means the load balancer service is down on both transport-nodes
          (if have), hence the load balancer will not respond to any requests;
          ERROR means error happens on transport-node(s) or no status is
          reported from transport-node(s). The load balancer service may be
          working (or not working);
          NO_STANDBY means load balancer service is working in one of the
          transport node while not in the other transport-node (if have). Hence
          if the load balancer service in the working transport-node goes down,
          the load balancer service will go down;
          DETACHED means that the load balancer service has no attachment setting
          and is not instantiated in any transport nodes;
          DISABLED means that admin state of load balancer service is DISABLED;
          UNKNOWN means that no status reported from transport-nodes.The load
          balancer service may be working(or not working).
        enum:
        - UP
        - PARTIALLY_UP
        - DOWN
        - ERROR
        - NO_STANDBY
        - DETACHED
        - DISABLED
        - UNKNOWN
        title: |-
          Status of load balancer service
        type: string
      standby_transport_nodes:
        description: |-
          Ids of load balancer service related standby transport nodes
        items:
          type: string
        title: |-
          Ids of load balancer service related standby transport nodes
        type: array
      virtual_servers:
        description: |-
          status of load balancer virtual servers
        items:
          $ref: '#/definitions/LbVirtualServerStatus'
        title: |-
          status of load balancer virtual servers
        type: array
    required:
    - service_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbServiceUsage:
    description: |
      Describes the capacity and current usage of virtual servers, pools, pool
      members for the given load balancer service.
    properties:
      current_pool_count:
        description: |
          The current number of pools which have been configured in the given load
          balancer service.
        format: int64
        readOnly: true
        title: |-
          The current number of pools
        type: integer
      current_pool_member_count:
        description: |
          The current number of pool members which have been configured in the
          given load balancer service.
        format: int64
        readOnly: true
        title: |-
          The current number of pool members
        type: integer
      current_virtual_server_count:
        description: |
          The current number of virtual servers which have been configured in the
          given load balancer service.
        format: int64
        readOnly: true
        title: |-
          The current number of virtual servers
        type: integer
      pool_capacity:
        description: |
          Pool capacity means maximum number of pools which could be configured
          in the given load balancer service.
        format: int64
        readOnly: true
        title: |-
          The capacity of pools
        type: integer
      pool_member_capacity:
        description: |
          Pool member capacity means maximum number of pool members which could
          be configured in the given load balancer service.
        format: int64
        readOnly: true
        title: |-
          The capacity of pool members
        type: integer
      service_id:
        description: |-
          UUID of load balancer service
        readOnly: true
        title: |-
          UUID of load balancer service
        type: string
      service_size:
        description: |-
          The size of load balancer service
        enum:
        - SMALL
        - MEDIUM
        - LARGE
        - XLARGE
        - DLB
        readOnly: true
        type: string
      severity:
        description: |
          The severity calculation is based on the largest usage percentage from
          virtual servers, pools, pool members and rules for one load balancer
          service.
        enum:
        - GREEN
        - ORANGE
        - RED
        readOnly: true
        type: string
      usage_percentage:
        description: |
          The usage percentage is the largest usage percentage from virtual
          servers, pools and pool members for the load balancer service. If the
          property relax_scale_validation is set as true for LbService, it is
          possible that the value is larger than 100.0. For example, if SMALL LBS
          is deployed on MEDIUM edge node and configured with MEDIUM LBS virtual
          server scale number, LBS usage percentage is shown larger than 100.0.
        readOnly: true
        title: |-
          Usage percentage
        type: number
      virtual_server_capacity:
        description: |
          Virtual server capacity means maximum number of virtual servers which
          could be configured in the given load balancer service.
        format: int64
        readOnly: true
        title: |-
          The capacity of virtual servers
        type: integer
    title: |-
      The usage information of the load balancer service
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbSessionCookieTime:
    allOf:
    - $ref: '#/definitions/LbCookieTime'
    - properties:
        cookie_max_idle:
          description: |
            Instead of using HTTP Cookie max-age and relying on client to expire
            the cookie, max idle time and/or max lifetime of the cookie can be used.
            Max idle time, if configured, specifies the maximum interval the cookie
            is valid for from the last time it was seen in a request.
            It is available for insert mode.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            session cookie max idle time in seconds
          type: integer
        cookie_max_life:
          description: |
            Max life time, if configured, specifies the maximum interval the cookie
            is valid for from the first time the cookie was seen in a request.
            It is available for insert mode.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            session cookie max lifetime in seconds
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSnatAutoMap:
    allOf:
    - $ref: '#/definitions/LbSnatTranslation'
    - type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSnatIpElement:
    properties:
      ip_address:
        description: |-
          Ip address or ip range such as 1.1.1.1 or 1.1.1.101-1.1.1.160
        format: address-or-block-or-range
        type: string
      prefix_length:
        description: |
          Subnet prefix length should be not specified if there is only one single
          IP address or IP range.
        format: int64
        title: |-
          subnet prefix length
        type: integer
    required:
    - ip_address
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbSnatIpPool:
    allOf:
    - $ref: '#/definitions/LbSnatTranslation'
    - properties:
        ip_addresses:
          description: |
            If an IP range is specified, the range may contain no more than 64
            IP addresses.
          items:
            $ref: '#/definitions/LbSnatIpElement'
          maxItems: 64
          title: |-
            List of Ip address or ip range
          type: array
      required:
      - ip_addresses
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSnatTranslation:
    discriminator: type
    properties:
      port_overload:
        default: 32
        description: |
          Both SNAT automap and SNAT IP list modes support port overloading
          which allows the same SNAT IP and port to be used for multiple
          backend connections as long as the tuple (source IP, source port,
          destination IP, destination port, IP protocol) after SNAT is
          performed is unique.
          The valid number is 1, 2, 4, 8, 16, 32.
          This is a deprecated property. The port overload factor is fixed
          to 32 in load balancer engine. If it is upgraded from an old version,
          the value would be changed to 32 automatically.
        format: int64
        maximum: 32
        minimum: 1
        title: |-
          port overloading with same SNAT IP and port
        type: integer
        x-deprecated: true
      type:
        description: |
          Load balancers may need to perform SNAT to ensure reverse traffic from
          the server can be received and processed by them.
          There are two modes:
          LbSnatAutoMap uses the load balancer interface IP and an
          ephemeral port as the source IP and port of the server side connection.
          LbSnatIpPool allows user to specify one or more IP addresses
          along with their subnet masks that should be used for SNAT while
          connecting to any of the servers in the pool.
        enum:
        - LbSnatAutoMap
        - LbSnatIpPool
        type: string
    required:
    - type
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbSourceIpPersistenceProfile:
    allOf:
    - $ref: '#/definitions/LbPersistenceProfile'
    - properties:
        ha_persistence_mirroring_enabled:
          default: false
          description: |
            Persistence entries are not synchronized to the HA peer by default.
          title: |-
            mirroring enabled flag to synchronize persistence entries
          type: boolean
        purge:
          default: FULL
          description: |-
            persistence purge setting
          enum:
          - NO_PURGE
          - FULL
          type: string
        timeout:
          default: 300
          description: |
            When all connections complete (reference count reaches 0), persistence
            entry timer is started with the expiration time.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            persistence entry expiration time in seconds
          type: integer
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSslCipherAndProtocolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        ciphers:
          description: |-
            List of SSL ciphers
          items:
            $ref: '#/definitions/LbSslCipherInfo'
          title: |-
            List of SSL ciphers
          type: array
        protocols:
          description: |-
            List of SSL protocols
          items:
            $ref: '#/definitions/LbSslProtocolInfo'
          title: |-
            List of SSL protocols
          type: array
      required:
      - ciphers
      - protocols
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbSslCipherInfo:
    description: |-
      SSL cipher
    properties:
      cipher:
        description: |-
          SSL cipher
        enum:
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
        - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
        - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
        - TLS_RSA_WITH_AES_256_CBC_SHA
        - TLS_RSA_WITH_AES_128_CBC_SHA
        - TLS_RSA_WITH_3DES_EDE_CBC_SHA
        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
        - TLS_RSA_WITH_AES_128_CBC_SHA256
        - TLS_RSA_WITH_AES_128_GCM_SHA256
        - TLS_RSA_WITH_AES_256_CBC_SHA256
        - TLS_RSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
        - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
        - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
        - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
        - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
        - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
        - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
        type: string
      cipher_group_labels:
        description: |
          Several cipher groups might contain the same cipher suite, each cipher
          suite could have multiple cipher group labels.
        items:
          description: |-
            SSL cipher group
          enum:
          - BALANCED
          - HIGH_SECURITY
          - HIGH_COMPATIBILITY
          - CUSTOM
          type: string
        title: |-
          Cipher group label list
        type: array
      is_default:
        description: |-
          Default SSL cipher flag
        title: |-
          Default SSL cipher flag
        type: boolean
      is_secure:
        description: |-
          Secure/insecure SSL cipher flag
        title: |-
          Secure/insecure SSL cipher flag
        type: boolean
    required:
    - is_default
    - is_secure
    - cipher
    title: |-
      SSL cipher
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbSslModeSelectionAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        ssl_mode:
          description: |
            SSL Passthrough: LB establishes a TCP connection with client and another
            connection with selected backend server. LB won't inspect the stream
            data between client and backend server, but just pass it through.
            Backend server exchanges SSL connection with client.
            SSL Offloading: LB terminiates the connections from client, and
            establishes SSL connection with it. After receiving the HTTP request,
            LB connects the selected backend server and talk with it via HTTP
            without SSL. LB estalishes new connection to selected backend server
            for each HTTP request, in case server_keep_alive or multiplexing are
            NOT configured.
            SSL End-to-End: LB terminiates the connections from client, and
            establishes SSL connection with it. After receiving the HTTP request,
            LB connects the selected backend server and talk with it via HTTPS.
            LB estalishes new SSL connection to selected backend server for each
            HTTP request, in case server_keep_alive or multiplexing are NOT
            configured.
          enum:
          - SSL_PASSTHROUGH
          - SSL_END_TO_END
          - SSL_OFFLOAD
          title: |-
            Type of SSL mode
          type: string
      required:
      - ssl_mode
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to select SSL mode. Three types of SSL mode actions can
      be specified in Transport phase, ssl passthrough, ssl offloading and ssl
      end-to-end.
    title: |-
      Action to select SSL mode
    x-vmw-nsx-module: LoadBalancer
  LbSslProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - type: object
      x-vmw-nsx-module: LoadBalancer
    description: |-
      Load balancer abstract SSL profile
    title: |-
      Load balancer abstract SSL profile
    x-vmw-nsx-module: LoadBalancer
  LbSslProtocolInfo:
    description: |-
      SSL protocol
    properties:
      is_default:
        description: |-
          Default SSL protocol flag
        title: |-
          Default SSL protocol flag
        type: boolean
      is_secure:
        description: |-
          Secure/insecure SSL protocol flag
        title: |-
          Secure/insecure SSL protocol flag
        type: boolean
      protocol:
        description: |-
          SSL protocol
        enum:
        - SSL_V2
        - SSL_V3
        - TLS_V1
        - TLS_V1_1
        - TLS_V1_2
        type: string
    required:
    - is_default
    - is_secure
    - protocol
    title: |-
      SSL protocol
    type: object
    x-vmw-nsx-module: LoadBalancer
  LbSslSniCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing SNI value.
          title: |-
            A case sensitive flag for SNI comparing
          type: boolean
        match_type:
          default: REGEX
          description: |
            Determine how a specified string value is used to match SNI.
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
        sni:
          description: |
            The SNI(Server Name indication) in client hello message.
          title: |-
            The server name indication
          type: string
      required:
      - sni
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match SSL SNI in client hello. This condition is
      only supported in TRANSPORT phase and HTTP_FORWARDING phase.
    title: |-
      Condition to match SSL SNI in client hello
    x-vmw-nsx-module: LoadBalancer
  LbStatisticsCounter:
    properties:
      bytes_in:
        description: |-
          Number of bytes in
        format: int64
        title: |-
          Number of bytes in
        type: integer
      bytes_in_rate:
        description: |
          The average number of inbound bytes per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of inbound bytes per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      bytes_out:
        description: |-
          Number of bytes out
        format: int64
        title: |-
          Number of bytes out
        type: integer
      bytes_out_rate:
        description: |
          The average number of outbound bytes per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of outbound bytes per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      current_session_rate:
        description: |
          The average number of current sessions per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of current sessions per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      current_sessions:
        description: |-
          Number of current sessions
        format: int64
        title: |-
          Number of current sessions
        type: integer
      dropped_packets_by_access_list:
        description: |
          The total number of dropped TCP SYN or UDP packets by access list
          control.
        format: int64
        title: |-
          The total number of dropped packets by access list control
        type: integer
      dropped_sessions_by_lbrule_action:
        description: |
          The total number of dropped sessions by LB rule action.
        format: int64
        title: |-
          The total number of dropped sessions by LB rule action
        type: integer
      http_request_rate:
        description: |
          The average number of http requests per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of http requests per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      http_requests:
        description: |-
          The total number of http requests.
        format: int64
        title: |-
          The total number of http requests.
        type: integer
      max_sessions:
        description: |-
          Number of maximum sessions
        format: int64
        title: |-
          Number of maximum sessions
        type: integer
      packets_in:
        description: |-
          Number of packets in
        format: int64
        title: |-
          Number of packets in
        type: integer
      packets_in_rate:
        description: |
          The average number of inbound packets per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of inbound packets per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      packets_out:
        description: |-
          Number of packets out
        format: int64
        title: |-
          Number of packets out
        type: integer
      packets_out_rate:
        description: |
          The average number of outbound packets per second, the number is
          averaged over the last 5 one-second intervals.
        title: |
          The average number of outbound packets per second, the number is
          averaged over the last 5 one-second intervals.
        type: number
      source_ip_persistence_entry_size:
        description: |-
          Number of source IP persistence entries
        format: int64
        title: |-
          Number of source IP persistence entries
        type: integer
      total_sessions:
        description: |-
          Number of total sessions
        format: int64
        title: |-
          Number of total sessions
        type: integer
    required:
    - bytes_out
    - max_sessions
    - total_sessions
    - bytes_in
    - current_sessions
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbTcpHeaderCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        source_port:
          description: |-
            TCP source port of HTTP message
          format: port-or-range
          type: string
      required:
      - source_port
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match TCP header fields of HTTP messages.
      Currently, only the TCP source port is supported. Ports can be expressed as
      a single port number like 80, or a port range like 1024-1030.
    title: |-
      Condition to match TCP header fields
    x-vmw-nsx-module: LoadBalancer
  LbTcpMonitor:
    allOf:
    - $ref: '#/definitions/LbActiveMonitor'
    - properties:
        receive:
          description: |
            Expected data, if specified, can be anywhere in the response and it has to
            be a string, regular expressions are not supported.
          title: |-
            expected data received from server
          type: string
        send:
          description: |
            If both send and receive are not specified, then just a TCP connection
            is established (3-way handshake) to validate server is healthy, no
            data is sent.
          title: |-
            data to send
          type: string
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbUdpMonitor:
    allOf:
    - $ref: '#/definitions/LbActiveMonitor'
    - properties:
        receive:
          description: |
            Expected data, can be anywhere in the response and it has to be a
            string, regular expressions are not supported.
            UDP healthcheck is considered failed if there is no server response
            within the timeout period.
          title: |-
            expected data received from server
          type: string
        send:
          description: |
            The data to be sent to the monitored server.
          title: |-
            data to send
          type: string
      required:
      - receive
      - send
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbVariableAssignmentAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        variable_name:
          description: |-
            Name of the variable to be assigned
          title: |-
            Name of the variable to be assigned
          type: string
        variable_value:
          description: |-
            Value of variable
          title: |-
            Value of variable
          type: string
      required:
      - variable_value
      - variable_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is used to create a new variable and assign value to it.
      One action can be used to create one variable. To create multiple
      variables, multiple actions must be defined.
      The variables can be used by LbVariableCondition, etc.
    title: |-
      Action to create variable and assign value to it.
    x-vmw-nsx-module: LoadBalancer
  LbVariableCondition:
    allOf:
    - $ref: '#/definitions/LbRuleCondition'
    - properties:
        case_sensitive:
          default: true
          description: |
            If true, case is significant when comparing variable value.
          title: |-
            A case sensitive flag for variable value comparing
          type: boolean
        match_type:
          default: REGEX
          description: |-
            Match type of variable value
          enum:
          - STARTS_WITH
          - ENDS_WITH
          - EQUALS
          - CONTAINS
          - REGEX
          type: string
        variable_name:
          description: |-
            Name of the variable to be matched
          title: |-
            Name of the variable to be matched
          type: string
        variable_value:
          description: |-
            Value of variable to be matched
          title: |-
            Value of variable to be matched
          type: string
      required:
      - variable_value
      - variable_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This condition is used to match variable's name and value at all
      phases. The variables could be captured from REGEX or assigned by
      LbVariableAssignmentAction or system embedded variable. Varialbe_name
      and variable_value should be matched at the same time.
    title: |-
      Condition to match IP header fields
    x-vmw-nsx-module: LoadBalancer
  LbVariablePersistenceLearnAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        persistence_profile_id:
          description: |
            If the persistence profile UUID is not specified, a default
            persistence table is created per virtual server. Currently, only
            LbGenericPersistenceProfile is supported.
          title: |-
            UUID of LbPersistenceProfile
          type: string
        variable_hash_enabled:
          default: false
          description: |
            The property is used to enable a hash operation for variable value
            when composing the persistence key.
          title: |-
            Whether to enable a hash operation for variable value
          type: boolean
        variable_name:
          description: |
            The property is the name of variable to be learnt. It is used to
            identify which variable's value is learnt from HTTP response.
            The variable can be a system embedded variable such as
            "_cookie_JSESSIONID", a customized variable defined in
            LbVariableAssignmentAction or a captured variable in regular expression
            such as "article".
          title: |-
            Variable name
          type: string
      required:
      - variable_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is performed in HTTP response rewrite phase. It is used to
      learn the value of variable from the HTTP response, and insert an entry
      into the persistence table if the entry doesn't exist.
    title: |-
      Action to learn the variable value
    x-vmw-nsx-module: LoadBalancer
  LbVariablePersistenceOnAction:
    allOf:
    - $ref: '#/definitions/LbRuleAction'
    - properties:
        persistence_profile_id:
          description: |
            If the persistence profile UUID is not specified, a default
            persistence table is created per virtual server. Currently, only
            LbGenericPersistenceProfile is supported.
          title: |-
            UUID of LbPersistenceProfile
          type: string
        variable_hash_enabled:
          default: false
          description: |
            The property is used to enable a hash operation for variable value
            when composing the persistence key.
          title: |-
            Whether to enable a hash operation for variable value
          type: boolean
        variable_name:
          description: |
            The property is the name of variable to be used. It specifies which
            variable's value of a HTTP Request will be used in the key of
            persistence entry. The variable can be a system embedded variable such
            as "_cookie_JSESSIONID", a customized variable defined in
            LbVariableAssignmentAction or a captured variable in regular expression
            such as "article".
          title: |-
            Variable name
          type: string
      required:
      - variable_name
      type: object
      x-vmw-nsx-module: LoadBalancer
    description: |
      This action is performed in HTTP forwarding phase. It is used to inspect
      the variable of HTTP request, and look up the persistence entry with its
      value and pool uuid as key.
      If the persistence entry is found, the HTTP request is forwarded to the
      recorded backend server according to the persistence entry.
      If the persistence entry is not found, a new entry is created in the
      table after backend server is selected.
    title: |-
      Action to persist the variable value
    x-vmw-nsx-module: LoadBalancer
  LbVirtualServer:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        access_list_control:
          $ref: '#/definitions/LbAccessListControl'
          description: |
            Specifies the access list control to define how to filter the
            connections from clients.
          title: |-
            IP access list control to filter the connections
        access_log_enabled:
          default: false
          description: |-
            Whether access log is enabled
          title: |-
            Whether access log is enabled
          type: boolean
        application_profile_id:
          description: |
            The application profile defines the application protocol characteristics.
            It is used to influence how load balancing is performed. Currently,
            LbFastTCPProfile, LbFastUDPProfile and
            LbHttpProfile, etc are supported.
          title: |-
            application profile identifier
          type: string
        client_ssl_profile_binding:
          $ref: '#/definitions/ClientSslProfileBinding'
          description: |
            The setting is used when load balancer acts as an SSL server and
            terminating the client SSL connection
          title: |-
            Virtual server side SSL binding setting
        default_pool_member_port:
          description: |
            This is a deprecated property, please use 'default_pool_member_ports'
            instead.
            If default_pool_member_port is configured and default_pool_member_ports
            are not specified, both default_pool_member_port
            and default_pool_member_ports in response payload would return the same
            port value.
            If both are specified, default_pool_member_ports setting would take
            effect with higher priority.
          format: port-or-range
          type: string
          x-deprecated: true
        default_pool_member_ports:
          description: |
            If default_pool_member_ports are configured, both
            default_pool_member_port and default_pool_member_ports in the response
            payload would include port settings, notice that the value of
            default_pool_member_port is the first element of
            default_pool_member_ports.
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 14
          title: |-
            Default pool member ports when member port is not defined.
          type: array
        enabled:
          default: true
          description: |-
            whether the virtual server is enabled
          title: |-
            whether the virtual server is enabled
          type: boolean
        ip_address:
          description: |-
            virtual server IP address
          format: ip
          type: string
        ip_protocol:
          default: TCP
          description: |
            Assigned Internet Protocol in IP header, TCP, UDP are supported.
          enum:
          - TCP
          - UDP
          type: string
        log_significant_event_only:
          default: false
          description: |
            The property log_significant_event_only can take effect only when
            access_log_enabled is true. If log_significant_event_only is true,
            significant events are logged in access log.
            For L4 virtual server, significant event means unsuccessful(error or
            dropped) TCP/UDP connections.
            For L7 virtual server, significant event means unsuccessful connections
            or HTTP/HTTPS requests which have error response code(e.g. 4xx, 5xx).
          title: |-
            Log only significant event in access log
          type: boolean
        max_concurrent_connections:
          description: |
            To ensure one virtual server does not over consume resources,
            affecting other applications hosted on the same LBS, connections
            to a virtual server can be capped.
            If it is not specified, it means that connections are unlimited.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            maximum concurrent connection number
          type: integer
        max_new_connection_rate:
          description: |
            To ensure one virtual server does not over consume resources,
            connections to a member can be rate limited.
            If it is not specified, it means that connection rate is unlimited.
          format: int64
          maximum: 2147483647
          minimum: 1
          title: |-
            maximum new connection rate in second
          type: integer
        persistence_profile_id:
          description: |
            Persistence profile is used to allow related client connections to be
            sent to the same backend server.
          title: |-
            persistence profile identifier
          type: string
        pool_id:
          description: |
            The server pool(LbPool) contains backend servers. Server pool
            consists of one or more servers, also referred to as pool members, that
            are similarly configured and are running the same application.
          title: |-
            default server pool identifier
          type: string
        port:
          description: |
            This is a deprecated property, please use 'ports' instead.
            Port setting could be single port for both L7 mode and L4 mode.
            For L4 mode, a single port range is also supported.
            The port setting could be a single port or port range such as
            "80", "1234-1236".
            If port is configured and ports are not specified, both port and
            ports in response payload would return the same port value.
            If both port and ports are configured, ports setting would take effect
            with higher priority.
          format: port-or-range
          type: string
          x-deprecated: true
        ports:
          description: |
            Port setting could be a single port for both L7 mode and L4 mode.
            For L4 mode, multiple ports or port ranges are also supported such
            as "80", "443", "1234-1236".
            If ports is configured, both port and ports in the response payload
            would include port settings, notice that the port field value is the
            first element of ports.
          items:
            description: |
              Examples- Single port "8080", Range of ports "8090-8095"
            format: port-or-range
            type: string
          maxItems: 14
          title: |-
            Virtual server ports or port ranges
          type: array
        rule_ids:
          description: |
            Load balancer rules allow customization of load balancing behavior using
            match/action rules. Currently, load balancer rules are supported for
            only layer 7 virtual servers with LbHttpProfile.
          items:
            type: string
          maxItems: 4000
          title: |-
            List of load balancer rule identifiers
          type: array
        server_ssl_profile_binding:
          $ref: '#/definitions/ServerSslProfileBinding'
          description: |
            The setting is used when load balancer acts as an SSL client and
            establishing a connection to the backend server.
          title: |-
            Pool side SSL binding setting
        sorry_pool_id:
          description: |
            When load balancer can not select a backend server to serve the
            request in default pool or pool in rules, the request would be served
            by sorry server pool.
          title: |-
            Identifier of sorry server pool
          type: string
      required:
      - application_profile_id
      - ip_address
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbVirtualServerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of virtual servers
          items:
            $ref: '#/definitions/LbVirtualServer'
          title: |-
            paginated list of virtual servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LoadBalancer
    x-vmw-nsx-module: LoadBalancer
  LbVirtualServerStatistics:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated
        format: int64
        type: integer
      statistics:
        $ref: '#/definitions/LbStatisticsCounter'
        description: |-
          Virtual server statistics counter
        title: |-
          Virtual server statistics counter
      virtual_server_id:
        description: |-
          load balancer virtual server identifier
        title: |-
          load balancer virtual server identifier
        type: string
    required:
    - statistics
    - virtual_server_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbVirtualServerStatisticsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated statistics list of virtual servers
          items:
            $ref: '#/definitions/LbVirtualServerStatistics'
          title: |-
            paginated statistics list of virtual servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AggSvcLb
    x-vmw-nsx-module: AggSvcLb
  LbVirtualServerStatus:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated.
        format: int64
        type: integer
      status:
        description: |
          UP means that all primary members in default pool are in UP status.
          For L7 virtual server, if there is no default pool, the virtual server
          would be treated as UP.
          PARTIALLY_UP means that some(not all) primary members in default pool
          are in UP status. The size of these active primary members should be
          larger than or equal to the certain number(min_active_members) which is
          defined in LbPool. When there are no backup members which are in the UP
          status, the number(min_active_members) would be ignored.
          PRIMARY_DOWN means that less than certain(min_active_members) primary
          members in default pool are in UP status but backup members are in UP
          status, the connections would be dispatched to backup members.
          DOWN means that all primary and backup members are in DOWN status.
          DETACHED means that the virtual server is not bound to any service.
          DISABLED means that the admin state of the virtual server is disabled.
          UNKNOWN means that no status reported from transport-nodes. The
          associated load balancer service may be working(or not working).
        enum:
        - UP
        - PARTIALLY_UP
        - PRIMARY_DOWN
        - DOWN
        - DETACHED
        - DISABLED
        - UNKNOWN
        title: |-
          Virtual server status
        type: string
      virtual_server_id:
        description: |-
          load balancer virtual server identifier
        title: |-
          load balancer virtual server identifier
        type: string
    required:
    - virtual_server_id
    type: object
    x-vmw-nsx-module: AggSvcLb
  LbVirtualServerStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated status list of virtual servers
          items:
            $ref: '#/definitions/LbVirtualServerStatus'
          title: |-
            paginated status list of virtual servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AggSvcLb
    x-vmw-nsx-module: AggSvcLb
  LbVirtualServerWithRule:
    properties:
      rules:
        description: |
          It is used to add rules, update rules and bind rules to the virtual
          server.
          To add new rules, make sure that the rules have no identifier
          specified, the new rules are automatically generated and associated to
          the virtual server.
          If the virtual server need to consume some existed rules without
          change, those rules should not be specified in the list, otherwise,
          the rules are updated.
          For update_with_rules action, it supports rules delete and update.
          To delete old rules, the rules should not be configured in new action,
          the UUID of deleted rules should be removed from rule_ids.
          To update rules, the rules should be specified with new change and
          configured with identifier.
          If there are some rules which are not modified, those rule should not
          be specified in the rules list, the UUID list of rules should be
          specified in rule_ids of LbVirtualServer.
        items:
          $ref: '#/definitions/LbRule'
        title: |-
          Associated load balancer rules
        type: array
      virtual_server:
        $ref: '#/definitions/LbVirtualServer'
        description: |
          If rules need to be associated to the virtual server, please set rules
          properties of LbVirtualServerWithRule with rule list configuration.
          For the rules which are not modified but associated to the virtual
          server, the rule UUID list should be specified in rule_ids property of
          LbVirtualServer and the associated rules should not be specified in
          rules of LbVirtualServerWithRule.
        title: |-
          Virtual server configuration
    required:
    - virtual_server
    type: object
    x-vmw-nsx-module: LoadBalancer
  Legend:
    description: |-
      Represents legend that describes the entities of the widget.
    properties:
      alignment:
        default: VERTICAL
        description: |-
          Describes the alignment of legend. Alignment of a legend denotes how individual items of the legend are aligned in a container. For example, if VERTICAL is chosen then the items of the legend will appear one below the other and if HORIZONTAL is chosen then the items will appear side by side.
        enum:
        - HORIZONTAL
        - VERTICAL
        title: |-
          Alignment of the legend
        type: string
      display_count:
        default: true
        description: |-
          If set to true, it will display the counts in legend. If set to false, counts of entities are not displayed in the legend.
        title: |-
          Show count of entities in the legend
        type: boolean
      position:
        default: RIGHT
        description: |-
          Describes the relative placement of legend. The legend of a widget can be placed either to the TOP or BOTTOM or LEFT or RIGHT relative to the widget. For example, if RIGHT is chosen then legend is placed to the right of the widget.
        enum:
        - TOP
        - BOTTOM
        - LEFT
        - RIGHT
        - TOP_RIGHT
        title: |-
          Placement of legend
        type: string
      type:
        default: CIRCLE
        description: |-
          Describes the render type for the legend. The legend for an entity describes the entity in the widget. The supported legend type is a circle against which the entity's details such as display_name are shown. The color of the circle denotes the color of the entity shown inside the widget.
        enum:
        - CIRCLE
        title: |-
          Type of the legend
        type: string
      unit:
        description: |-
          Show unit of entities in the legend.
        title: |-
          Show unit of entities in the legend
        type: string
    title: |-
      Legend for the widget
    type: object
    x-vmw-nsx-module: NsxDashboard
  License:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        capacity_type:
          description: |
            License metrics specifying the capacity type of license key.
            Types are:
            - VM
            - CPU
            - USER(Concurrent User)
            - CORE
            - HOST
          enum:
          - VM
          - CPU
          - USER
          - CORE
          - HOST
          readOnly: true
          title: |-
            license metric
          type: string
        description:
          description: |-
            license edition
          readOnly: true
          title: |-
            license edition
          type: string
        expiry:
          description: |-
            date that license expires
          format: int64
          readOnly: true
          type: integer
        features:
          description: |-
            semicolon delimited feature list
          readOnly: true
          title: |-
            semicolon delimited feature list
          type: string
        is_eval:
          description: |-
            true for evalution license
          readOnly: true
          title: |-
            true for evalution license
          type: boolean
        is_expired:
          description: |-
            whether the license has expired
          readOnly: true
          title: |-
            whether the license has expired
          type: boolean
        is_mh:
          description: |-
            multi-hypervisor support
          readOnly: true
          title: |-
            multi-hypervisor support
          type: boolean
        license_key:
          description: |-
            license key
          title: |-
            license key
          type: string
        product_name:
          description: |-
            product name
          readOnly: true
          title: |-
            product name
          type: string
        product_version:
          description: |-
            product version
          readOnly: true
          title: |-
            product version
          type: string
        quantity:
          description: |-
            license capacity; 0 for unlimited
          format: int64
          readOnly: true
          title: |-
            license capacity; 0 for unlimited
          type: integer
      type: object
      x-vmw-nsx-module: License
    description: |-
      license properties
    x-vmw-nsx-module: License
  LicensesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Licenses Results
          items:
            $ref: '#/definitions/License'
          readOnly: true
          title: |-
            Licenses Results
          type: array
      type: object
      x-vmw-nsx-module: License
    description: |-
      Licenses queries result
    x-vmw-nsx-module: License
  ListResult:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        cursor:
          description: |-
            Opaque cursor to be used for getting next page of records (supplied by current result page)
          readOnly: true
          title: |-
            Opaque cursor to be used for getting next page of records (supplied by current result page)
          type: string
        result_count:
          description: |-
            Count of results found (across all pages), set only on first page
          format: int64
          readOnly: true
          title: |-
            Count of results found (across all pages), set only on first page
          type: integer
        sort_ascending:
          description: |-
            If true, results are sorted in ascending order
          readOnly: true
          title: |-
            If true, results are sorted in ascending order
          type: boolean
        sort_by:
          description: |-
            Field by which records are sorted
          readOnly: true
          title: |-
            Field by which records are sorted
          type: string
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Base class for list results from collections
    title: |-
      Base class for list results from collections
    x-vmw-nsx-module: Common
  ListResultQueryParameters:
    description: |-
      Parameters that affect how list results are processed
    properties:
      fields:
        description: |-
          Comma-separated field names to include in query result
        title: |-
          Fields to include in query results
        type: string
    title: |-
      Parameters that affect how list results are processed
    type: object
    x-vmw-nsx-module: Common
  LiveTraceActionConfig:
    properties:
      count_config:
        $ref: '#/definitions/CountActionConfig'
        description: |-
          The count action config
        readOnly: true
        title: |-
          The count action config
      pktcap_config:
        $ref: '#/definitions/PktcapActionConfig'
        description: |-
          The packet capture action config
        readOnly: true
        title: |-
          The packet capture action config
      trace_config:
        $ref: '#/definitions/TraceActionConfig'
        description: |-
          The trace action config
        readOnly: true
        title: |-
          The trace action config
    type: object
    x-vmw-nsx-module: LiveTrace
  LiveTraceFilterData:
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Filter type
        enum:
        - FieldsFilterData
        - PlainFilterData
        title: |-
          Filter type
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: LiveTrace
  LiveTraceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Livetrace status list
          items:
            $ref: '#/definitions/LiveTraceStatus'
          title: |-
            Livetrace status list
          type: array
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  LiveTraceRequest:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        actions:
          $ref: '#/definitions/LiveTraceActionConfig'
          description: |-
            Actions to the filtered packet
          readOnly: true
          title: |-
            Actions to the filtered packet
        filter:
          $ref: '#/definitions/LiveTraceFilterData'
          description: |-
            Packet filter for flows of interest
          readOnly: true
          title: |-
            Packet filter for flows of interest
        source_lport:
          description: |-
            Source logical port
          readOnly: true
          title: |-
            Source logical port
          type: string
        timeout:
          default: 10
          description: |-
            Timeout in seconds for livetrace session
          format: int64
          maximum: 300
          minimum: 5
          title: |-
            Timeout in seconds for livetrace session
          type: integer
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  LiveTraceResult:
    properties:
      count_results:
        description: |-
          Count action list results
        items:
          $ref: '#/definitions/CountResult'
        title: |-
          Count action list results
        type: array
      id:
        description: |
          The id is assigned by live trace and cannot be specified by user.
        readOnly: true
        title: |-
          ID of a livetrace session
        type: string
      pktcap_results:
        description: |-
          PktCap action results
        items:
          $ref: '#/definitions/PktCapResult'
        title: |-
          PktCap action results
        type: array
      trace_results:
        description: |-
          Trace action observation list results
        items:
          $ref: '#/definitions/TraceResult'
        title: |-
          Trace action observation list results
        type: array
    type: object
    x-vmw-nsx-module: LiveTrace
  LiveTraceStatus:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        actions:
          $ref: '#/definitions/LiveTraceActionConfig'
          description: |-
            Action to the filtered packet
          readOnly: true
          title: |-
            Action to the filtered packet
        filter:
          $ref: '#/definitions/LiveTraceFilterData'
          description: |-
            Packet filter for flows of interest
          readOnly: true
          title: |-
            Packet filter for flows of interest
        operation_state:
          description: |
            The operation state of live trace.
            IN_PROGRESS - collecting the session results.
            FINISHED - session results collect complete.
            PARTIAL_FINISHED - some ssession results may be lost.
            CANCELED - session cancelled by exception.
            TIMEOUT - session result is incomplete until timeout.
          enum:
          - IN_PROGRESS
          - FINISHED
          - PARTIAL_FINISHED
          - CANCELED
          - TIMEOUT
          readOnly: true
          title: |-
            Operation state
          type: string
        request_status:
          description: |
            The status of a live trace request.
            SUCCESS_DELIVERED - The request is delivered successfully.
            LCP_FAILURE - nsx-cfgagent fails to realize the request.
            INVALID_FILTER - filter data invalid.
            DATAPATH_FAILURE - DP fails to realize the request.
            TIMEOUT - The response to the request is not received within timeout.
            CONNECTION_ERROR - There is connection error with host component.
            UNKNOWN - The status of request cannot be determined.
          enum:
          - SUCCESS_DELIVERED
          - LCP_FAILURE
          - INVALID_FILTER
          - DATAPATH_FAILURE
          - CONNECTION_ERROR
          - TIMEOUT
          - UNKNOWN
          readOnly: true
          title: |-
            Livetrace request status
          type: string
        source_lport:
          description: |-
            The source logical port
          readOnly: true
          title: |-
            The source logical port
          type: string
        timeout:
          description: |-
            Timeout in seconds for livetrace session
          format: int64
          maximum: 300
          minimum: 5
          readOnly: true
          title: |-
            Timeout in seconds for livetrace session
          type: integer
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  LldpHostSwitchProfile:
    allOf:
    - $ref: '#/definitions/BaseHostSwitchProfile'
    - properties:
        send_enabled:
          description: |-
            Enabled or disabled sending LLDP packets
          title: |-
            Enabled or disabled sending LLDP packets
          type: boolean
      required:
      - send_enabled
      type: object
      x-vmw-nsx-module: LldpHostSwitchProfile
    description: |-
      Host Switch for LLDP
    title: |-
      Host Switch for LLDP
    x-vmw-nsx-module: LldpHostSwitchProfile
  LoadBalancerAllocationPool:
    allOf:
    - $ref: '#/definitions/EdgeClusterMemberAllocationPool'
    - properties:
        allocation_size:
          default: SMALL
          description: |
            To address varied customer performance and scalability requirements,
            different sizes for load balancer service are supported: SMALL, MEDIUM,
            LARGE and XLARGE, each with its own set of resource and performance.
            Specify size of load balancer service which you will bind to TIER1
            router.
          enum:
          - SMALL
          - MEDIUM
          - LARGE
          - XLARGE
          title: |-
            Size of load balancer service
          type: string
      required:
      - allocation_size
      type: object
      x-vmw-nsx-module: LogicalRouter
    x-vmw-nsx-module: LogicalRouter
  LoggingServiceProperties:
    description: |-
      Service properties
    properties:
      logging_level:
        description: |-
          Service logging level
        enum:
        - 'OFF'
        - FATAL
        - ERROR
        - WARN
        - INFO
        - DEBUG
        - TRACE
        title: |-
          Service logging level
        type: string
      modified_package_logging_levels:
        description: |-
          Modified package logging levels
        title: |-
          Modified package logging levels
        type: string
      package_logging_level:
        description: |-
          Package logging levels
        items:
          $ref: '#/definitions/PackageLoggingLevels'
        title: |-
          Package logging levels
        type: array
    required:
    - logging_level
    title: |-
      Service properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  LogicalConstructMigrationStats:
    description: |-
      Contains migration related information about logical constructs
    properties:
      source_count:
        description: |-
          Number of objects of source type.
        readOnly: true
        title: |-
          Number of objects of source type
        type: string
      source_type:
        description: |-
          Type of the vSphere object (e.g. dvportgroup).
        readOnly: true
        title: |-
          Type of the vSphere object
        type: string
      target_count:
        description: |-
          Number of objects of target type.
        readOnly: true
        title: |-
          Number of objects of target type
        type: string
      target_type:
        description: |-
          Type of the Policy object corresponding to the source type (e.g. Segment).
        readOnly: true
        title: |-
          Type of the Policy object
        type: string
      vertical:
        description: |-
          Functional area that this vSphere object falls into
        readOnly: true
        title: |-
          Functional area for the vSphere object
        type: string
    title: |-
      Migration Statistics for Logical Constructs
    type: object
    x-vmw-nsx-module: Migration
  LogicalConstructMigrationStatsListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of migration stats for logical constructs
          items:
            $ref: '#/definitions/LogicalConstructMigrationStats'
          readOnly: true
          title: |-
            Paged collection of migration stats for logical constructs
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  LogicalDhcpServer:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attached_logical_port_id:
          description: |-
            The uuid of the attached logical port. Read only.
          readOnly: true
          title: |-
            Id of attached logical port
          type: string
        dhcp_profile_id:
          description: |-
            The DHCP profile uuid the logical DHCP server references.
          title: |-
            DHCP profile uuid
          type: string
        ipv4_dhcp_server:
          $ref: '#/definitions/IPv4DhcpServer'
          description: |-
            The DHCP server for ipv4 addresses allocation service.
          title: |-
            DHCP server for ipv4 addresses
        ipv6_dhcp_server:
          $ref: '#/definitions/IPv6DhcpServer'
          description: |-
            The DHCP server for ipv6 addresses allocation service.
          title: |-
            DHCP server for ipv6 addresses
      required:
      - dhcp_profile_id
      type: object
      x-vmw-nsx-module: Dhcp
    description: |
      Definition of a logical DHCP server which can be attached a logical switch
      via a logical port. Both ipv4_dhcp_server and ipv6_dhcp_server can be
      configured at the same time, or only configure either ipv4_dhcp_server or
      ipv6_dhcp_server.
    title: |-
      Logical DHCP server
    x-vmw-nsx-module: Dhcp
  LogicalDhcpServerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of logical DHCP servers.
          items:
            $ref: '#/definitions/LogicalDhcpServer'
          title: |-
            Paginated list of DHCP servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Dhcp
    description: |-
      A paginated list of logical DHCP servers.
    title: |-
      A list of logical DHCP servers
    x-vmw-nsx-module: Dhcp
  LogicalPort:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        address_bindings:
          description: |
            Each address binding must contain both an IPElement and MAC address.
            VLAN ID is optional. This binding configuration can be used by
            features such as spoof-guard and overrides any discovered bindings.
            Any non unique entries are deduplicated to generate a unique set
            of address bindings and then stored. For IP addresses, a subnet
            address cannot have host bits set. A maximum of 128 unique address
            bindings is allowed per port.
          items:
            $ref: '#/definitions/PacketAddressClassifier'
          maxItems: 512
          minItems: 0
          title: |-
            Address bindings for logical port
          type: array
        admin_state:
          description: |-
            Represents Desired state of the logical port
          enum:
          - UP
          - DOWN
          title: |-
            Represents Desired state of the logical port
          type: string
        attachment:
          $ref: '#/definitions/LogicalPortAttachment'
          description: |-
            Logical port attachment
          title: |-
            Logical port attachment
        extra_configs:
          description: |
            This property could be used for vendor specific configuration in key value
            string pairs. Logical port setting will override logical switch setting if
            the same key was set on both logical switch and logical port.
          items:
            $ref: '#/definitions/ExtraConfig'
          title: |-
            Extra configs on logical port
          type: array
        ignore_address_bindings:
          description: |
            IP Discovery module uses various mechanisms to discover address
            bindings being used on each port. If a user would like to ignore
            any specific discovered address bindings or prevent the discovery
            of a particular set of discovered bindings, then those address
            bindings can be provided here. Currently IP range in CIDR format
            is not supported.
          items:
            $ref: '#/definitions/PacketAddressClassifier'
          maxItems: 16
          minItems: 0
          title: |-
            Address bindings to be ignored by IP Discovery module
          type: array
        init_state:
          description: |
            Set initial state when a new logical port is created. 'UNBLOCKED_VLAN'
            means new port will be unblocked on traffic in creation, also VLAN will
            be set with corresponding logical switch setting. This port setting
            can only be configured at port creation (POST), and cannot be modified.
            'RESTORE_VIF' fetches and restores VIF attachment from ESX host.
          enum:
          - UNBLOCKED_VLAN
          - RESTORE_VIF
          type: string
        internal_id:
          description: |
            The internal_id of the logical port may or may not be identical to it's
            managed resource ID. If a VirtualMachine connected to logical port
            migrates from one site to another, then on the destination site, it
            will be connected to different logical port managed resource. However,
            the internal_id field will be persisted across vmotion.
          title: |-
            ID of the logical port in Global Manager
          type: string
        logical_switch_id:
          description: |-
            Id of the Logical switch that this port belongs to.
          title: |-
            Id of the Logical switch that this port belongs to.
          type: string
        switching_profile_ids:
          items:
            $ref: '#/definitions/SwitchingProfileTypeIdEntry'
          type: array
      required:
      - logical_switch_id
      - admin_state
      type: object
      x-vmw-nsx-module: LogicalPort
    x-vmw-nsx-module: LogicalPort
  LogicalPortAttachment:
    description: |-
      Logical port attachment
    properties:
      attachment_type:
        default: VIF
        description: |-
          Indicates the type of logical port attachment. By default it is Virtual Machine interface (VIF)
        enum:
        - VIF
        - LOGICALROUTER
        - BRIDGEENDPOINT
        - DHCP_SERVICE
        - METADATA_PROXY
        - L2VPN_SESSION
        - L2FORWARDER
        type: string
      context:
        $ref: '#/definitions/AttachmentContext'
        description: |-
          Extra context data for the attachment
        title: |-
          Attachment context
      id:
        description: |-
          Identifier of the interface attached to the logical port
        title: |-
          Identifier of the interface attached to the logical port
        type: string
    required:
    - id
    title: |-
      Logical port attachment
    type: object
    x-vmw-nsx-module: LogicalPort
  LogicalPortAttachmentState:
    description: |-
      VIF attachment state of a logical port
    properties:
      attachers:
        description: |-
          VM or vmknic entities that are attached to the LogicalPort
        items:
          $ref: '#/definitions/PortAttacher'
        readOnly: true
        title: |-
          VM or vmknic entities that are attached to the LogicalPort
        type: array
      id:
        description: |-
          VIF ID
        readOnly: true
        title: |-
          VIF ID
        type: string
      state:
        description: |
          A logicalPort must be in one of following state.
          FREE - If there are no active attachers. The LogicalPort may or
          may not have an attachment ID configured on it. This state is
          applicable only to LogialPort of static type.
          ATTACHED - LogicalPort has exactly one active attacher and no
          further configuration is pending.
          ATTACHED_PENDING_CONF - LogicalPort has exactly one attacher,
          however it may not have been configured completely. Additional
          configuration will be provided by other nsx components.
          ATTACHED_IN_MOTION - LogicalPort has multiple active attachers.
          This state represents a scenario where VM is moving from one
          location (host or storage) to another (e.g. vmotion, vSphere HA)
          DETACHED - A temporary state after all LogialPort attachers have
          been detached. This state is applicable only to LogicalPort of
          ephemeral type and the LogicalPort will soon be deleted.
        enum:
        - FREE
        - ATTACHED
        - ATTACHED_PENDING_CONF
        - ATTACHED_IN_MOTION
        - DETACHED
        readOnly: true
        title: |-
          State of the VIF attached to LogicalPort
        type: string
    title: |-
      VIF attachment state of a logical port
    type: object
    x-vmw-nsx-module: LogicalPort
  LogicalPortListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            LogicalPort Results
          items:
            $ref: '#/definitions/LogicalPort'
          readOnly: true
          title: |-
            LogicalPort Results
          type: array
      type: object
      x-vmw-nsx-module: LogicalPort
    description: |-
      Logical port queries result
    title: |-
      Logical port queries result
    x-vmw-nsx-module: LogicalPort
  LogicalPortMacAddressCsvListResult:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/LogicalPortMacTableCsvEntry'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalPort
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortMacAddressListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_port_id:
          description: |-
            The id of the logical port
          readOnly: true
          title: |-
            The id of the logical port
          type: string
        results:
          items:
            $ref: '#/definitions/LogicalPortMacTableEntry'
          type: array
        transport_node_id:
          description: |-
            Transport node identifier
          readOnly: true
          title: |-
            Transport node identifier
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalPort
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortMacTableCsvEntry:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        mac_address:
          description: |-
            The MAC address
          title: |-
            The MAC address
          type: string
        mac_type:
          description: |-
            The type of the MAC address
          enum:
          - STATIC
          - LEARNED
          type: string
      required:
      - mac_type
      - mac_address
      type: object
      x-vmw-nsx-module: AggSvcLogicalPort
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortMacTableEntry:
    properties:
      mac_address:
        description: |-
          The MAC address
        title: |-
          The MAC address
        type: string
      mac_type:
        description: |-
          The type of the MAC address
        enum:
        - STATIC
        - LEARNED
        type: string
    required:
    - mac_type
    - mac_address
    type: object
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortMirrorDestination:
    allOf:
    - $ref: '#/definitions/MirrorDestination'
    - properties:
        port_ids:
          description: |-
            Destination logical port identifier list.
          items:
            type: string
          maxItems: 3
          minItems: 1
          title: |-
            Destination logical port identifier list.
          type: array
      required:
      - port_ids
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  LogicalPortMirrorSource:
    allOf:
    - $ref: '#/definitions/MirrorSource'
    - properties:
        port_ids:
          description: |-
            Source logical port identifier list
          items:
            type: string
          minItems: 1
          title: |-
            Source logical port identifier list
          type: array
      required:
      - port_ids
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  LogicalPortOperationalStatus:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      logical_port_id:
        description: |-
          The id of the logical port
        readOnly: true
        title: |-
          The id of the logical port
        type: string
      status:
        description: |-
          The Operational status of the logical port
        enum:
        - UP
        - DOWN
        - UNKNOWN
        title: |-
          The Operational status of the logical port
        type: string
    required:
    - status
    type: object
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortState:
    description: |
      Contians realized state of the logical port. For example, transport node
      on which the port is located, discovered and realized address bindings of
      the logical port.
    properties:
      attachment:
        $ref: '#/definitions/LogicalPortAttachmentState'
        description: |-
          Logical port attachment state
        readOnly: true
        title: |-
          Logical port attachment state
      discovered_bindings:
        description: |
          Contains the list of address bindings for a logical port that were
          automatically dicovered using various snooping methods like ARP, DHCP
          etc.
        items:
          $ref: '#/definitions/AddressBindingEntry'
        title: |-
          Logical port bindings discovered automatically
        type: array
      duplicate_bindings:
        description: |
          If any address binding discovered on the port is also found on
          other port on the same logical switch, then it is included in
          the duplicate bindings list along with the ID of the port with
          which it conflicts.
        items:
          $ref: '#/definitions/DuplicateAddressBindingEntry'
        title: |-
          Duplicate logical port address bindings
        type: array
      id:
        description: |-
          Id of the logical port
        title: |-
          Id of the logical port
        type: string
      realized_bindings:
        description: |
          List of logical port bindings that are realized. This list may be
          populated from the discovered bindings or manual user specified bindings.
          This binding configuration can be used by features such as firewall,
          spoof-guard, traceflow etc.
        items:
          $ref: '#/definitions/AddressBindingEntry'
        title: |-
          Realized logical port bindings
        type: array
      transport_node_ids:
        description: |-
          Identifiers of the transport node where the port is located
        items:
          type: string
        title: |-
          Identifiers of the transport node where the port is located
        type: array
    required:
    - id
    title: |-
      Realized state of the logical port.
    type: object
    x-vmw-nsx-module: LogicalPort
  LogicalPortStatistics:
    allOf:
    - $ref: '#/definitions/AggregatedDataCounterEx'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_port_id:
          description: |-
            The id of the logical port
          readOnly: true
          title: |-
            The id of the logical port
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalPort
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalPortStatusSummary:
    properties:
      filters:
        description: |-
          The filters used to find the logical ports- TransportZone id, LogicalSwitch id or LogicalSwitchProfile id
        items:
          $ref: '#/definitions/Filter'
        title: |-
          The filters used to find the logical ports- TransportZone id, LogicalSwitch id or LogicalSwitchProfile id
        type: array
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      total_ports:
        description: |-
          The total number of logical ports.
        format: int64
        title: |-
          The total number of logical ports.
        type: integer
      up_ports:
        description: |-
          The number of logical ports whose Operational status is UP
        format: int64
        title: |-
          The number of logical ports whose Operational status is UP
        type: integer
    required:
    - total_ports
    - up_ports
    type: object
    x-vmw-nsx-module: AggSvcLogicalPort
  LogicalRouter:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        advanced_config:
          $ref: '#/definitions/LogicalRouterConfig'
          description: |-
            Contains config properties for tier0 routers
          title: |-
            Logical Router Configuration
        allocation_profile:
          $ref: '#/definitions/EdgeClusterMemberAllocationProfile'
          description: |
            Configurations options to auto allocate edge cluster members for
            logical router. Auto allocation is supported only for TIER1 and pick
            least utilized member post current assignment for next allocation.
          title: |-
            Edge Cluster Member Allocation Profile
        edge_cluster_id:
          description: |-
            Used for tier0 routers
          title: |-
            Identifier of the edge cluster for this Logical Router
          type: string
        edge_cluster_member_indices:
          description: |
            For stateful services, the logical router should be associated with
            edge cluster. For TIER 1 logical router, for manual placement of
            service router within the cluster, edge cluster member indices needs
            to be provided else same will be auto-allocated. You can provide
            maximum two indices for HA ACTIVE_STANDBY. For TIER0 logical router
            this property is no use and placement is derived from logical router
            uplink or loopback port.
          items:
            format: int64
            type: integer
          title: |-
            Member indices of the edge node on the cluster
          type: array
        failover_mode:
          description: |
            Determines the behavior when a logical router instance restarts after
            a failure. If set to PREEMPTIVE, the preferred node will take over,
            even if it causes another failure. If set to NON_PREEMPTIVE, then the
            instance that restarted will remain secondary.
            This property must not be populated unless the high_availability_mode property
            is set to ACTIVE_STANDBY.
            If high_availability_mode property is set to ACTIVE_STANDBY and this property
            is not specified then default will be NON_PREEMPTIVE.
          enum:
          - PREEMPTIVE
          - NON_PREEMPTIVE
          title: |-
            Failover mode for active-standby logical router instances.
          type: string
        firewall_sections:
          description: |-
            List of Firewall sections related to Logical Router.
          items:
            $ref: '#/definitions/ResourceReference'
          readOnly: true
          title: |-
            LR Firewall Section References
          type: array
        high_availability_mode:
          description: |-
            High availability mode
          enum:
          - ACTIVE_ACTIVE
          - ACTIVE_STANDBY
          title: |-
            High availability mode
          type: string
        ipv6_profiles:
          $ref: '#/definitions/IPv6Profiles'
          description: |
            IPv6Profiles captures IPv6 NDRA Profile and DAD Profile
            id associated with the logical router.
          title: |-
            IPv6 Profiles
        preferred_edge_cluster_member_index:
          description: |
            Preferred edge cluster member index which is required
            for PREEMPTIVE failover mode. Used for Tier0 routers only.
          format: int64
          minimum: 0
          title: |-
            Preferred edge cluster member index
          type: integer
        router_type:
          description: |
            TIER0 for external connectivity.
            TIER1 for two tier topology with TIER0 on top.
            VRF for isolation of routing table on TIER0.
          enum:
          - TIER0
          - TIER1
          - VRF
          title: |-
            Type of Logical Router
          type: string
      required:
      - router_type
      type: object
      x-vmw-nsx-module: LogicalRouter
    x-vmw-nsx-module: LogicalRouter
  LogicalRouterCentralizedServicePort:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        enable_netx:
          default: false
          description: |-
            Port is exclusively used for N-S service insertion
          title: |-
            Port is exclusively used for N-S service insertion
          type: boolean
        linked_logical_switch_port_id:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference to the logical switch port to connect to
          title: |-
            Reference to the logical switch port to connect to
        mtu:
          description: |
            Maximum transmission unit specifies the size of the largest packet that
            a network protocol can transmit. If not specified, the global logical
            MTU set in the /api/v1/global-configs/RoutingGlobalConfig API will be
            used.
          format: int64
          minimum: 64
          title: |-
            Maximum transmission unit (MTU)
          type: integer
        ndra_profile_id:
          description: |
            Identifier of Neighbor Discovery Router Advertisement profile
            associated with port. When NDRA profile id is associated at
            both the port level and logical router level, the profile id
            specified at port level takes the precedence.
          title: |-
            Identifier for NDRA profile on the port
          type: string
        subnets:
          description: |-
            Logical router port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          minItems: 1
          title: |-
            Logical router port subnets
          type: array
        urpf_mode:
          default: STRICT
          description: |-
            Unicast Reverse Path Forwarding mode
          enum:
          - NONE
          - STRICT
          type: string
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    description: |
      This port can be configured on both TIER0 and TIER1 logical router.
      Port can be connected to VLAN or overlay logical switch.
      Unlike downlink port it does not participate in distributed routing and
      hosted on all edge cluster members associated with logical router.
      Stateful services can be applied on this port.
    title: |-
      Port to connect VLAN based network or overlay logical switch
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterConfig:
    description: |-
      Logical router configuration parameters.
    properties:
      external_transit_networks:
        description: |
          CIDR block defining addresses for Tier0 to Tier1 links.
          If the value for this field is not provided, then it will be
          considered as default IPv4 CIDR "100.64.0.0/16"
        items:
          description: |-
            IPv4 or IPv6 CIDR Block
          format: ip-cidr-block
          type: string
        title: |-
          CIDR block defining Tier0 to Tier1 links
        type: array
      ha_vip_configs:
        description: |-
          This configuration can be defined only for Active-Standby LogicalRouter to provide | redundancy. For mulitple uplink ports, multiple HaVipConfigs must be defined | and each config will pair exactly two uplink ports. The VIP will move and will | always be owned by the Active node. Note - when HaVipConfig[s] are defined, | configuring dynamic-routing is disallowed.
        items:
          $ref: '#/definitions/HaVipConfig'
        title: |-
          Array of HA VIP Config.
        type: array
      internal_transit_network:
        description: |
          CIDR block defining service router to distributed router links.
          If the value for this field is not provided, then it will be
          considered as default IPv4 CIDR-
          "169.254.0.0/28" for logical router with ACTIVE_STANDBY HA mode
          "169.254.0.0/24" for logical router with ACTIVE_ACTIVE HA mode
        format: ipv4-cidr-block
        type: string
      transport_zone_id:
        description: |-
          Transport zone of the logical router. If specified then all downlink switches should belong to this transport zone and an error will be thrown if transport zone of the downlink switch doesn't match with this transport zone. All internal and external transit switches will be created in this transport zone.
        title: |-
          Transport Zone Identifier
        type: string
    title: |-
      Logical router config
    type: object
    x-vmw-nsx-module: LogicalRouter
  LogicalRouterDownLinkPort:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        enable_multicast:
          description: |
            If this flag is set to true - it will enable multicast on the
            downlink interface. If this flag is set to false - it will disable
            multicast on the downlink interface. This is supported only on
            Tier0 downlinks. Default value for Tier0 downlink will be true.
          title: |-
            Flag to enable/disable Multicast
          type: boolean
        linked_logical_switch_port_id:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference to the logical switch port to connect to
          title: |-
            Reference to the logical switch port to connect to
        mac_address:
          description: |-
            MAC address
          readOnly: true
          title: |-
            MAC address
          type: string
        ndra_prefix_config:
          description: |
            Configuration to override the neighbor discovery router advertisement
            prefix time parameters at the subnet level. Note that users are allowed
            to override the prefix time only for IPv6 subnets which are configured
            on the port.
          items:
            $ref: '#/definitions/NDRAPrefixConfig'
          type: array
        ndra_profile_id:
          description: |
            Identifier of Neighbor Discovery Router Advertisement profile
            associated with port. When NDRA profile id is associated at
            both the port level and logical router level, the profile id
            specified at port level takes the precedence.
          title: |-
            Identifier for NDRA profile on the port
          type: string
        routing_policies:
          description: |
            Routing policies used to specify how the traffic, which matches the
            policy routes, will be processed.
          items:
            $ref: '#/definitions/RoutingPolicy'
          maxItems: 1
          title: |-
            Routing policies
          type: array
        subnets:
          description: |-
            Logical router port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          minItems: 1
          title: |-
            Logical router port subnets
          type: array
        urpf_mode:
          default: STRICT
          description: |-
            Unicast Reverse Path Forwarding mode
          enum:
          - NONE
          - STRICT
          type: string
      required:
      - subnets
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterIPTunnelPort:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        admin_state:
          description: |-
            Admin state of port.
          enum:
          - UP
          - DOWN
          readOnly: true
          title: |-
            Admin state of port
          type: string
        subnets:
          description: |-
            Tunnel port subnets.
          items:
            $ref: '#/definitions/IPSubnet'
          maxItems: 1
          minItems: 1
          readOnly: true
          title: |-
            Tunnel port subnets
          type: array
        vpn_session_id:
          description: |-
            Associated VPN session identifier.
          readOnly: true
          title: |-
            VPN session identifier
          type: string
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    description: |-
      Logical router IP tunnel port.
    title: |-
      Logical router IP tunnel port
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterLinkPortOnTIER0:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        linked_logical_router_port_id:
          description: |-
            Identifier of connected LogicalRouterLinkPortOnTIER1 of TIER1 logical router
          readOnly: true
          title: |-
            Identifier of connected LogicalRouterLinkPortOnTIER1
          type: string
        mac_address:
          description: |-
            MAC address
          readOnly: true
          title: |-
            MAC address
          type: string
        subnets:
          description: |-
            Logical router port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          readOnly: true
          title: |-
            Logical router port subnets
          type: array
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    description: |
      This port can be configured only on a TIER0 LogicalRouter.
      Create an empty port to generate an id.
      Use this id in the linked_logical_router_port_id on
      LogicalRouterLinkPortOnTIER1 on TIER1 logical router.
    title: |-
      Port to connect the LogicalRouterLinkPortOnTIER1 of TIER1 logical router to
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterLinkPortOnTIER1:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        edge_cluster_member_index:
          description: |
            Please use logical router API to pass edge cluster members indexes manually.
          items:
            format: int64
            type: integer
          title: |-
            Member index of the edge node on the cluster
          type: array
          x-deprecated: true
        linked_logical_router_port_id:
          $ref: '#/definitions/ResourceReference'
          description: |
            Reference of LogicalRouterLinkPortOnTIER0 of TIER0 logical router to connect this TIER1 logical router outwards.
          title: |-
            Reference of TIER0 port to connect the TIER1 to.
        mac_address:
          description: |-
            MAC address
          readOnly: true
          title: |-
            MAC address
          type: string
        subnets:
          description: |-
            Logical router port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          readOnly: true
          title: |-
            Logical router port subnets
          type: array
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    description: |
      This port can be configured only on a TIER1 LogicalRouter.
      Use the id of the LogicalRouterLinkPortOnTIER0 from TIER0 logical router to set
      the linked_logical_router_port_id on the port on TIER1 logical router.
    title: |-
      Port to connect the TIER1 logical router to TIER0 logical router
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Logical router list results
          items:
            $ref: '#/definitions/LogicalRouter'
          title: |-
            Logical router list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LogicalRouter
    x-vmw-nsx-module: LogicalRouter
  LogicalRouterLoopbackPort:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        edge_cluster_member_index:
          description: |-
            Member index of the edge node on the cluster
          items:
            format: int64
            type: integer
          title: |-
            Member index of the edge node on the cluster
          type: array
        subnets:
          description: |-
            Loopback port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          minItems: 1
          title: |-
            Loopback port subnets
          type: array
      required:
      - subnets
      - edge_cluster_member_index
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterPort:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        logical_router_id:
          description: |-
            Identifier for logical router on which this port is created
          title: |-
            Identifier for logical router on which this port is created
          type: string
        resource_type:
          description: |
            LogicalRouterUpLinkPort is allowed only on TIER0 logical router.
              It is the north facing port of the logical router.
            LogicalRouterLinkPortOnTIER0 is allowed only on TIER0 logical router.
              This is the port where the LogicalRouterLinkPortOnTIER1 of TIER1 logical router connects to.
            LogicalRouterLinkPortOnTIER1 is allowed only on TIER1 logical router.
              This is the port using which the user connected to TIER1 logical router for upwards connectivity via TIER0 logical router.
              Connect this port to the LogicalRouterLinkPortOnTIER0 of the TIER0 logical router.
            LogicalRouterDownLinkPort is for the connected subnets on the logical router.
            LogicalRouterLoopbackPort is a loopback port for logical router component
              which is placed on chosen edge cluster member.
            LogicalRouterIPTunnelPort is a IPSec VPN tunnel port created on
              logical router when route based VPN session configured.
            LogicalRouterCentralizedServicePort is allowed only on Active/Standby TIER0 and TIER1
              logical router. Port can be connected to VLAN or overlay logical switch.
              Unlike downlink port it does not participate in distributed routing and hosted
              on all edge cluster members associated with logical router.
              Stateful services can be applied on this port.
          enum:
          - LogicalRouterUpLinkPort
          - LogicalRouterDownLinkPort
          - LogicalRouterLinkPortOnTIER0
          - LogicalRouterLinkPortOnTIER1
          - LogicalRouterLoopbackPort
          - LogicalRouterIPTunnelPort
          - LogicalRouterCentralizedServicePort
          type: string
        service_bindings:
          description: |-
            Service Bindings
          items:
            $ref: '#/definitions/ServiceBinding'
          title: |-
            Service Bindings
          type: array
      required:
      - logical_router_id
      - resource_type
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterPortArpCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        ip:
          description: |-
            The IP address
          format: ip
          type: string
        mac_address:
          description: |-
            The MAC address
          title: |-
            The MAC address
          type: string
      required:
      - ip
      - mac_address
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouterPort
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortArpEntry:
    properties:
      ip:
        description: |-
          The IP address
        format: ip
        type: string
      mac_address:
        description: |-
          The MAC address
        title: |-
          The MAC address
        type: string
    required:
    - ip
    - mac_address
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortArpTable:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_router_port_id:
          description: |-
            The ID of the logical router port
          title: |-
            The ID of the logical router port
          type: string
        results:
          items:
            $ref: '#/definitions/LogicalRouterPortArpEntry'
          type: array
      required:
      - logical_router_port_id
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouterPort
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortArpTableInCsvFormat:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/LogicalRouterPortArpCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouterPort
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortCounters:
    properties:
      blocked_packets:
        description: |-
          The total number of packets blocked.
        format: int64
        title: |-
          The number of blocked packets
        type: integer
      dad_dropped_packets:
        description: |-
          Number of duplicate address detected packets dropped.
        format: int64
        title: |-
          The number of duplicate address detected packets dropped
        type: integer
      destination_unsupported_dropped_packets:
        description: |-
          Number of packtes dropped as destination is not supported.
        format: int64
        title: |-
          The number of destination unsupported packets dropped
        type: integer
      dropped_packets:
        description: |-
          The total number of packets dropped.
        format: int64
        title: |-
          The number of dropped packets
        type: integer
      firewall_dropped_packets:
        description: |-
          Number of firewall packets dropped.
        format: int64
        title: |-
          The number of firewall packets dropped
        type: integer
      frag_needed_dropped_packets:
        description: |-
          Number of fragmentation needed packets dropped.
        format: int64
        title: |-
          The number of fragmentation needed packets dropped
        type: integer
      ipsec_dropped_packets:
        description: |-
          Number of IPSec packets dropped
        format: int64
        title: |-
          The number of IPSec packets dropped
        type: integer
      ipsec_no_sa_dropped_packets:
        description: |-
          Number of IPSec no security association packets dropped.
        format: int64
        title: |-
          The number of IPSec no security association packets dropped
        type: integer
      ipsec_no_vti_dropped_packets:
        description: |-
          Number of IPSec packets dropped as no VTI is present.
        format: int64
        title: |-
          The number of IPSec no VTI packets dropped
        type: integer
      ipsec_pol_block_dropped_packets:
        description: |-
          Number of IPSec policy block packets dropped.
        format: int64
        title: |-
          The number of IPSec policy block packets dropped
        type: integer
      ipsec_pol_err_dropped_packets:
        description: |-
          Number of IPSec policy error packets dropped.
        format: int64
        title: |-
          The number of IPSec policy error packets dropped
        type: integer
      ipv6_dropped_packets:
        description: |-
          Number of IPV6 packets dropped.
        format: int64
        title: |-
          The number of IPV6 packets dropped
        type: integer
      kni_dropped_packets:
        description: |-
          Number of DPDK kernal NIC interface packets dropped.
        format: int64
        title: |-
          The number of kernal NIC interface packets dropped
        type: integer
      l4port_unsupported_dropped_packets:
        description: |-
          Number of packets dropped due to unsupported L4 port.
        format: int64
        title: |-
          The number of L4 port unsupported packets dropped
        type: integer
      malformed_dropped_packets:
        description: |-
          Number of packtes dropped as they are malformed.
        format: int64
        title: |-
          The number of malformed packets dropped
        type: integer
      no_arp_dropped_packets:
        description: |-
          Number of no ARP packets dropped.
        format: int64
        title: |-
          The number of no ARP packets dropped
        type: integer
      no_linked_dropped_packets:
        description: |-
          Number of packets dropped as no linked ports are present.
        format: int64
        title: |-
          The number of no linked packets dropped
        type: integer
      no_mem_dropped_packets:
        description: |-
          Number of packets dropped due to insufficient memory.
        format: int64
        title: |-
          The number of no memory packets dropped
        type: integer
      no_receiver_dropped_packets:
        description: |-
          Number of packets dropped due to absence of receiver.
        format: int64
        title: |-
          The number of no receiver packets dropped
        type: integer
      no_route_dropped_packets:
        description: |-
          The number of no route packets dropped
        format: int64
        title: |-
          The number of no route packets dropped
        type: integer
      non_ip_dropped_packets:
        description: |-
          Number of non IP packets dropped.
        format: int64
        title: |-
          The number of non IP packets dropped
        type: integer
      proto_unsupported_dropped_packets:
        description: |-
          Number of packets dropped as protocol is unsupported.
        format: int64
        title: |-
          The number of protocol unsupported packets dropped
        type: integer
      redirect_dropped_packets:
        description: |-
          Number of redirect packets dropped.
        format: int64
        title: |-
          The number of redirect packets dropped
        type: integer
      rpf_check_dropped_packets:
        description: |-
          Number of reverse-path forwarding check packets dropped.
        format: int64
        title: |-
          The number of reverse-path forwarding check packets dropped
        type: integer
      service_insert_dropped_packets:
        description: |-
          Number of service insert packets dropped.
        format: int64
        title: |-
          The number of service insert packets dropped
        type: integer
      total_bytes:
        description: |-
          The total number of bytes transferred.
        format: int64
        title: |-
          The total number of bytes
        type: integer
      total_packets:
        description: |-
          The total number of packets transferred.
        format: int64
        title: |-
          The total number of packets
        type: integer
      ttl_exceeded_dropped_packets:
        description: |-
          Number of time to live exceeded packets dropped.
        format: int64
        title: |-
          The number of time to live exceeded packets dropped
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Logical router port list results
          items:
            $ref: '#/definitions/LogicalRouterPort'
          title: |-
            Logical router port list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterPortState:
    allOf:
    - $ref: '#/definitions/EdgeConfigurationState'
    - properties:
        ipv6_dad_statuses:
          description: |
            Array of DAD status which contains DAD information for IP addresses
            on the port.
          items:
            $ref: '#/definitions/IPv6DADStatus'
          readOnly: true
          title: |-
            DAD Status
          type: array
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    description: |
      This holds the state of Logical Router Port. If there are errors
      in realizing LRP outside of MP, it gives details of the components and
      specific errors.
    title: |-
      Realization State of Logical Router Port.
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalRouterPortStatistics:
    properties:
      logical_router_port_id:
        description: |-
          The ID of the logical router port
        title: |-
          The ID of the logical router port
        type: string
      per_node_statistics:
        additionalProperties: false
        description: |-
          Per Node Statistics
        items:
          $ref: '#/definitions/LogicalRouterPortStatisticsPerNode'
        readOnly: true
        title: |-
          Per Node Statistics
        type: array
    required:
    - logical_router_port_id
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortStatisticsPerNode:
    allOf:
    - $ref: '#/definitions/AggregatedLogicalRouterPortCounters'
    - properties:
        transport_node_id:
          description: |-
            The ID of the TransportNode
          readOnly: true
          title: |-
            The ID of the TransportNode
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouterPort
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterPortStatisticsSummary:
    allOf:
    - $ref: '#/definitions/AggregatedLogicalRouterPortCounters'
    - properties:
        logical_router_port_id:
          description: |-
            The ID of the logical router port
          title: |-
            The ID of the logical router port
          type: string
      required:
      - logical_router_port_id
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouterPort
    x-vmw-nsx-module: AggSvcLogicalRouterPort
  LogicalRouterRouteCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        admin_distance:
          description: |-
            The admin distance of the next hop
          format: int64
          title: |-
            The admin distance of the next hop
          type: integer
        logical_router_port_id:
          description: |-
            The id of the logical router port which is used as the next hop
          title: |-
            The id of the logical router port which is used as the next hop
          type: string
        lr_component_id:
          description: |-
            Logical router component(Service Router/Distributed Router) id
          title: |-
            Logical router component(Service Router/Distributed Router) id
          type: string
        lr_component_type:
          description: |-
            Logical router component(Service Router/Distributed Router) type
          title: |-
            Logical router component(Service Router/Distributed Router) type
          type: string
        network:
          description: |-
            CIDR network address
          format: ip-cidr-block
          type: string
        next_hop:
          description: |-
            The IP of the next hop
          format: ip
          type: string
        route_type:
          description: |-
            Route type (USER, CONNECTED, NSX_INTERNAL,..)
          title: |-
            Route type (USER, CONNECTED, NSX_INTERNAL,..)
          type: string
      required:
      - route_type
      - network
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterRouteEntry:
    properties:
      admin_distance:
        description: |-
          The admin distance of the next hop
        format: int64
        title: |-
          The admin distance of the next hop
        type: integer
      logical_router_port_id:
        description: |-
          The id of the logical router port which is used as the next hop
        title: |-
          The id of the logical router port which is used as the next hop
        type: string
      lr_component_id:
        description: |-
          Logical router component(Service Router/Distributed Router) id
        title: |-
          Logical router component(Service Router/Distributed Router) id
        type: string
      lr_component_type:
        description: |-
          Logical router component(Service Router/Distributed Router) type
        title: |-
          Logical router component(Service Router/Distributed Router) type
        type: string
      network:
        description: |-
          CIDR network address
        format: ip-cidr-block
        type: string
      next_hop:
        description: |-
          The IP address of the next hop
        format: ip
        type: string
      route_type:
        description: |-
          Route type (USER, CONNECTED, NSX_INTERNAL,..)
        title: |-
          Route type (USER, CONNECTED, NSX_INTERNAL,..)
        type: string
    required:
    - route_type
    - network
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterRouteTable:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_router_id:
          description: |-
            The id of the logical router
          title: |-
            The id of the logical router
          type: string
        logical_router_name:
          description: |-
            Name of the logical router
          readOnly: true
          title: |-
            Name of the logical router
          type: string
        results:
          items:
            $ref: '#/definitions/LogicalRouterRouteEntry'
          type: array
      required:
      - logical_router_id
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterRouteTableInCsvFormat:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/LogicalRouterRouteCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterState:
    allOf:
    - $ref: '#/definitions/EdgeConfigurationState'
    - type: object
      x-vmw-nsx-module: LogicalRouter
    description: |-
      This holds the state of Logical Router. If there are errors in realizing LR outside of MP, it gives details of the components and specific errors.
    title: |-
      Realization State of Logical Router.
    x-vmw-nsx-module: LogicalRouter
  LogicalRouterStatus:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      locale_operation_mode:
        description: |
          Egress mode for the logical router at given mode
        enum:
        - PRIMARY_LOCATION
        - SECONDARY_LOCATION
        readOnly: true
        title: |-
          Location mode for logical router
        type: string
      logical_router_id:
        description: |-
          The id of the logical router
        title: |-
          The id of the logical router
        type: string
      per_node_status:
        description: |-
          Per Node Status
        items:
          $ref: '#/definitions/LogicalRouterStatusPerNode'
        readOnly: true
        title: |-
          Per Node Status
        type: array
    required:
    - logical_router_id
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterStatusPerNode:
    properties:
      high_availability_status:
        description: |-
          A service router's HA status on an edge node
        enum:
        - ACTIVE
        - STANDBY
        - DOWN
        - SYNC
        - UNKNOWN
        - ADMIN_DOWN
        title: |-
          A service router's HA status on an edge node
        type: string
      service_router_id:
        description: |-
          id of the service router where the router status is retrieved.
        title: |-
          id of the service router where the router status is retrieved.
        type: string
      transport_node_id:
        description: |-
          id of the transport node where the router status is retrieved.
        title: |-
          id of the transport node where the router status is retrieved.
        type: string
    required:
    - high_availability_status
    - transport_node_id
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  LogicalRouterUpLinkPort:
    allOf:
    - $ref: '#/definitions/LogicalRouterPort'
    - properties:
        edge_cluster_member_index:
          description: |-
            Member index of the edge node on the cluster
          items:
            format: int64
            type: integer
          title: |-
            Member index of the edge node on the cluster
          type: array
        igmp_config:
          $ref: '#/definitions/InterfaceIgmpLocalGroupConfig'
          description: |
            Interface IGMP[Internet Group Management Protocol] local group config parameters.
          title: |-
            IGMP local group configuration parameters
        linked_logical_switch_port_id:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference to the logical switch port to connect to
          title: |-
            Reference to the logical switch port to connect to
        mac_address:
          description: |-
            MAC address
          readOnly: true
          title: |-
            MAC address
          type: string
        mtu:
          description: |
            Maximum transmission unit specifies the size of the largest packet that
            a network protocol can transmit. If not specified, the global logical
            MTU set in the /api/v1/global-configs/RoutingGlobalConfig API will be
            used.
          format: int64
          minimum: 64
          title: |-
            Maximum transmission unit (MTU)
          type: integer
        ndra_prefix_config:
          description: |
            Configuration to override the neighbor discovery router advertisement
            prefix time parameters at the subnet level. Note that users are allowed
            to override the prefix time only for IPv6 subnets which are configured
            on the port.
          items:
            $ref: '#/definitions/NDRAPrefixConfig'
          type: array
        ndra_profile_id:
          description: |
            Identifier of Neighbor Discovery Router Advertisement profile
            associated with port. When NDRA profile id is associated at
            both the port level and logical router level, the profile id
            specified at port level takes the precedence.
          title: |-
            Identifier for NDRA profile on the port
          type: string
        pim_config:
          $ref: '#/definitions/InterfacePimConfig'
          description: |
            PIM[Protocol Independent Multicast] configuration parameters.
          title: |-
            PIM configuration parameters
        subnets:
          description: |-
            Logical router port subnets
          items:
            $ref: '#/definitions/IPSubnet'
          minItems: 1
          title: |-
            Logical router port subnets
          type: array
        urpf_mode:
          default: STRICT
          description: |-
            Unicast Reverse Path Forwarding mode
          enum:
          - NONE
          - STRICT
          type: string
      required:
      - subnets
      - edge_cluster_member_index
      type: object
      x-vmw-nsx-module: LogicalRouterPorts
    x-vmw-nsx-module: LogicalRouterPorts
  LogicalServiceRouterClusterState:
    allOf:
    - $ref: '#/definitions/EdgeConfigurationState'
    - type: object
      x-vmw-nsx-module: LogicalRouter
    description: |
      This holds the state of Service Router. If there are errors in
      realizing SR outside of MP, it gives details of the components and
      specific errors.
    title: |-
      Realization State of Service Router.
    x-vmw-nsx-module: LogicalRouter
  LogicalSwitch:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        address_bindings:
          description: |-
            Address bindings for the Logical switch
          items:
            $ref: '#/definitions/PacketAddressClassifier'
          maxItems: 100
          minItems: 0
          title: |-
            Address bindings for the Logical switch
          type: array
          x-deprecated: true
        admin_state:
          description: |-
            Represents Desired state of the Logical Switch
          enum:
          - UP
          - DOWN
          title: |-
            Represents Desired state of the Logical Switch
          type: string
        extra_configs:
          description: |
            This property could be used for vendor specific configuration in key value
            string pairs, the setting in extra_configs will be automatically inheritted
            by logical ports in the logical switch.
          items:
            $ref: '#/definitions/ExtraConfig'
          title: |-
            Extra configs on logical switch
          type: array
        global_vni:
          description: |-
            The VNI is used for intersite traffic and the global logical switch ID. The global VNI pool is agnostic of the local VNI pool, and there is no need to have an exclusive VNI range. For example, VNI x can be the global VNI for logical switch B and the local VNI for logical switch A.
          format: int32
          title: |-
            VNI allocated by the global manager
          type: integer
        hybrid:
          default: false
          description: |
            If this flag is set to true, then all the logical switch ports attached to
            this logical switch will behave in a hybrid fashion. The hybrid logical switch port
            indicates to NSX that the VM intends to operate in underlay mode,
            but retains the ability to forward egress traffic to the NSX overlay network.
            This flag can be enabled only for the logical switches in the overlay type transport zone which has
            host switch mode as STANDARD and also has either CrossCloud or CloudScope tag scopes.
            Only the NSX public cloud gateway (PCG) uses this flag, other host agents like ESX, KVM and Edge
            will ignore it. This property cannot be modified once the logical switch is created.
          title: |-
            Flag to identify a hybrid logical switch
          type: boolean
        ip_pool_id:
          description: |-
            IP pool id that associated with a LogicalSwitch.
          title: |-
            Allocation ip pool associated with the Logical switch
          type: string
        mac_pool_id:
          description: |-
            Mac pool id that associated with a LogicalSwitch.
          title: |-
            Allocation mac pool associated with the Logical switch
          type: string
        replication_mode:
          description: |-
            Replication mode of the Logical Switch
          enum:
          - MTEP
          - SOURCE
          title: |-
            Replication mode of the Logical Switch
          type: string
        span:
          description: |-
            Each manager ID represents the NSX Local Manager the logical switch connects. This will be populated by the manager.
          items:
            type: string
          maxItems: 16
          minItems: 0
          title: |-
            List of Local Manager IDs the logical switch extends
          type: array
        switch_type:
          description: |
            This field indicates purpose of a LogicalSwitch. It is set by manager internally
            or user can provide this field. If not set, DEFAULT type is assigned.
            NSX components can use this field to create LogicalSwitch that provides component
            specific functionality.
            DEFAULT type LogicalSwitches are created for basic L2 connectivity by API users.
            SERVICE_PLANE type LogicalSwitches are system created service plane LogicalSwitches for
            Service Insertion service. User can not create SERVICE_PLANE type of LogicalSwitch.
            DHCP_RELAY type LogicalSwitches are created by external user like Policy with special
            permissions or by system and will be treated as internal LogicalSwitches. Such
            LogicalSwitch will not be exposed to vSphere user.
            GLOBAL type LogicalSwitches are created to span multiple NSX domains to connect multiple
            remote sites.
            INTER_ROUTER type LogicalSwitches are policy-created LogicalSwitches which
            provide inter-router connectivity
          enum:
          - DEFAULT
          - SERVICE_PLANE
          - DHCP_RELAY
          - GLOBAL
          - INTER_ROUTER
          - EVPN
          title: |-
            Type of LogicalSwitch.
          type: string
        switching_profile_ids:
          items:
            $ref: '#/definitions/SwitchingProfileTypeIdEntry'
          type: array
        transport_zone_id:
          description: |-
            Id of the TransportZone to which this LogicalSwitch is associated
          title: |-
            Id of the TransportZone to which this LogicalSwitch is associated
          type: string
        uplink_teaming_policy_name:
          description: |-
            This name has to be one of the switching uplink teaming policy names listed inside the logical switch's TransportZone. If this field is not specified, the logical switch will not have a teaming policy associated with it and the host switch's default teaming policy will be used.
          title: |-
            The name of the switching uplink teaming policy for the logical switch
          type: string
        vlan:
          description: |
            This property is dedicated to VLAN based network, to set VLAN of logical
            network. It is mutually exclusive with 'vlan_trunk_spec'.
          format: int64
          type: integer
        vlan_trunk_spec:
          $ref: '#/definitions/VlanTrunkSpec'
          description: |
            This property is used for VLAN trunk specification of logical switch.
            It's mutually exclusive with 'vlan'. Also it could be set to do guest VLAN
            tagging in overlay network.
          title: |-
            VLAN trunk spec of logical switch
        vni:
          description: |
            Only for OVERLAY network. A VNI will be auto-allocated from the
            default VNI pool if not given; otherwise the given VNI has to be
            inside the default pool and not used by any other LogicalSwitch.
          format: int32
          title: |-
            VNI for this LogicalSwitch.
          type: integer
      required:
      - transport_zone_id
      - admin_state
      type: object
      x-vmw-nsx-module: LogicalSwitch
    x-vmw-nsx-module: LogicalSwitch
  LogicalSwitchListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Logical Switch Results
          items:
            $ref: '#/definitions/LogicalSwitch'
          readOnly: true
          title: |-
            Logical Switch Results
          type: array
      type: object
      x-vmw-nsx-module: LogicalSwitch
    description: |-
      Logical Switch queries result
    title: |-
      Logical Switch queries result
    x-vmw-nsx-module: LogicalSwitch
  LogicalSwitchMirrorSource:
    allOf:
    - $ref: '#/definitions/MirrorSource'
    - properties:
        switch_id:
          description: |
            Please note as logical port attached with vmk interface is unsupported
            as mirror source, traffic from those ports on source logical switch will
            not be mirrored.
          title: |-
            Source logical switch identifier
          type: string
      required:
      - switch_id
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  LogicalSwitchState:
    allOf:
    - $ref: '#/definitions/ConfigurationState'
    - properties:
        logical_switch_id:
          description: |-
            Id of the logical switch
          readOnly: true
          title: |-
            Id of the logical switch
          type: string
      type: object
      x-vmw-nsx-module: LogicalSwitch
    x-vmw-nsx-module: LogicalSwitch
  LogicalSwitchStateListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Logical Switch State Results
          items:
            $ref: '#/definitions/LogicalSwitchState'
          readOnly: true
          title: |-
            Logical Switch State Results
          type: array
      type: object
      x-vmw-nsx-module: LogicalSwitch
    description: |-
      Logical Switch state queries result
    title: |-
      Logical Switch state queries result
    x-vmw-nsx-module: LogicalSwitch
  LogicalSwitchStatistics:
    allOf:
    - $ref: '#/definitions/AggregatedDataCounterEx'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_switch_id:
          description: |-
            The id of the logical Switch
          readOnly: true
          title: |-
            The id of the logical Switch
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  LogicalSwitchStatus:
    properties:
      logical_switch_id:
        description: |-
          Unique ID identifying the the Logical Switch
        readOnly: true
        title: |-
          Unique ID identifying the the Logical Switch
        type: string
      num_logical_ports:
        description: |-
          Count of Logical Ports belonging to this switch
        format: int32
        readOnly: true
        title: |-
          Count of Logical Ports belonging to this switch
        type: integer
    type: object
    x-vmw-nsx-module: LogicalSwitch
  LogicalSwitchStatusSummary:
    properties:
      filters:
        description: |-
          The filters used to find the logical switches- TransportZone id, LogicalSwitchProfile id or TransportType
        items:
          $ref: '#/definitions/Filter'
        title: |-
          The filters used to find the logical switches- TransportZone id, LogicalSwitchProfile id or TransportType
        type: array
      fully_realized_switches:
        description: |-
          The number of logical switches that are realized in all transport nodes.
        format: int64
        title: |-
          The number of logical switches that are realized in all transport nodes.
        type: integer
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      total_switches:
        description: |-
          The total number of logical switches.
        format: int64
        title: |-
          The total number of logical switches.
        type: integer
    required:
    - total_switches
    - fully_realized_switches
    type: object
    x-vmw-nsx-module: AggSvcLogicalSwitch
  LoginCredential:
    description: |-
      Base type for various login credential types
    discriminator: credential_type
    properties:
      credential_type:
        description: |-
          Possible values are 'UsernamePasswordLoginCredential', 'VerifiableAsymmetricLoginCredential', 'SessionLoginCredential'.
        title: |-
          Login credential, for example username-password-thumbprint, certificate or session based, etc
        type: string
    required:
    - credential_type
    title: |-
      Base type for various login credential types
    type: object
    x-vmw-nsx-module: Types
  MACAddressElement:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        mac_address:
          description: |
            A MAC address. Must be 6 pairs of hexadecimal digits, upper or lower case,
            separated by colons or dashes. Examples: 01:23:45:67:89:ab, 01-23-45-67-89-AB.
          format: mac-address
          type: string
      required:
      - mac_address
      type: object
      x-vmw-nsx-module: MACSet
    description: |-
      MAC Address
    title: |-
      MAC Address
    x-vmw-nsx-module: MACSet
  MACAddressElementListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            MAC address element list
          items:
            $ref: '#/definitions/MACAddressElement'
          title: |-
            MAC address element list
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MACSet
    description: |-
      Collection of MAC address elements
    title: |-
      Collection of MAC address elements
    x-vmw-nsx-module: MACSet
  MACSet:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        mac_addresses:
          description: |-
            MAC addresses
          items:
            description: |
              A MAC address. Must be 6 pairs of hexadecimal digits, upper or lower case,
              separated by colons or dashes. Examples: 01:23:45:67:89:ab, 01-23-45-67-89-AB.
            format: mac-address
            type: string
          maxItems: 4000
          title: |-
            MAC addresses
          type: array
      type: object
      x-vmw-nsx-module: MACSet
    description: |
      MACSet is used to group individual MAC addresses. MACSets can be used as
      sources and destinations in layer2 firewall rules. These can also be used as
      members of NSGroups.
    title: |-
      Set of one or more MAC addresses
    x-vmw-nsx-module: MACSet
  MACSetListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of MACSets
          items:
            $ref: '#/definitions/MACSet'
          title: |-
            Paged collection of MACSets
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MACSet
    x-vmw-nsx-module: MACSet
  MPAConfigProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        AccountName:
          description: |-
            The account name to use when authenticating to the management plane's message bus.
          readOnly: false
        RmqBrokerCluster:
          description: |-
            The list of messaging brokers this controller is configured with.
          items:
            $ref: '#/definitions/BrokerProperties'
          type: array
        RmqClientType:
          description: |-
            The nodes client type.
        SharedSecret:
          description: |-
            The shared secret to use when autnenticating to the management plane's message bus. Not returned in REST responses.
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Information about the management plane this node is communciating with
    title: |-
      Information about the management plane this node is communciating with
    x-vmw-nsx-module: MISSING_MODULE
  MacAddressCsvListResult:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/MacTableCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  MacAddressListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_switch_id:
          description: |-
            The id of the logical Switch
          readOnly: true
          title: |-
            The id of the logical Switch
          type: string
        results:
          items:
            $ref: '#/definitions/MacTableEntry'
          type: array
        transport_node_id:
          description: |-
            Transport node identifier
          readOnly: true
          title: |-
            Transport node identifier
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  MacLearningCounters:
    properties:
      mac_not_learned_packets_allowed:
        description: |-
          The number of packets with unknown source MAC address that are dispatched without learning the source MAC address. Applicable only when the MAC limit is reached and MAC Limit policy is MAC_LEARNING_LIMIT_POLICY_ALLOW.
        format: int64
        title: |-
          Number of dispatched packets with unknown source MAC address.
        type: integer
      mac_not_learned_packets_dropped:
        description: |-
          The number of packets with unknown source MAC address that are dropped without learning the source MAC address. Applicable only when the MAC limit is reached and MAC Limit policy is MAC_LEARNING_LIMIT_POLICY_DROP.
        format: int64
        title: |-
          Number of dropped packets with unknown source MAC address.
        type: integer
      macs_learned:
        description: |-
          Number of MACs learned
        format: int64
        title: |-
          Number of MACs learned
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  MacLearningSpec:
    description: |-
      MAC learning configuration
    properties:
      aging_time:
        default: 600
        description: |-
          Aging time in sec for learned MAC address
        format: int32
        readOnly: true
        title: |-
          Aging time in sec for learned MAC address
        type: integer
      enabled:
        description: |-
          Allowing source MAC address learning
        readOnly: false
        title: |-
          Allowing source MAC address learning
        type: boolean
      limit:
        default: 4096
        description: |
          This property specifies the limit on the maximum number of MAC
          addresses that can be learned on a port. It is consumed by vswitch
          kernel module on the hypervisor while learning MACs per port for
          VMs that are local to the host.
        format: int32
        maximum: 4096
        minimum: 0
        readOnly: false
        title: |-
          The maximum number of MAC addresses that can be learned on this port
        type: integer
      limit_policy:
        default: ALLOW
        description: |-
          The policy after MAC Limit is exceeded
        enum:
        - ALLOW
        - DROP
        readOnly: false
        title: |-
          The policy after MAC Limit is exceeded
        type: string
      remote_overlay_mac_limit:
        default: 2048
        description: |
          This property specifies the limit on the maximum number of MACs
          learned for a remote Virtual Machine's MAC to vtep binding per
          overlay logical switch.
        format: int32
        maximum: 8192
        minimum: 2048
        readOnly: false
        title: |-
          The maximum number of MAC addresses learned on an overlay Logical Switch
        type: integer
      unicast_flooding_allowed:
        default: true
        description: |-
          Allowing flooding for unlearned MAC for ingress traffic
        readOnly: false
        title: |-
          Allowing flooding for unlearned MAC for ingress traffic
        type: boolean
    required:
    - enabled
    title: |-
      MAC learning configuration
    type: object
    x-vmw-nsx-module: MacManagementSwitchingProfile
  MacManagementSwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        mac_change_allowed:
          default: false
          description: |-
            Allowing source MAC address change
          readOnly: false
          title: |-
            Allowing source MAC address change
          type: boolean
        mac_learning:
          $ref: '#/definitions/MacLearningSpec'
          description: |-
            MAC learning configuration
          readOnly: false
          title: |-
            MAC learning configuration
      type: object
      x-vmw-nsx-module: MacManagementSwitchingProfile
    x-vmw-nsx-module: MacManagementSwitchingProfile
  MacPool:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ranges:
          description: |-
            Array of ranges for MAC addresses
          items:
            $ref: '#/definitions/MacRange'
          title: |-
            Array of ranges for MAC addresses
          type: array
      required:
      - ranges
      type: object
      x-vmw-nsx-module: MACAM
    description: |-
      A collection of ranges of MAC addresses
    x-vmw-nsx-module: MACAM
  MacPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            MAC pool list results
          items:
            $ref: '#/definitions/MacPool'
          title: |-
            MAC pool list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MACAM
    x-vmw-nsx-module: MACAM
  MacRange:
    description: |-
      A range of MAC addresses with a start and end value
    properties:
      end:
        description: |-
          End value for MAC address range
        format: mac-address
        readOnly: false
        type: string
      start:
        description: |-
          Start value for MAC address range
        format: mac-address
        readOnly: false
        type: string
    required:
    - start
    - end
    type: object
    x-vmw-nsx-module: MACAM
  MacTableCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        mac_address:
          description: |-
            The MAC address
          title: |-
            The MAC address
          type: string
        rtep_group_id:
          description: |
            RTEP group id is applicable when the logical switch is stretched
            across multiple sites. When rtep_group_id is set, mac_address
            represents remote mac_address.
          format: int64
          title: |-
            Remote tunnel endpoint(RTEP) group id
          type: integer
        vtep_group_id:
          description: |
            VTEP group id is applicable when the logical switch is stretched
            across multiple sites. When vtep_group_id is set, mac_address
            represents remote mac_address.
          format: int64
          title: |-
            Virtual tunnel endpoint(VTEP) group id
          type: integer
        vtep_ip:
          description: |-
            The virtual tunnel endpoint IP address
          format: ip
          type: string
        vtep_mac_address:
          description: |-
            The virtual tunnel endpoint MAC address
          title: |-
            The virtual tunnel endpoint MAC address
          type: string
      required:
      - mac_address
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  MacTableEntry:
    properties:
      mac_address:
        description: |-
          The MAC address
        title: |-
          The MAC address
        type: string
      rtep_group_id:
        description: |
          RTEP group id is applicable when the logical switch is stretched
          across multiple sites. When rtep_group_id is set, mac_address
          represents remote mac_address.
        format: int64
        title: |-
          Remote tunnel endpoint(RTEP) group id
        type: integer
      vtep_group_id:
        description: |
          VTEP group id is applicable when the logical switch is stretched
          across multiple sites. When vtep_group_id is set, mac_address
          represents remote mac_address.
        format: int64
        title: |-
          Virtual tunnel endpoint(VTEP) group id
        type: integer
      vtep_ip:
        description: |-
          The virtual tunnel endpoint IP address
        format: ip
        type: string
      vtep_mac_address:
        description: |-
          The virtual tunnel endpoint MAC address
        title: |-
          The virtual tunnel endpoint MAC address
        type: string
    required:
    - mac_address
    type: object
    x-vmw-nsx-module: AggSvcLogicalSwitch
  ManagedResource:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        _create_time:
          description: |-
            Timestamp of resource creation
          format: int64
          readOnly: true
          type: integer
        _create_user:
          description: |-
            ID of the user who created this resource
          readOnly: true
          type: string
        _last_modified_time:
          description: |-
            Timestamp of last modification
          format: int64
          readOnly: true
          type: integer
        _last_modified_user:
          description: |-
            ID of the user who last modified this resource
          readOnly: true
          type: string
        _protection:
          description: |
            Protection status is one of the following:
            PROTECTED - the client who retrieved the entity is not allowed
                        to modify it.
            NOT_PROTECTED - the client who retrieved the entity is allowed
                            to modify it
            REQUIRE_OVERRIDE - the client who retrieved the entity is a super
                               user and can modify it, but only when providing
                               the request header X-Allow-Overwrite=true.
            UNKNOWN - the _protection field could not be determined for this
                      entity.
          readOnly: true
          title: |-
            Indicates protection status of this resource
          type: string
        _system_owned:
          description: |-
            Indicates system owned resource
          readOnly: true
          type: boolean
        description:
          description: |-
            Description of this resource
          maxLength: 1024
          title: |-
            Description of this resource
          type: string
        display_name:
          description: |-
            Defaults to ID if not set
          maxLength: 255
          title: |-
            Identifier to use when displaying entity in logs or GUI
          type: string
        id:
          description: |-
            Unique identifier of this resource
          title: |-
            Unique identifier of this resource
          type: string
        resource_type:
          description: |-
            The type of this resource.
          readOnly: false
          type: string
        tags:
          description: |-
            Opaque identifiers meaningful to the API user
          items:
            $ref: '#/definitions/Tag'
          maxItems: 30
          title: |-
            Opaque identifiers meaningful to the API user
          type: array
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Base type for resources that are managed by API clients
    title: |-
      Base type for resources that are managed by API clients
    x-vmw-nsx-module: Common
  ManagementClusterNodeStatus:
    properties:
      mgmt_cluster_status:
        description: |-
          Status of this node's connection to the management cluster
        enum:
        - CONNECTED
        - DISCONNECTED
        - UNKNOWN
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ManagementClusterRoleConfig:
    allOf:
    - $ref: '#/definitions/ClusterRoleConfig'
    - properties:
        api_listen_addr:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP and port for the public API service on this node
          readOnly: true
          title: |-
            The IP and port for the public API service on this node
        appliance_connection_info:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP, port and certificate for connecting to appliance.
          readOnly: true
          title: |-
            The IP, port and certificate for connecting to appliance.
        mgmt_cluster_listen_addr:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP and port for the management cluster service on this node
          readOnly: true
          title: |-
            The IP and port for the management cluster service on this node
        mgmt_plane_listen_addr:
          $ref: '#/definitions/ServiceEndpoint'
          description: |-
            The IP and port for the management plane service on this node
          readOnly: true
          title: |-
            The IP and port for the management plane service on this node
        mpa_msg_client_info:
          $ref: '#/definitions/MsgClientInfo'
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ManagementClusterStatus:
    properties:
      offline_nodes:
        description: |-
          Current missing management plane nodes
        items:
          $ref: '#/definitions/ManagementPlaneBaseNodeInfo'
        readOnly: true
        type: array
      online_nodes:
        description: |-
          Current alive management plane nodes
        items:
          $ref: '#/definitions/ManagementPlaneBaseNodeInfo'
        readOnly: true
        type: array
      required_members_for_initialization:
        description: |-
          The details of the cluster nodes required for cluster initialization
        items:
          $ref: '#/definitions/ClusterInitializationNodeInfo'
        readOnly: true
        type: array
      status:
        description: |-
          The current status of the management cluster
        enum:
        - INITIALIZING
        - UNSTABLE
        - DEGRADED
        - STABLE
        - UNKNOWN
        readOnly: true
        title: |-
          The current status of the management cluster
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ManagementConfig:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        publish_fqdns:
          description: |-
            True if Management nodes publish their fqdns(instead of default IP addresses) across NSX for its reachability.
          title: |-
            True if Management nodes publish their fqdns(instead of default IP addresses) across NSX for its reachability.
          type: boolean
      required:
      - publish_fqdns
      type: object
      x-vmw-nsx-module: ConfigManagement
    x-vmw-nsx-module: ConfigManagement
  ManagementNodeAggregateInfo:
    allOf:
    - $ref: '#/definitions/BaseNodeAggregateInfo'
    - properties:
        role_config:
          $ref: '#/definitions/ManagementClusterRoleConfig'
          readOnly: true
        transport_nodes_connected:
          format: int64
          minimum: 0
          readOnly: true
          type: integer
      type: object
      x-vmw-nsx-module: ClusterManagement
    x-vmw-nsx-module: ClusterManagement
  ManagementPlaneBaseNodeInfo:
    description: |-
      The basic node info of management plane node
    properties:
      mgmt_cluster_listen_ip_address:
        description: |-
          The IP address of MP node
        readOnly: true
        title: |-
          The IP address of MP node
        type: string
      uuid:
        description: |-
          Management plane node UUID
        readOnly: true
        title: |-
          Management plane node UUID
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  ManagementPlaneBrokerProperties:
    description: |-
      Information about a management plane node this controller is configured to communicate with
    properties:
      host:
        description: |-
          IP address or hostname of the message bus broker on the management plane node.
        format: hostname-or-ipv4
        readOnly: false
        type: string
      port:
        default: 5671
        description: |-
          Port number of the message bus broker on the management plane node.
        format: int64
        maximum: 65535
        minimum: 0
        type: integer
      thumbprint:
        description: |-
          Certificate thumbprint of the message bus broker on the management plane node.
        type: string
    required:
    - host
    - thumbprint
    title: |-
      Information about a management plane node this controller is configured to communicate with
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ManagementPlaneProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        account:
          description: |-
            The account name to use when authenticating to the management plane's message bus.
          readOnly: false
        brokers:
          description: |-
            The list of messaging brokers this controller is configured with.
          items:
            $ref: '#/definitions/ManagementPlaneBrokerProperties'
          type: array
        secret:
          description: |-
            The shared secret to use when autnenticating to the management plane's message bus. Not returned in REST responses.
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Information about the management plane this controller is communciating with
    title: |-
      Information about the management plane this controller is communciating with
    x-vmw-nsx-module: MISSING_MODULE
  MandatoryAccessControlProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        enabled:
          description: |-
            Enabled can be True/False
          type: boolean
        status:
          description: |-
            current status of Mandatory Access Control
          enum:
          - ENABLED
          - DISABLED
          - ENABLED_PENDING_REBOOT
          readOnly: true
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Information about mandatory access control
    title: |-
      Information about mandatory access control
    x-vmw-nsx-module: MISSING_MODULE
  ManualHealthCheck:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        operation_status:
          description: |
            The operation status for health check
          enum:
          - IN_PROGRESS
          - FINISHED
          readOnly: true
          title: |-
            Operation Status
          type: string
        result:
          $ref: '#/definitions/HealthCheckResult'
          readOnly: true
        transport_zone_id:
          description: |
            The entity ID works as a filter param. Entity ID and entity type should
              be both provided or not at a query.
          title: |-
            Transport Zone ID
          type: string
        vlans:
          $ref: '#/definitions/HealthCheckSpecVlans'
          description: |
            VLANs specificied for manual health check
          title: |-
            Specificied VLANs
      required:
      - transport_zone_id
      - vlans
      type: object
      x-vmw-nsx-module: HealthCheck
    description: |
      Describes a manual check to evaluate the status of a transport zone.
    title: |-
      Manual Health Check
    x-vmw-nsx-module: HealthCheck
  ManualHealthCheckListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Manual Health Check List
          items:
            $ref: '#/definitions/ManualHealthCheck'
          readOnly: true
          title: |-
            Manual Health Check List
          type: array
      type: object
      x-vmw-nsx-module: HealthCheck
    description: |-
      Manual health check list result for query with list parameters.
    title: |-
      List of Manual Health Checks
    x-vmw-nsx-module: HealthCheck
  MemoryReservation:
    description: |
      Relative to the form factor pre-defined reservation value. To reduce
      reservation of a VM to 50 percent, a user may specify 50 instead of the
      absolute number relevant for the edge form factor.
    properties:
      reservation_percentage:
        default: 100
        description: |
          Memory reserved relative to the default reservation of 100 percent.
          For example, take an edge virtual machine of medium form factor.
          By default, an edge of medium form factor is configured with 8 GB of
          memory and with reservation of 100 percent. So, 8 GB of memory is
          reserved. If you specify reservation_percentage value as 50 percent,
          then 4 GB of memory will be reserved.
        format: int32
        maximum: 100
        minimum: 0
        title: |-
          Memory reservation percentage.
        type: integer
    type: object
    x-vmw-nsx-module: FabricNode
  MessagingClientInfo:
    properties:
      account_name:
        description: |-
          Account name in messaging client
        title: |-
          Account name in messaging client
        type: string
      client_type:
        description: |-
          Type of messaging client
        enum:
        - MPA
        - HOST
        title: |-
          Type of messaging client
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  MetadataProxy:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attached_logical_port_id:
          description: |-
            id of attached logical port
          readOnly: true
          title: |-
            id of attached logical port
          type: string
        crypto_protocols:
          description: |
            The cryptographic protocols listed here are supported by the metadata proxy.
            The TLSv1.1 and TLSv1.2 are supported by default.
          items:
            description: |-
              Metadata proxy supported cryptographic protocol
            enum:
            - TLS_V1
            - TLS_V1_1
            - TLS_V1_2
            type: string
          readOnly: false
          title: |-
            metadata proxy supported cryptographic protocols.
          type: array
        edge_cluster_id:
          description: |-
            edge cluster uuid
          title: |-
            edge cluster uuid
          type: string
        edge_cluster_member_indexes:
          description: |
            If none is provided, the NSX will auto-select two edge-nodes from the given edge cluster.
            If user provides only one edge node, there will be no HA support.
          items:
            format: int64
            type: integer
          maxItems: 2
          minItems: 0
          title: |-
            edge cluster member indexes
          type: array
          uniqueItems: true
        enable_standby_relocation:
          default: false
          description: |
            Flag to enable the auto-relocation of standby Metadata Proxy in
            case of edge node failure. Only tier 1 and auto placed Metadata
            Proxy are considered for the relocation.
          title: |-
            Flag to enable standby Metadata proxy server relocation
          type: boolean
        metadata_server_ca_ids:
          description: |
            The CAs referenced here must be uploaded to the truststore using the API
            POST /api/v1/trust-management/certificates?action=import.
            User needs to ensure a correct CA for this metedata server is used. The REST API can
            not detect a wrong CA which was used to verify a different server. If the Metadata
            Proxy reports an ERROR or NO_BACKUP status, user can check the metadata proxy log
            at transport node for a possible CA issue.
          items:
            type: string
          title: |-
            uuids of CAs to verify metadata server certificate
          type: array
        metadata_server_url:
          description: |
            The URL in format scheme://host:port/path. Please note, the scheme supports only http
            and https as of now, port supports range 3000 - 9000, inclusive.
          title: |-
            metadata server url
          type: string
        secret:
          description: |-
            secret to access metadata server
          title: |-
            secret to access metadata server
          type: string
      required:
      - metadata_server_url
      - edge_cluster_id
      type: object
      x-vmw-nsx-module: MetadataProxy
    x-vmw-nsx-module: MetadataProxy
  MetadataProxyListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            paginated list of metadata proxies
          items:
            $ref: '#/definitions/MetadataProxy'
          title: |-
            paginated list of metadata proxies
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MetadataProxy
    x-vmw-nsx-module: MetadataProxy
  MetadataProxyStatistics:
    properties:
      metadata_proxy_id:
        description: |-
          metadata proxy uuid
        title: |-
          metadata proxy uuid
        type: string
      statistics:
        description: |-
          metadata proxy statistics per logical switch
        items:
          $ref: '#/definitions/MetadataProxyStatisticsPerLogicalSwitch'
        title: |-
          metadata proxy statistics per logical switch
        type: array
      timestamp:
        description: |-
          timestamp of the statistics
        format: int64
        type: integer
    required:
    - timestamp
    - metadata_proxy_id
    type: object
    x-vmw-nsx-module: AggSvcMetadataProxy
  MetadataProxyStatisticsPerLogicalSwitch:
    properties:
      error_responses_from_nova_server:
        description: |-
          error responses from  nova server
        format: int64
        title: |-
          error responses from  nova server
        type: integer
      logical_switch_id:
        description: |-
          uuid of attached logical switch
        title: |-
          uuid of attached logical switch
        type: string
      requests_from_clients:
        description: |-
          requests from clients
        format: int64
        title: |-
          requests from clients
        type: integer
      requests_to_nova_server:
        description: |-
          requests to nova server
        format: int64
        title: |-
          requests to nova server
        type: integer
      responses_to_clients:
        description: |-
          responses to clients
        format: int64
        title: |-
          responses to clients
        type: integer
      succeeded_responses_from_nova_server:
        description: |-
          succeeded responses from  nova server
        format: int64
        title: |-
          succeeded responses from  nova server
        type: integer
    required:
    - requests_to_nova_server
    - succeeded_responses_from_nova_server
    - logical_switch_id
    - requests_from_clients
    - responses_to_clients
    - error_responses_from_nova_server
    type: object
    x-vmw-nsx-module: AggSvcMetadataProxy
  MetadataProxyStatus:
    properties:
      error_message:
        description: |-
          Error message, if available
        title: |-
          Error message, if available
        type: string
      proxy_status:
        description: |
          UP means the metadata proxy is working fine on both transport-nodes(if have);
          DOWN means the metadata proxy is is down on both transport-nodes(if have),
          hence the metadata proxy will not repsonse any metadata request;
          Error means error happens on transport-node(s) or no status is reported from
          transport-node(s). The metadata proxy may be working (or not working);
          NO_BACK means metadata proxy is working in one of the transport node while
          not in the other transport-node (if have). Hence if the metadata proxy in
          the working transport-node goes down, the metadata proxy will go down.
        enum:
        - UP
        - DOWN
        - ERROR
        - NO_BACKUP
        type: string
      transport_nodes:
        description: |
          Order of the transport nodes is insensitive because Metadata Proxy
          is running in Active-Active mode among target transport nodes.
        items:
          type: string
        title: |-
          ids of transport nodes where this metadata proxy is running
        type: array
    required:
    - proxy_status
    - transport_nodes
    type: object
    x-vmw-nsx-module: AggSvcMetadataProxy
  MgmtConnStatus:
    properties:
      connectivity_status:
        description: |-
          Indicates the controller node's MP channel connectivity status
        enum:
        - CONNECTED
        - DISCONNECTED
        - UNKNOWN
        readOnly: true
        title: |-
          Indicates the controller node's MP channel connectivity status
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  MigrationDataInfo:
    properties:
      file_location:
        description: |-
          Absolute location of the file.
        readOnly: true
        title: |-
          Absolute location of the file.
        type: string
      file_type:
        description: |-
          Type of the Migration data file for which info is requested.
        enum:
        - VRA_INPUT
        readOnly: true
        title: |-
          Type of the Migration data file for which info is requested.
        type: string
      is_present:
        description: |-
          Indicates if the file is present.
        readOnly: true
        title: |-
          Indicates if the file is present.
        type: boolean
    type: object
    x-vmw-nsx-module: Migration
  MigrationFeedbackCategory:
    description: |-
      Categorization of feedback requests from the migration tool where user input is required.
    properties:
      accepted_values:
        description: |-
          List of acceptable values for this feedback request.
        items:
          type: string
        readOnly: true
        title: |-
          Acceptable values for this feedback request
        type: array
      category:
        description: |-
          Functional area that this query falls into.
        readOnly: true
        title: |-
          Functional area for the feedback query
        type: string
      count:
        description: |-
          Total number of feedback requests for this functional area.
        format: int32
        readOnly: true
        title: |-
          Total number of feedback requests for this functional area
        type: integer
      resolved:
        description: |-
          Total number of resolved feedback requests for this functional area.
        format: int32
        readOnly: true
        title: |-
          Count of resolved feedback requests for this functional area
        type: integer
    title: |-
      Category of feedback for Migration
    type: object
    x-vmw-nsx-module: Migration
  MigrationFeedbackRequest:
    description: |-
      Detailed feedback requests from the migration tool where user input is required.
    properties:
      accepted_actions:
        description: |-
          List of acceptable actions for this feedback request.
        items:
          type: string
        readOnly: true
        title: |-
          Acceptable actions for this feedback request
        type: array
      accepted_value_type:
        description: |-
          Data type of the items listed in acceptable values list.
        readOnly: true
        title: |-
          Data type of the items listed in acceptable values
        type: string
      accepted_values:
        description: |-
          List of acceptable values for this feedback request.
        items:
          type: string
        title: |-
          Acceptable values for this feedback request
        type: array
      hash:
        description: |-
          Identify a feedback request type across objects. This can be used to group together objects with similar feedback request and resolve them in one go.
        readOnly: true
        title: |-
          Identifier for a feedback request type
        type: string
      id:
        description: |-
          Identifier of the feedback request.
        readOnly: true
        title: |-
          UUID of the feedback request
        type: string
      message:
        description: |-
          Detailed feedback request with options.
        readOnly: true
        title: |-
          Content of feedback request
        type: string
      multi_value:
        description: |-
          Indicates if multiple values can be selected as response from the list of acceptable value.
        readOnly: true
        title: |-
          Indicates if multiple values can be selected as response
        type: boolean
      object_id:
        description: |-
          Identifier of the object for which feedback is requested.
        readOnly: true
        title: |-
          UUID of the object
        type: string
      rejected:
        description: |-
          Indicates if previous response was invalid. Please provide a valid response.
        readOnly: true
        title: |-
          Indicates if the previous feedback response was rejected
        type: boolean
      resolution:
        description: |-
          If the feedback request was resolved earlier, provides details about the previous resolution.
        readOnly: true
        title: |-
          Previous resolution details for this feedback request
        type: string
      resolved:
        description: |-
          Indicates if a valid response already exist for this feedback request.
        readOnly: true
        title: |-
          Indicates if this feedback request has already been resolved
        type: boolean
      sub_vertical:
        description: |-
          Functional sub-area that this query falls into.
        readOnly: true
        title: |-
          Functional sub-area for the feedback query
        type: string
      suggested_action:
        description: |-
          The suggested action to resolve this feedback request.
        readOnly: true
        title: |-
          Suggested action for this feedback request
        type: string
      suggested_value:
        description: |-
          The suggested value to resolve this feedback request.
        readOnly: true
        title: |-
          Suggested value for this feedback request
        type: string
      v_object_id:
        description: |-
          Identifier for this object in the source NSX endpoint.
        readOnly: true
        title: |-
          Id of this object in the source NSX endpoint
        type: string
      v_object_name:
        description: |-
          Name of this object in the source NSX endpoint.
        readOnly: true
        title: |-
          Name of this object in the source NSX endpoint
        type: string
      vertical:
        description: |-
          Functional area that this query falls into.
        readOnly: true
        title: |-
          Functional area for the feedback query
        type: string
    title: |-
      Feedback detail required for Migration
    type: object
    x-vmw-nsx-module: Migration
  MigrationFeedbackRequestListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of feedback requests
          items:
            $ref: '#/definitions/MigrationFeedbackRequest'
          readOnly: false
          title: |-
            Paged Collection of feedback requests
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    description: |-
      List of detailed feedback requests from the migration tool where user input is required.
    title: |-
      List of feedback required for Migration
    x-vmw-nsx-module: Migration
  MigrationFeedbackResponse:
    description: |-
      Detailed feedback requests from the migration tool where user input is required.
    properties:
      action:
        description: |-
          Action selected in response to the feedback request.
        readOnly: false
        title: |-
          Action selected for feedback request
        type: string
      id:
        description: |-
          Identifier of the feedback request.
        readOnly: false
        title: |-
          UUID of the feedback request
        type: string
      value:
        description: |-
          User input provided in response to the feedback request.
        readOnly: false
        title: |-
          User input for the feedback query
        type: string
      values:
        description: |-
          User input provided in the form of a list of values in response to the feedback request.
        items:
          type: string
        readOnly: false
        title: |-
          User input with multiple values for the feedback query
        type: array
    required:
    - action
    - id
    title: |-
      Feedback details required for Migration
    type: object
    x-vmw-nsx-module: Migration
  MigrationFeedbackResponseList:
    description: |-
      List of detailed feedback response for the migration tool.
    properties:
      response_list:
        description: |-
          List of feedback responses.
        items:
          $ref: '#/definitions/MigrationFeedbackResponse'
        readOnly: false
        title: |-
          List of feedback responses
        type: array
    required:
    - response_list
    title: |-
      List of feedback reponse for Migration
    type: object
    x-vmw-nsx-module: Migration
  MigrationFeedbackSummaryListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of feedback categories
          items:
            $ref: '#/definitions/MigrationFeedbackCategory'
          readOnly: false
          title: |-
            Paged Collection of feedback categories
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    description: |-
      List of feedback categories and count of requests in each category.
    title: |-
      List of feedback categories for Migration
    x-vmw-nsx-module: Migration
  MigrationPlanSettings:
    properties:
      parallel:
        default: true
        description: |-
          Migration Method to specify whether the migration is to be performed serially or in parallel
        readOnly: false
        title: |-
          Migration Method to specify whether the migration is to be performed serially or in parallel
        type: boolean
      pause_after_each_group:
        default: false
        description: |-
          Flag to indicate whether to pause the migration after migration of each group is completed
        readOnly: false
        title: |-
          Flag to indicate whether to pause the migration after migration of each group is completed
        type: boolean
      pause_on_error:
        default: false
        description: |-
          Flag to indicate whether to pause the migration plan execution when an error occurs
        readOnly: false
        title: |-
          Flag to indicate whether to pause the migration plan execution when an error occurs
        type: boolean
    type: object
    x-vmw-nsx-module: Migration
  MigrationSetupInfo:
    description: |-
      Details about source and destination NSX setup to be migrated
    properties:
      destination_nsx:
        $ref: '#/definitions/DestinationNsxApiEndpoint'
        description: |-
          IP address or hostname of the destination NSX API endpoint.
        readOnly: false
        title: |-
          Destination NSX API endpoint
      migration_mode:
        default: ONPREMISE_V2T
        description: |-
          Migration mode can be VMC_V2T, ONPREMISE_V2T, ONPREMISE_VSPHERE2T, DFW_ONLY, DFW_WITH_BRIDGED_SEG, CMP_VRA, DFW_AND_HOST_AND_WORKLOAD, DFW_AND_HOST_AND_WORKLOAD_WITH_BRIDGED_SEG, NS_CUTOVER
        enum:
        - VMC_V2T
        - ONPREMISE_V2T
        - ONPREMISE_VSPHERE2T
        - DFW_ONLY
        - DFW_WITH_BRIDGED_SEG
        - CMP_VRA
        - DFW_AND_HOST_AND_WORKLOAD
        - DFW_AND_HOST_AND_WORKLOAD_WITH_BRIDGED_SEG
        - NS_CUTOVER
        readOnly: false
        title: |-
          Migration mode
        type: string
      source_nsx:
        description: |-
          List of source NSX manager endpoints.
        items:
          $ref: '#/definitions/SourceNsxApiEndpoint'
        readOnly: false
        title: |-
          List of source NSX managers
        type: array
    title: |-
      Details about source and destination NSX setup
    type: object
    x-vmw-nsx-module: Migration
  MigrationStatus:
    properties:
      component_status:
        description: |-
          List of component statuses
        items:
          $ref: '#/definitions/ComponentMigrationStatus'
        readOnly: true
        title: |-
          List of component statuses
        type: array
      overall_migration_status:
        description: |-
          Status of migration
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSED
        readOnly: true
        title: |-
          Status of migration
        type: string
    type: object
    x-vmw-nsx-module: Migration
  MigrationSummary:
    properties:
      component_target_versions:
        items:
          $ref: '#/definitions/ComponentTargetVersion'
        readOnly: true
        type: array
      migration_coordinator_version:
        description: |-
          Current version of migration coordinator
        readOnly: true
        title: |-
          Current version of migration coordinator
        type: string
      migration_status:
        description: |-
          Status of migration
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSED
        readOnly: true
        title: |-
          Status of migration
        type: string
      system_version:
        description: |-
          Current system version
        readOnly: true
        title: |-
          Current system version
        type: string
      target_version:
        description: |-
          Target system version
        readOnly: true
        title: |-
          Target system version
        type: string
    type: object
    x-vmw-nsx-module: Migration
  MigrationSwitchInfo:
    description: |-
      Details about switch to be migrated
    properties:
      id:
        description: |-
          Switch Identifier.
        readOnly: true
        title: |-
          Switch id
        type: string
      kind:
        default: DVS
        description: |-
          Kind of switch, can be DVS, VSS.
        enum:
        - DVS
        - VSS
        readOnly: false
        title: |-
          Kind of switch
        type: string
      name:
        description: |-
          Name of the switch.
        readOnly: false
        title: |-
          Switch name
        type: string
      pnic_count:
        description: |-
          Number of PNICs associated with this switch.
        format: int32
        readOnly: true
        title: |-
          PNIC count
        type: integer
      version:
        description: |-
          Version of the switch to be migrated.
        readOnly: true
        title: |-
          Switch version
        type: string
    title: |-
      Details about switch to be migrated
    type: object
    x-vmw-nsx-module: Migration
  MigrationSwitchListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            A paginated list of DVS/VSS present on the VC.
          items:
            $ref: '#/definitions/MigrationSwitchInfo'
          readOnly: false
          title: |-
            Paginated list of DVS/VSS present on the VC
          type: array
      type: object
      x-vmw-nsx-module: Migration
    description: |-
      Details about all the DVS and VSS present on the VC
    title: |-
      Details about all the DVS and VSS present on the VC
    x-vmw-nsx-module: Migration
  MigrationUnit:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        current_version:
          description: |-
            This is component version e.g. if migration unit is of type HOST, then this is host version.
          readOnly: true
          title: |-
            Current version of migration unit
          type: string
        display_name:
          description: |-
            Name of the migration unit
          readOnly: false
          title: |-
            Name of the migration unit
          type: string
        group:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Info of the group to which this migration unit belongs
          readOnly: true
          title: |-
            Info of the group to which this migration unit belongs
        id:
          description: |-
            Identifier of the migration unit
          readOnly: true
          title: |-
            UUID of the migration unit
          type: string
        metadata:
          description: |-
            Metadata about migration unit
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |-
            Metadata about migration unit
          type: array
        type:
          description: |-
            Migration unit type
          readOnly: false
          title: |-
            Migration unit type
          type: string
        warnings:
          description: |-
            List of warnings indicating issues with the migration unit that may result in migration failure
          items:
            type: string
          readOnly: true
          title: |-
            List of warnings indicating issues with the migration unit that may result in migration failure
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitAggregateInfo:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        errors:
          description: |-
            List of errors occurred during migration of this migration unit
          items:
            type: string
          readOnly: true
          title: |-
            List of errors occurred during migration of this migration unit
          type: array
        percent_complete:
          description: |-
            Indicator of migration progress in percentage
          readOnly: true
          title: |-
            Indicator of migration progress in percentage
          type: number
        status:
          description: |-
            Status of migration unit
          enum:
          - SUCCESS
          - FAILED
          - IN_PROGRESS
          - NOT_STARTED
          - PAUSED
          readOnly: true
          title: |-
            Status of migration unit
          type: string
        unit:
          $ref: '#/definitions/MigrationUnit'
          description: |-
            Details of the migration unit
          readOnly: true
          title: |-
            Migration unit info
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitAggregateInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of MigrationUnit AggregateInfo
          items:
            $ref: '#/definitions/MigrationUnitAggregateInfo'
          readOnly: true
          title: |-
            Paged collection of MigrationUnit AggregateInfo
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitGroup:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          default: true
          description: |-
            Flag to indicate whether migration of this group is enabled or not
          readOnly: false
          title: |-
            Flag to indicate whether migration of this group is enabled or not
          type: boolean
        extended_configuration:
          description: |-
            Extended configuration for the group
          items:
            $ref: '#/definitions/KeyValuePair'
          maxItems: 100
          readOnly: false
          title: |-
            Extended configuration for the group
          type: array
        migration_unit_count:
          description: |-
            Number of migration units in the group
          format: int32
          readOnly: true
          title: |-
            Count of migration units in the group
          type: integer
        migration_units:
          description: |-
            List of migration units in the group
          items:
            $ref: '#/definitions/MigrationUnit'
          maxItems: 100
          readOnly: false
          title: |-
            List of migration units in the group
          type: array
        parallel:
          default: true
          description: |-
            Migration method to specify whether the migration is to be performed in parallel or serially
          readOnly: false
          title: |-
            Migration method to specify whether the migration is to be performed in parallel or serially
          type: boolean
        type:
          description: |-
            Component type
          readOnly: false
          title: |-
            Component type
          type: string
      required:
      - type
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitGroupAggregateInfo:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        failed_count:
          description: |-
            Number of nodes in the migration unit group that failed migration
          format: int32
          readOnly: true
          title: |-
            Number of nodes in the migration unit group that failed migration
          type: integer
        group:
          $ref: '#/definitions/MigrationUnitGroup'
          description: |-
            Migration unit group details
          readOnly: false
          title: |-
            Migration unit group details
        percent_complete:
          description: |-
            Indicator of migration progress in percentage
          readOnly: true
          title: |-
            Indicator of migration progress in percentage
          type: number
        status:
          description: |-
            Migration status of migration unit group
          enum:
          - SUCCESS
          - FAILED
          - IN_PROGRESS
          - NOT_STARTED
          - PAUSED
          readOnly: true
          title: |-
            Migration status of migration unit group
          type: string
      required:
      - group
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitGroupAggregateInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of migration status for migration unit groups
          items:
            $ref: '#/definitions/MigrationUnitGroupAggregateInfo'
          readOnly: true
          title: |-
            Paged collection of migration status for migration unit groups
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitGroupListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of Migration unit groups
          items:
            $ref: '#/definitions/MigrationUnitGroup'
          title: |-
            Paged Collection of Migration unit groups
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitGroupStatus:
    properties:
      failed_count:
        description: |-
          Number of nodes in the migration unit group that failed migration
        format: int32
        readOnly: true
        title: |-
          Number of nodes in the migration unit group that failed migration
        type: integer
      group_id:
        description: |-
          Identifier for migration unit group
        readOnly: true
        title: |-
          UUID of migration unit group
        type: string
      group_name:
        description: |-
          Name of the migration unit group
        readOnly: true
        title: |-
          Migration unit group Name
        type: string
      migration_unit_count:
        description: |-
          Number of migration units in the group
        format: int32
        readOnly: true
        title: |-
          Number of migration units in the group
        type: integer
      percent_complete:
        description: |-
          Indicator of migration progress in percentage
        readOnly: true
        title: |-
          Indicator of migration progress in percentage
        type: number
      status:
        description: |-
          Migration status of migration unit group
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSED
        readOnly: true
        title: |-
          Migration status of migration unit group
        type: string
    type: object
    x-vmw-nsx-module: Migration
  MigrationUnitGroupStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of migration status for migration unit groups
          items:
            $ref: '#/definitions/MigrationUnitGroupStatus'
          readOnly: true
          title: |-
            Paged collection of migration status for migration unit groups
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitList:
    properties:
      list:
        description: |-
          Collection of Migration units
        items:
          $ref: '#/definitions/MigrationUnit'
        title: |-
          Collection of Migration units
        type: array
    required:
    - list
    type: object
    x-vmw-nsx-module: Migration
  MigrationUnitListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of Migration units
          items:
            $ref: '#/definitions/MigrationUnit'
          title: |-
            Paged Collection of Migration units
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitStatus:
    properties:
      display_name:
        description: |-
          Name of migration unit
        readOnly: true
        title: |-
          Name of migration unit
        type: string
      errors:
        description: |-
          List of errors occurred during migration of this migration unit
        items:
          type: string
        readOnly: true
        title: |-
          List of errors occurred during migration of this migration unit
        type: array
      id:
        description: |-
          Identifier of migration unit
        readOnly: true
        title: |-
          UUID of migration unit
        type: string
      percent_complete:
        description: |-
          Indicator of migration progress in percentage
        readOnly: true
        title: |-
          Indicator of migration progress in percentage
        type: number
      status:
        description: |-
          Status of migration unit
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSED
        readOnly: true
        title: |-
          Status of migration unit
        type: string
    type: object
    x-vmw-nsx-module: Migration
  MigrationUnitStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of migration units status
          items:
            $ref: '#/definitions/MigrationUnitStatus'
          title: |-
            Paged Collection of migration units status
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MigrationUnitTypeStats:
    properties:
      node_count:
        description: |-
          Number of nodes
        format: int32
        readOnly: true
        title: |-
          Number of nodes
        type: integer
      node_with_issues_count:
        description: |-
          Number of nodes with issues that may cause migration failure
        format: int32
        readOnly: true
        title: |-
          Number of nodes with issues that may cause migration failure
        type: integer
      type:
        description: |-
          Type of migration unit
        readOnly: true
        title: |-
          Type of migration unit
        type: string
      version:
        description: |-
          Version of the migration unit
        readOnly: true
        title: |-
          Version of the migration unit
        type: string
    type: object
    x-vmw-nsx-module: Migration
  MigrationUnitTypeStatsList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of migration unit type stats
          items:
            $ref: '#/definitions/MigrationUnitTypeStats'
          readOnly: true
          title: |-
            List of migration unit type stats
          type: array
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  MirrorDestination:
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Resource types of mirror destination
        enum:
        - LogicalPortMirrorDestination
        - PnicMirrorDestination
        - IPMirrorDestination
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: PortMirroring
  MirrorSource:
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          Resource types of mirror source
        enum:
        - LogicalPortMirrorSource
        - PnicMirrorSource
        - VlanMirrorSource
        - LogicalSwitchMirrorSource
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: PortMirroring
  MirrorStackStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        overall_status:
          description: |
            SUCCESS if all the TN's stack status are SUCCESS,
            FAILED if some of the TN's stack status are FAILED.
          enum:
          - UNKNOWN
          - SUCCESS
          - FAILED
          type: string
        results:
          description: |
            List all TN nodes which spaned in remote L3 mirror session mirror
            stack health status detailed info, including mirror stack status,
            vmknic status, TN node ID, TN node name and last updated status timestamp.
          items:
            $ref: '#/definitions/TnNodeStackSpanStatus'
          title: |-
            All TN nodes in remote L3 mirror session mirror stack health status
          type: array
      required:
      - overall_status
      - results
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  MonitoringEvent:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        description:
          description: |
            Detailed description of the event.
          readOnly: true
          title: |-
            Detailed description of Event
          type: string
        description_on_clear:
          description: |
            Description of Event when an Event instance transitions from True to
            False.
          readOnly: true
          title: |-
            Description of event when cleared
          type: string
        entity_resource_type:
          description: |
            Resource Type of entity where this event is applicable
            eg. LogicalSwitch, LogicalPort etc.
          readOnly: true
          title: |-
            Resource Type of entity where this event is applicable
          type: string
        event_false_snmp_oid:
          description: |
            Optional field containing OID for SNMP trap sent when
            Event instance is False. This value is null if
            suppress_snmp_trap or suppress_clear_oid is True.
          readOnly: true
          title: |-
            OID for SNMP trap sent when Event instance is False
          type: string
        event_true_snmp_oid:
          description: |
            Optional field containing OID for SNMP trap sent when
            Event instance is True. This value is null if
            suppress_snmp_trap is True.
          readOnly: true
          title: |-
            OID for SNMP trap sent when Event instance is True
          type: string
        event_type:
          description: |
            Name of Event, e.g. manager_cpu_usage_high, certificate_expired.
          readOnly: true
          title: |-
            Name of event type
          type: string
        event_type_display_name:
          description: |
            Display name of Event type.
          readOnly: true
          title: |-
            Display name of event type
          type: string
        feature_display_name:
          description: |
            Display name of feature defining this Event.
          readOnly: true
          title: |-
            Display name of feature
          type: string
        feature_name:
          description: |
            Feature defining this Event, e.g. manager_health, certificates.
          readOnly: true
          title: |-
            Feature defining this event
          type: string
        id:
          description: |
            Unique identifier in the form of feature_name.event_type.
          readOnly: true
          title: |-
            Identifier to identify an event_type uniquely
          type: string
        is_disabled:
          default: false
          description: |
            Flag to indicate whether sampling for this Event is off or on.
          title: |-
            Indicate if event sampling is disabled
          type: boolean
        is_sensitivity_fixed:
          description: |
            Indicates if the sensitivity property is configurable via the API.
          readOnly: true
          title: |-
            Flag to indicate if sensitivity can be configured
          type: boolean
        is_threshold_fixed:
          description: |
            Indicates if the threshold property is configurable via the API.
          readOnly: true
          title: |-
            Flag to indicate if threshold can be configured
          type: boolean
        node_types:
          description: |
            Array identifying the nodes on which this Event is applicable.
            Can be one or more of the following values - nsx_public_cloud_gateway,
            nsx_edge, nsx_esx, nsx_kvm, nsx_manager.
          items:
            enum:
            - nsx_autonomous_edge
            - nsx_bms
            - nsx_edge
            - nsx_esx
            - nsx_global_manager
            - nsx_intelligence
            - nsx_kvm
            - nsx_manager
            - nsx_public_cloud_gateway
            type: string
          readOnly: true
          title: |-
            Array identifying the nodes on which this Event is applicable
          type: array
          uniqueItems: true
        recommended_action:
          description: |
            Recommended action for the alarm condition.
          readOnly: true
          title: |-
            Recommended action steps
          type: string
        sensitivity:
          description: |
            Percentage of samples to consider and used in combination with
            threshold when determining whether an Event instance status is True or
            False. Event evaluation uses sampling to determine Event instance
            status. A higher sensitivity value specifies that more samples are used
            to ensure accuracy and ignore infrequent or rare spikes in sampled data.
          format: int64
          maximum: 100
          minimum: 0
          title: |-
            Percentage of samples to consider
          type: integer
        severity:
          description: |
            Severity of the Event.Can be one of - CRITICAL, HIGH, MEDIUM, LOW.
          enum:
          - CRITICAL
          - HIGH
          - MEDIUM
          - LOW
          readOnly: true
          type: string
        summary:
          description: |
            Summary description of the event.
          readOnly: true
          title: |-
            Summary description of Event
          type: string
        suppress_alarm:
          default: false
          description: |
            Flag to suppress Alarm generation. Alarms are not generated
            for this Event when this is set to True.
          title: |-
            Flag to suppress Alarm generation
          type: boolean
        suppress_snmp_trap:
          default: false
          description: |
            Flag to suppress SNMP trap generation. SNMP traps are not
            sent for this Event when this is set to True.
          title: |-
            Flag to suppress SNMP trap generation
          type: boolean
        threshold:
          description: |
            Threshold to determine if a single sample is True. For example,
            if the configured threshold is 95% and the current CPU sample is
            99%, then the current sample is considered True.
          format: int64
          title: |-
            Threshold to determine if a single sample is True
          type: integer
      required:
      - threshold
      - sensitivity
      type: object
      x-vmw-nsx-module: Monitoring
    x-vmw-nsx-module: Monitoring
  MonthlyTelemetrySchedule:
    allOf:
    - $ref: '#/definitions/TelemetrySchedule'
    - properties:
        day_of_month:
          description: |
            Day of month on which data will be collected. Specify a value between 1 through 31.
          format: int64
          maximum: 31
          minimum: 1
          title: |-
            Day of month on which data will be collected
          type: integer
        hour_of_day:
          description: |
            Hour at which data will be collected. Specify a value between 0 through 23.
          format: int64
          maximum: 23
          minimum: 0
          title: |-
            Hour at which data will be collected
          type: integer
        minutes:
          default: 0
          description: |
            Minute at which data will be collected. Specify a value between 0 through 59.
          format: int64
          maximum: 59
          minimum: 0
          title: |-
            Minute at which data will be collected
          type: integer
      required:
      - day_of_month
      - hour_of_day
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  MsgClientInfo:
    description: |-
      Information about a messaging client
    properties:
      account_name:
        description: |-
          Account name for the messaging client. Identifies the client on the management plane message bus.
        readOnly: false
        type: string
      certificate:
        description: |-
          Messaging client's certificate. Used to authenticate to the control plane messaging endpoint.
        readOnly: false
        type: string
      shared_secret:
        description: |-
          Messaging client's secret. Used to authenticate to the management plane messaging broker.
        readOnly: false
        type: string
      software_version:
        description: |-
          Software version of the node.
        readOnly: true
        type: string
    title: |-
      Information about a messaging client
    type: object
    x-vmw-nsx-module: Common
  MultiWidgetConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          maxLength: 1024
          title: |-
            Navigation to a specified UI page
          type: string
        widgets:
          description: |-
            Array of widgets that are part of the multi-widget.
          items:
            $ref: '#/definitions/WidgetItem'
          maxItems: 2
          minItems: 1
          title: |-
            Widgets
          type: array
      required:
      - widgets
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Combines two or more widgetconfigurations into a multi-widget
    title: |-
      Multi-Widget
    x-vmw-nsx-module: NsxDashboard
  NDRAPrefixConfig:
    description: |
      Overrides the router advertisement attributes for the
      IPv6 prefixes.
    properties:
      network_prefix:
        description: |
          Override the neighbor discovery prefix preferred time and
          prefix valid time for the subnet on uplink port whose
          network matches with the network address of CIDR specified
          in network_prefix.
        format: ipv6-cidr-block
        type: string
      prefix_preferred_time:
        description: |
          The time interval in seconds, in which the prefix is advertised
          as preferred.
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Prefix preferred time
        type: integer
      prefix_valid_time:
        description: |
          The time interval in seconds, in which the prefix is advertised
          as valid.
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Subnet Prefix Length
        type: integer
    required:
    - network_prefix
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  NDRAProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        dns_config:
          $ref: '#/definitions/RaDNSConfig'
          description: |-
            DNS Configuration
          title: |-
            DNS Configuration
        ra_config:
          $ref: '#/definitions/RAConfig'
          description: |-
            RA Configuration
          title: |-
            RA Configuration
        ra_mode:
          default: SLAAC_DNS_THROUGH_RA
          description: |-
            RA Mode
          enum:
          - DISABLED
          - SLAAC_DNS_THROUGH_RA
          - SLAAC_DNS_THROUGH_DHCP
          - DHCP_ADDRESS_AND_DNS_THROUGH_DHCP
          - SLAAC_AND_ADDRESS_DNS_THROUGH_DHCP
          type: string
        reachable_timer:
          default: 0
          description: |
            Neighbour reachable time duration in milliseconds.
            A value of 0 means unspecified.
          format: int64
          maximum: 3600000
          minimum: 0
          title: |-
            Reachable timer
          type: integer
        retransmit_interval:
          default: 1000
          description: |
            The time, in milliseconds, between retransmitted neighbour
            solicitation messages.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            Retransmission interval
          type: integer
      required:
      - ra_mode
      - ra_config
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  NDRAProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of NDRAProfile
          items:
            $ref: '#/definitions/NDRAProfile'
          title: |-
            Paginated list of NDRAProfile
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  NSAttributes:
    description: |-
      NS Attributes data holder structure
    properties:
      attributes_data:
        $ref: '#/definitions/NSAttributesData'
        description: |-
          Data for attribute
        title: |-
          Data for attribute
      sub_attributes:
        description: |-
          Reference to sub attributes for the attribute
        items:
          $ref: '#/definitions/NSAttributesData'
        title: |-
          Reference to sub attributes for the attribute
        type: array
    required:
    - attributes_data
    title: |-
      NS Attributes data holder structure
    type: object
    x-vmw-nsx-module: NSProfile
  NSAttributesData:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attribute_source:
          description: |-
            Attribute is predefined or custom
          enum:
          - SYSTEM
          - CUSTOM
          title: |-
            Attribute is predefined or custom
          type: string
        datatype:
          description: |-
            Data type of attribute/sub attribute key
          enum:
          - STRING
          title: |-
            Data type of attribute/sub attribute key
          type: string
        description:
          description: |-
            Description for NSProfile attributes
          title: |-
            Description for NSProfile attributes
          type: string
        key:
          description: |
            NSProfile attribute/sub attribute keys.
          title: |-
            Key for attribute/sub attribute
          type: string
        value:
          description: |
            Multiple attribute/sub attribute values can be specified
            as elements of array.
          items:
            type: string
          minItems: 1
          title: |-
            value for attribute/sub attribute key
          type: array
          uniqueItems: true
      required:
      - datatype
      - value
      - key
      type: object
      x-vmw-nsx-module: NSProfile
    description: |-
      Attributes/sub-attributes data holder structure for NSProfile
    title: |-
      Attributes/sub-attributes data holder structure for NSProfile
    x-vmw-nsx-module: NSProfile
  NSGroup:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        member_count:
          description: |-
            Count of the members added to this NSGroup
          format: int64
          readOnly: true
          title: |-
            Count of the members added to this NSGroup
          type: integer
        members:
          description: |
            Reference to the direct/static members of the NSGroup.
            Can be ID based expressions only. VirtualMachine cannot
            be added as a static member.
          items:
            $ref: '#/definitions/NSGroupSimpleExpression'
          maxItems: 500
          title: |-
            Members of NSGroup
          type: array
        membership_criteria:
          description: |
            List of tag or name based expressions which define the dynamic membership criteria
            for this NSGroup. An object must satisfy atleast one of these expressions
            to qualify as a member of this group.
            It is not recommended to use ID based expressions in this section.
            ID based expression should be used in "members" section
          items:
            $ref: '#/definitions/NSGroupExpression'
          maxItems: 5
          title: |-
            The criteria for membership of this NSGroup
          type: array
      type: object
      x-vmw-nsx-module: NSGroup
    description: |-
      NSGroups are recursive groupings of different NSX elements (logical and physical), typically used in policy definitions.
    title: |-
      Networking and Security Group
    x-vmw-nsx-module: NSGroup
  NSGroupComplexExpression:
    allOf:
    - $ref: '#/definitions/NSGroupExpression'
    - properties:
        expressions:
          description: |
            Represents expressions which are to be logically 'AND'ed.The array cannot contain
            NSGroupComplexExpression.Only NSGroupTagExpression and NSGroupSimpleExpressions
            are accepted.
          items:
            $ref: '#/definitions/NSGroupExpression'
          maxItems: 5
          minItems: 2
          title: |-
            List of simple and tag expressions
          type: array
      required:
      - expressions
      type: object
      x-vmw-nsx-module: NSGroup
    description: |-
      Complex expressions to represent NSGroup membership
    title: |-
      Complex expressions to represent NSGroup membership
    x-vmw-nsx-module: NSGroup
  NSGroupExpression:
    description: |-
      Policy expression for NSGroup membership
    discriminator: resource_type
    properties:
      resource_type:
        enum:
        - NSGroupSimpleExpression
        - NSGroupComplexExpression
        - NSGroupTagExpression
        type: string
    required:
    - resource_type
    title: |-
      Policy expression for NSGroup membership
    type: object
    x-vmw-nsx-module: NSGroup
  NSGroupExpressionList:
    description: |-
      List of NSGroupExpressions
    properties:
      members:
        description: |
          List of NSGroupExpressions to be passed to add and remove APIs
        items:
          $ref: '#/definitions/NSGroupExpression'
        maxItems: 500
        title: |
          List of NSGroupExpressions to be passed to add and remove APIs
        type: array
    required:
    - members
    title: |-
      List of NSGroupExpressions
    type: object
    x-vmw-nsx-module: NSGroup
  NSGroupInfo:
    description: |-
      NSGroupInfo contains information about a particular NSGroup used in a SI Rule. It also contains information about policy path used to create this NSGroup.
    properties:
      nsgroup:
        $ref: '#/definitions/ResourceReference'
        description: |-
          NSGroup Data.
        readOnly: true
        title: |-
          NSGroup
      nsgroup_policy_path:
        description: |-
          Relative Policy path of a particular NSGroup.
        readOnly: true
        title: |-
          Policy Path of a Particular NSGroup
        type: string
    title: |-
      NSGroupInfo
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  NSGroupListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            NSGroup list results
          items:
            $ref: '#/definitions/NSGroup'
          title: |-
            NSGroup list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NSGroup
    description: |-
      Paged Collection of NSGroups
    title: |-
      Paged Collection of NSGroups
    x-vmw-nsx-module: NSGroup
  NSGroupSimpleExpression:
    allOf:
    - $ref: '#/definitions/NSGroupExpression'
    - properties:
        op:
          description: |
            All operators perform a case insensitive match.
          enum:
          - EQUALS
          - CONTAINS
          - STARTSWITH
          - ENDSWITH
          - NOTEQUALS
          title: |-
            Operator of the expression
          type: string
        target_property:
          description: |-
            Field of the resource on which this expression is evaluated
          title: |-
            Field of the resource on which this expression is evaluated
          type: string
        target_resource:
          $ref: '#/definitions/ResourceReference'
          description: |
            Reference of the target. Will be populated when
            the property is a resource id, the op (operator) is EQUALS and
            populate_references is set to be true.
          readOnly: true
          title: |-
            Reference of the target
        target_type:
          description: |-
            Type of the resource on which this expression is evaluated
          enum:
          - NSGroup
          - IPSet
          - MACSet
          - LogicalSwitch
          - LogicalPort
          - VirtualMachine
          - DirectoryGroup
          - VirtualNetworkInterface
          - TransportNode
          - CloudNativeServiceInstance
          - PhysicalServer
          - LogicalRouter
          - LogicalRouterPort
          type: string
        value:
          description: |-
            Value that satisfies this expression
          title: |-
            Value that satisfies this expression
          type: string
      required:
      - target_property
      - target_type
      - value
      - op
      type: object
      x-vmw-nsx-module: NSGroup
    description: |-
      Simple expressions to represent NSGroup membership
    title: |-
      Simple expressions to represent NSGroup membership
    x-vmw-nsx-module: NSGroup
  NSGroupTagExpression:
    allOf:
    - $ref: '#/definitions/NSGroupExpression'
    - properties:
        scope:
          description: |-
            The tag.scope attribute of the object
          maxLength: 128
          title: |-
            The tag.scope attribute of the object
          type: string
        scope_op:
          default: EQUALS
          description: |-
            Operator of the scope expression eg- tag.scope = "S1".
          enum:
          - EQUALS
          title: |-
            Operator of the scope expression eg- tag.scope = "S1".
          type: string
        tag:
          description: |-
            The tag.tag attribute of the object
          maxLength: 256
          title: |-
            The tag.tag attribute of the object
          type: string
        tag_op:
          default: EQUALS
          description: |
            Target_type VirtualMachine supports all specified operators for
            tag expression while LogicalSwitch and LogicalPort supports only
            EQUALS operator.
            All operators perform a case insensitive match.
          enum:
          - EQUALS
          - CONTAINS
          - STARTSWITH
          - ENDSWITH
          title: |-
            Operator of the tag expression eg- tag.tag = "Production"
          type: string
        target_type:
          description: |-
            Type of the resource on which this expression is evaluated
          enum:
          - LogicalSwitch
          - LogicalPort
          - VirtualMachine
          - IPSet
          title: |-
            Type of the resource on which this expression is evaluated
          type: string
      required:
      - target_type
      type: object
      x-vmw-nsx-module: NSGroup
    description: |
      Includes both scope and tag attribute of Tag. The scope and tag expressions
      are logically 'AND' with each other.
      eg- tag.scope = "S1" AND tag.tag = 'T1'
    title: |-
      TAG expressions to represent NSGroup membership
    x-vmw-nsx-module: NSGroup
  NSProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        is_valid:
          default: true
          description: |
            If set to false, the NSProfile has some app ids which
            are unsupported. Those were allowed to be added in
            previous releases but in testing in later phases
            found that those app ids could not be detected.
          readOnly: true
          title: |-
            Flag indicating if NSProfile has supported app ids
          type: boolean
        nsprofile_attribute:
          description: |
            Reference to the encapsulating object of attributes/sub-attributes for
            NSProfile.
          items:
            $ref: '#/definitions/NSAttributes'
          title: |-
            NSProfile attributes and sub-attributes object
          type: array
      required:
      - nsprofile_attribute
      type: object
      x-vmw-nsx-module: NSProfile
    description: |
      An entity that encapsulates attributes and sub-attributes of various
      network services (ex. L7 services,domain name,encryption algorithm)
      The entity will be consumed in DFW rules and can be added in new
      tuple called profile in DFW rules. This entity is design to be generic
      and can be consumed at other places as well where attributes and
      sub-attributes collection can be used. To get a list of supported
      attributes and sub-attributes fire the following REST API
      GET https://&lt;nsx-mgr&gt;/api/v1/ns-profiles/attributes
    title: |-
      Network Services Profile entity
    x-vmw-nsx-module: NSProfile
  NSProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of NSProfiles
          items:
            $ref: '#/definitions/NSProfile'
          readOnly: true
          title: |-
            Paged collection of NSProfiles
          type: array
      type: object
      x-vmw-nsx-module: NSProfile
    description: |-
      List result of NSProfiles
    title: |-
      List result of NSProfiles
    x-vmw-nsx-module: NSProfile
  NSService:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        default_service:
          description: |
            The default NSServices are created in the system by default. These NSServices
            can't be modified/deleted
          readOnly: true
          title: |-
            NSServices created in the system by default
          type: boolean
        nsservice_element:
          $ref: '#/definitions/NSServiceElement'
          description: |-
            An NSService Element that describes traffic corresponding to this NSService
          title: |-
            An NSService Element that describes traffic corresponding to this NSService
      required:
      - nsservice_element
      type: object
      x-vmw-nsx-module: NSService
    description: |
      A Networking and Security Service allows users to specify characteristics to use
      for matching network traffic. For example the user can specify port and protocol
      pair.
    x-vmw-nsx-module: NSService
  NSServiceElement:
    description: |-
      An NSService element that describes traffic corresponding to an NSService
    discriminator: resource_type
    properties:
      resource_type:
        description: |-
          The specific type of NSServiceElement
        enum:
        - EtherTypeNSService
        - IPProtocolNSService
        - IGMPTypeNSService
        - ICMPTypeNSService
        - ALGTypeNSService
        - L4PortSetNSService
        title: |-
          The specific type of NSServiceElement
        type: string
    required:
    - resource_type
    title: |-
      An NSService element that describes traffic corresponding to an NSService
    type: object
    x-vmw-nsx-module: Types
  NSServiceGroup:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        default_service:
          description: |
            The default NSServiceGroups are created in the system by default. These
            NSServiceGroups can't be modified/deleted
          readOnly: true
          title: |-
            NSServiceGroups created in the system by default
          type: boolean
        members:
          description: |
            List of NSService resources that can be added as members
            to an NSServiceGroup.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 50
          type: array
        service_type:
          description: |-
            Type of the NSServiceGroup
          enum:
          - ETHER
          - NON_ETHER
          readOnly: true
          title: |-
            Type of the NSServiceGroup
          type: string
      required:
      - members
      type: object
      x-vmw-nsx-module: NSServiceGroup
    description: |
      A Networking and Security Service Group that represents a group of NSServices
    x-vmw-nsx-module: NSServiceGroup
  NSServiceGroupListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of NSServiceGroups
          items:
            $ref: '#/definitions/NSServiceGroup'
          title: |-
            Paged collection of NSServiceGroups
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NSServiceGroup
    description: |-
      List result of NSServiceGroups
    title: |-
      List result of NSServiceGroups
    x-vmw-nsx-module: NSServiceGroup
  NSServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of NSServices
          items:
            $ref: '#/definitions/NSService'
          title: |-
            Paged collection of NSServices
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: NSService
    description: |-
      List result of NSservices
    title: |-
      List result of NSservices
    x-vmw-nsx-module: NSService
  NSSupportedAttributeTypesResult:
    description: |-
      NSSupportedAttributes Types
    properties:
      attribute_types:
        description: |-
          List of NSSupportedAttributes types
        items:
          type: string
        readOnly: true
        title: |-
          List of NSSupportedAttributes types
        type: array
    title: |-
      NSSupportedAttributes Types
    type: object
    x-vmw-nsx-module: NSProfile
  NSSupportedAttributes:
    description: |-
      Supported attributes and sub-attributes for NSProfile
    properties:
      ns_attributes:
        description: |
          The type represent pre-defined or user defined list of supported attributes
          and sub-attributes that can be used while creating NSProfile
        items:
          $ref: '#/definitions/NSAttributes'
        title: |-
          Collection of supported attributes and sub-attributes
        type: array
    required:
    - ns_attributes
    title: |-
      Supported attributes and sub-attributes for NSProfile
    type: object
    x-vmw-nsx-module: NSProfile
  NSSupportedAttributesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of NSSupportedAttributes
          items:
            $ref: '#/definitions/NSSupportedAttributes'
          readOnly: true
          title: |-
            Paged collection of NSSupportedAttributes
          type: array
      type: object
      x-vmw-nsx-module: NSProfile
    description: |-
      NSSupportedAttributes for supported attributes and sub-attributes
    title: |-
      NSSupportedAttributes for supported attributes and sub-attributes
    x-vmw-nsx-module: NSProfile
  NSXProfileReference:
    allOf:
    - $ref: '#/definitions/ResourceReference'
    - properties:
        profile_type:
          description: |-
            Profile type of the ServiceConfig
          enum:
          - FirewallSessionTimerProfile
          - FirewallCpuMemThresholdsProfile
          - GiServiceProfile
          - FirewallFloodProtectionProfile
          - FirewallDnsProfile
          - LatencyStatProfile
          - SHAProfile
          - IpDiscoverySwitchingUpmProfile
          - SystemHealthPluginProfile
          - GeneralSecuritySettingsProfile
          type: string
      required:
      - profile_type
      type: object
      x-vmw-nsx-module: ServiceConfig
    description: |
      It is a reference to any NSX profile. It comprise of NSX profile type
      eg. DFWCPUProfile, CentralConfigProfile etc. and id of profile i.e. target_id
    title: |-
      Reference of single NSX profile which need to added in service config profiles
    x-vmw-nsx-module: ServiceConfig
  NamedTeamingPolicy:
    allOf:
    - $ref: '#/definitions/TeamingPolicy'
    - properties:
        name:
          description: |-
            An uplink teaming policy of a given name defined in UplinkHostSwitchProfile. The names of all NamedTeamingPolicies in an UplinkHostSwitchProfile must be different, but a name can be shared by different UplinkHostSwitchProfiles. Different TransportNodes can use different NamedTeamingPolicies having the same name in different UplinkHostSwitchProfiles to realize an uplink teaming policy on a logical switch. An uplink teaming policy on a logical switch can be any policy defined by a user; it does not have to be a single type of FAILOVER or LOADBALANCE. It can be a combination of types, for instance, a user can define a policy with name "MyHybridTeamingPolicy" as "FAILOVER on all ESX TransportNodes and LOADBALANCE on all KVM TransportNodes". The name is the key of the teaming policy and can not be changed once assigned.
          title: |-
            The name of the uplink teaming policy
          type: string
      required:
      - name
      type: object
      x-vmw-nsx-module: UplinkHostSwitchProfile
    description: |-
      Uplink Teaming Policy with a name that can be referenced by logical switches
    title: |-
      Uplink Teaming Policy with a name that can be referenced by logical switches
    x-vmw-nsx-module: UplinkHostSwitchProfile
  NatCounters:
    properties:
      active_sessions:
        description: |-
          The number of active sessions
        format: int64
        readOnly: true
        title: |-
          The number of active sessions
        type: integer
      total_bytes:
        description: |-
          The number of bytes
        format: int64
        readOnly: true
        title: |-
          The number of bytes
        type: integer
      total_packets:
        description: |-
          The number of packets
        format: int64
        readOnly: true
        title: |-
          The number of packets
        type: integer
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  NatRule:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        action:
          description: |
            Valid actions: SNAT, DNAT, NO_SNAT, NO_DNAT, REFLEXIVE, NAT64. All
            rules in a logical router are either stateless or stateful. Mix is
            not supported. SNAT and DNAT are stateful, can NOT be supported when
            the logical router is running at active-active HA mode; REFLEXIVE
            is stateless. NO_SNAT and NO_DNAT have no translated_fields, only
            match fields are supported.
          enum:
          - SNAT
          - DNAT
          - REFLEXIVE
          - NO_SNAT
          - NO_DNAT
          - NAT64
          type: string
        applied_tos:
          description: |-
            Holds the list of LogicalRouterPort Ids that a NAT rule can be applied to. The LogicalRouterPort used must belong to the same LogicalRouter for which the NAT Rule is created. As of now a NAT rule can only have a single LogicalRouterPort as applied_tos. When applied_tos is not set, the NAT rule is applied to all LogicalRouterPorts beloging to the LogicalRouter.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          title: |-
            List of LogicalRouterPort resources as applied to
          type: array
        enabled:
          default: true
          description: |
            Indicator to enable/disable the rule.
          title: |-
            enable/disable the rule
          type: boolean
        firewall_match:
          description: |
            Indicate how firewall is applied to a traffic packet. Firewall can be
            bypassed, or be applied to external/internal address of NAT rule.

            The firewall_match will take priority over nat_pass. If the firewall_match
            is not provided, the nat_pass will be picked up.
          enum:
          - MATCH_EXTERNAL_ADDRESS
          - MATCH_INTERNAL_ADDRESS
          - BYPASS
          type: string
        internal_rule_id:
          description: |-
            Internal NAT rule uuid for debug used in Controller and backend.
          readOnly: true
          title: |-
            Internal NAT rule uuid
          type: string
        logging:
          default: false
          description: |
            Enable/disable the logging of rule.
          title: |-
            Enable/disable the logging of rule
          type: boolean
        logical_router_id:
          description: |-
            The logical router id which the nat rule runs on.
          readOnly: true
          title: |-
            Logical router id
          type: string
        match_destination_network:
          description: |
            IP Address | CIDR | (null implies Any)
          title: |-
            match destination network
          type: string
        match_service:
          $ref: '#/definitions/NSServiceElement'
          description: |
            A NSServiceElement that specifies the matching services of source
            ports, destination ports, ip protocol version and number, sub protocol
            version and number, ICMP type and code, etc.
            The match_service can be one of IPProtocolNSService,L4PortSetNSService
            or ICMPTypeNSService. REFLEXIVE NAT does not support match_service.
          title: |-
            match service
        match_source_network:
          description: |
            IP Address | CIDR | (null implies Any)
          title: |-
            match source network
          type: string
        nat_pass:
          default: true
          description: |
            Default is true. If the nat_pass is set to true, the following firewall
            stage will be skipped. Please note, if action is NO_SNAT or NO_DNAT,
            then nat_pass must be set to true or omitted.

            Nat_pass was deprecated with an alternative firewall_match. Please stop
            using nat_pass to specify whether firewall stage is skipped. if you want
            to skip, please set firewall_match to BYPASS. If you do not want to skip,
            please set the firewall_match to MATCH_EXTERNAL_ADDRESS or
            MATCH_INTERNAL_ADDRESS.

            Please note, the firewall_match will take priority over the nat_pass.
            If both are provided, the nat_pass is ignored. If firewall_match is not
            provided while the nat_pass is specified, the nat_pass will still be
            picked up. In this case, if nat_pass is set to false, firewall rule will
            be applied on internall address of a packet, i.e. MATCH_INTERNAL_ADDRESS.
          title: |-
            enable/disable to bypass following firewall stage
          type: boolean
          x-deprecated: true
        rule_priority:
          default: 1024
          description: |
            Ascending, valid range [0-2147483647]. If multiple rules have the same
            priority, evaluation sequence is undefined.
          format: int64
          title: |-
            NAT rule priority
          type: integer
        translated_network:
          description: |
            The translated address for the matched IP packet. For a SNAT, it can be
            a single ip address, an ip range, or a CIDR block. For a DNAT and
            a REFLEXIVE, it can be a single ip address or a CIDR block. Translated
            network is not supported for NO_SNAT or NO_DNAT.
          title: |-
            IP Address | IP Range | CIDR
          type: string
        translated_ports:
          description: |
            The translated port(s) for the mtached IP packet. It can be a single
            port or a port range. Please note, port translating is supported only
            for DNAT.
          title: |-
            port number or port range. DNAT only
          type: string
      required:
      - action
      type: object
      x-vmw-nsx-module: Nat
    description: |
      The configuration entity to define a NAT rule. It defines how an ip packet
      is matched via source address or/and destination address or/and service(s),
      how the address (and/or) port is translated, and how the related firewall
      stage is involved or bypassed.
    title: |-
      The configuration entity to define a NAT rule
    x-vmw-nsx-module: Nat
  NatRuleList:
    properties:
      rules:
        description: |
          Add new NatRules to the list in Bulk creation.
        items:
          $ref: '#/definitions/NatRule'
        maxItems: 128
        title: |-
          NAT rules list
        type: array
    required:
    - rules
    type: object
    x-vmw-nsx-module: Nat
  NatRuleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            NAT rule list results
          items:
            $ref: '#/definitions/NatRule'
          title: |-
            NAT rule list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Nat
    x-vmw-nsx-module: Nat
  NatStatisticsPerLogicalRouter:
    properties:
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      logical_router_id:
        description: |-
          Id for the logical router
        readOnly: true
        title: |-
          Id for the logical router
        type: string
      per_transport_node_statistics:
        description: |-
          Detailed per node statistics
        items:
          $ref: '#/definitions/NatStatisticsPerTransportNode'
        readOnly: true
        title: |-
          Detailed per node statistics
        type: array
      statistics_across_all_nodes:
        $ref: '#/definitions/NatCounters'
        description: |-
          Rolled-up statistics for all rules on the logical router across all the nodes
        readOnly: true
        title: |-
          Rolled-up statistics for all rules on the logical router across all the nodes
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  NatStatisticsPerRule:
    allOf:
    - $ref: '#/definitions/NatCounters'
    - properties:
        id:
          description: |-
            The id of the NAT rule.
          readOnly: true
          title: |-
            The id of the NAT rule.
          type: string
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_router_id:
          description: |-
            The id of the logical router which owns the NAT rule.
          readOnly: true
          title: |-
            The id of the logical router which owns the NAT rule.
          type: string
        warning_message:
          description: |-
            The warning message about the NAT Rule statistics.
          readOnly: true
          title: |-
            The warning message about the NAT Rule statistics.
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  NatStatisticsPerTransportNode:
    allOf:
    - $ref: '#/definitions/NatCounters'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        transport_node_id:
          description: |-
            Id for the transport node
          readOnly: true
          title: |-
            Id for the transport node
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalRouter
    x-vmw-nsx-module: AggSvcLogicalRouter
  NdpHeader:
    description: |-
      Neighbor discovery protocol header
    properties:
      dst_ip:
        description: |-
          The IP address of the destination of the solicitation. It MUST NOT be a multicast address.
        format: ipv6
        type: string
      msg_type:
        default: NEIGHBOR_SOLICITATION
        description: |-
          This field specifies the type of the Neighbor discover message being sent. NEIGHBOR_SOLICITATION - Neighbor Solicitation message to discover the link-layer address of an on-link IPv6 node or to confirm a previously determined link-layer address. NEIGHBOR_ADVERTISEMENT - Neighbor Advertisement message in response to a Neighbor Solicitation message.
        enum:
        - NEIGHBOR_SOLICITATION
        - NEIGHBOR_ADVERTISEMENT
        title: |-
          NDP message type
        type: string
    title: |-
      Neighbor discovery protocol header
    type: object
    x-vmw-nsx-module: Traceflow
  NeighborProperties:
    description: |-
      Neighbor properties
    properties:
      capabilities:
        description: |-
          Capabilities
        readOnly: true
        title: |-
          Capabilities
        type: string
      enabled_capabilities:
        description: |-
          Enabled capabilities
        readOnly: true
        title: |-
          Enabled capabilities
        type: string
      ifindex:
        description: |-
          Interface index
        format: int64
        readOnly: true
        title: |-
          Interface index
        type: integer
      link_aggregation_capable:
        description: |-
          Aggregation Capability
        readOnly: true
        title: |-
          Aggregation Capability
        type: boolean
      link_aggregation_port_id:
        description: |-
          Aggregation port id
        readOnly: true
        title: |-
          Aggregation port id
        type: string
      link_aggregation_status:
        description: |-
          True if currently in aggregation
        readOnly: true
        title: |-
          Aggregation Status
        type: boolean
      mac:
        description: |-
          Interface MAC address
        readOnly: true
        title: |-
          Interface MAC address
        type: string
      mgmt_addr:
        description: |-
          Management address
        readOnly: true
        title: |-
          Management address
        type: string
      name:
        description: |-
          Interface name
        readOnly: true
        title: |-
          Interface name
        type: string
      oid:
        description: |-
          Object identifier
        readOnly: true
        title: |-
          Object identifier
        type: string
      port_desc:
        description: |-
          Port description
        readOnly: true
        title: |-
          Port description
        type: string
      system_desc:
        description: |-
          System description
        readOnly: true
        title: |-
          System description
        type: string
      system_name:
        description: |-
          System name
        readOnly: true
        title: |-
          System name
        type: string
      system_port_number:
        description: |-
          System port number
        format: int64
        readOnly: true
        title: |-
          System port number
        type: integer
    title: |-
      Neighbor properties
    type: object
    x-vmw-nsx-module: Lldp
  NetworkError:
    description: |-
      Network error related to container objects.
    properties:
      error_code:
        description: |-
          Error code of network related error.
        readOnly: true
        title: |-
          Error code
        type: string
      error_message:
        description: |-
          Detailed message of network related error.
        readOnly: true
        title: |-
          Error message
        type: string
      spec:
        description: |-
          Additional error information in json format.
        readOnly: true
        title: |-
          Other specifications
        type: string
    title: |-
      Network Error
    type: object
    x-vmw-nsx-module: InventoryContainerObj
  NewRole:
    description: |-
      New Role
    properties:
      new_role_description:
        description: |-
          New role description
        title: |-
          New role description
        type: string
      new_role_id:
        description: |-
          New role id
        title: |-
          New role id
        type: string
      new_role_name:
        description: |-
          New role name
        title: |-
          New role name
        type: string
    required:
    - new_role_name
    - new_role_id
    title: |-
      New Role
    type: object
    x-vmw-nsx-module: AAA
  NextHopPrefixListsMapping:
    description: |-
      Next hop to prefix lists mapping.
    properties:
      next_hop:
        description: |-
          Next hop address.
        title: |-
          Next hop address
        type: string
      prefix_lists:
        description: |-
          Array of Prefix list UUIDs.
        items:
          type: string
        maxItems: 1
        minItems: 1
        title: |-
          Prefix list UUIDs
        type: array
    required:
    - prefix_lists
    - next_hop
    title: |-
      Next hop to prefix lists mapping
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  NicInfo:
    description: |-
      Information of a network interface present on the partner appliance that needs to be configured by the NSX Manager.
    properties:
      gateway_address:
        description: |-
          Gateway address associated with the NIC metadata.
        readOnly: false
        title: |-
          Gateway address
        type: string
      ip_address:
        description: |-
          IP address associated with the NIC metadata. Required only when assigning IP statically for a deployment that is for a single VM instance.
        readOnly: false
        title: |-
          IP address
        type: string
      ip_allocation_type:
        description: |-
          IP allocation type with values STATIC, DHCP, or NONE indicating that IP address is not required.
        enum:
        - STATIC
        - DHCP
        - NONE
        readOnly: false
        title: |-
          IP allocation type
        type: string
      ip_pool_id:
        description: |-
          If the nic should get IP using a static IP pool then IP pool id should be provided here.
        readOnly: false
        title: |-
          Static IP Pool Id
        type: string
      network_id:
        description: |-
          Network Id associated with the NIC metadata. It can be a moref, or a logical switch ID. If it is to be taken from 'Agent VM Settings', then it should be empty.
        readOnly: false
        title: |-
          Network Id
        type: string
      nic_metadata:
        $ref: '#/definitions/NicMetadata'
        description: |-
          NIC metadata information.
        readOnly: true
        title: |-
          NIC metadata
      subnet_mask:
        description: |-
          Subnet mask associated with the NIC metadata.
        readOnly: false
        title: |-
          Subnet mask
        type: string
    title: |-
      NIC information
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  NicMetadata:
    description: |-
      Information on the Network interfaces present on the partner appliance that needs to be configured by the NSX Manager.
    properties:
      interface_index:
        description: |-
          Network Interface index.
        format: int64
        minimum: 0
        readOnly: false
        title: |-
          Interface Index
        type: integer
      interface_label:
        description: |-
          Network Interface label.
        readOnly: false
        title: |-
          Interface label
        type: string
      interface_type:
        description: |-
          Interface that needs to be configured on the partner appliance. Ex. MANAGEMENT, DATA1, DATA2, HA1, HA2, CONTROL.
        enum:
        - MANAGEMENT
        - DATA1
        - DATA2
        - HA1
        - HA2
        - CONTROL
        readOnly: false
        title: |-
          Interface type
        type: string
      transports:
        description: |-
          Transport Type of the service, which is the mechanism of redirecting the traffic to the the partner appliance. Transport type is required if Service caters to any functionality other than EPP. Here, the transports array specifies the kinds of transport where this particular NIC is user configurable. If nothing is specified, and the "user_configurable" flag is true, then user configuration will be allowed for all transports. If any transport is/are specified, then it will be considered as user configurable for the specified transports only."
        items:
          enum:
          - L2_BRIDGE
          - L3_ROUTED
          - NSH
          type: string
        maxItems: 3
        minItems: 0
        readOnly: false
        title: |-
          Transport Type
        type: array
      user_configurable:
        description: |-
          Used to specify if the given interface needs configuration. Management nics will always need the configuration, for others it will be use case specific. For example, a DATA NIC may be user configurable if the appliance is deployed in certain mode, such as L3_ROUTED.
        readOnly: false
        title: |-
          Required Configuration
        type: boolean
    required:
    - interface_label
    - interface_type
    - interface_index
    title: |-
      NIC Metadata
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  NiocProfile:
    allOf:
    - $ref: '#/definitions/BaseHostSwitchProfile'
    - properties:
        enabled:
          default: true
          description: |
            The enabled property specifies the status of NIOC feature.
            When enabled is set to true, NIOC feature is turned on and
            the bandwidth allocations specified for the traffic resources
            are enforced. When enabled is set to false, NIOC feature
            is turned off and no bandwidth allocation is guaranteed.
            By default, enabled will be set to true.
          title: |-
            Enabled status of NIOC feature
          type: boolean
        host_infra_traffic_res:
          description: |
            host_infra_traffic_res specifies bandwidth allocation for
            various traffic resources.
          items:
            $ref: '#/definitions/ResourceAllocation'
          title: |-
            Resource allocation associated with NiocProfile
          type: array
      type: object
      x-vmw-nsx-module: NiocProfile
    description: |
      This profile is created for Network I/O Control(NIOC).
    title: |-
      Profile for Nioc
    x-vmw-nsx-module: NiocProfile
  Node:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        discovered_ip_addresses:
          description: |-
            Discovered IP Addresses of the fabric node, version 4 or 6
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          readOnly: true
          title: |-
            Discovered IP Addresses of the fabric node, version 4 or 6
          type: array
        external_id:
          description: |-
            ID of the Node maintained on the Node and used to recognize the Node
          title: |-
            ID of the Node maintained on the Node and used to recognize the Node
          type: string
        fqdn:
          description: |-
            Fully qualified domain name of the fabric node
          readOnly: true
          title: |-
            Fully qualified domain name of the fabric node
          type: string
        ip_addresses:
          description: |
            IP Addresses of the Node, version 4 or 6. This property is mandatory for all nodes except for
            automatic deployment of edge virtual machine node. For automatic deployment, the ip address from
            management_port_subnets property will be considered.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          title: |-
            IP Addresses of the Node, version 4 or 6
          type: array
        resource_type:
          description: |-
            Fabric node type, for example 'HostNode', 'EdgeNode' or 'PublicCloudGatewayNode'
          title: |-
            Fabric node type, for example 'HostNode', 'EdgeNode' or 'PublicCloudGatewayNode'
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: FabricNode
    x-vmw-nsx-module: FabricNode
  NodeAsyncReplicatorServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/LoggingServiceProperties'
          description: |-
            Service properties
          title: |-
            Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service properties
    title: |-
      Node service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeAuthProviderVidmProperties:
    description: |-
      Node AAA provider vIDM properties
    properties:
      client_id:
        description: |-
          vIDM client id
        title: |-
          vIDM client id
        type: string
      client_secret:
        description: |-
          vIDM client secret
        title: |-
          vIDM client secret
        type: string
      host_name:
        description: |-
          Fully Qualified Domain Name(FQDN) of vIDM
        title: |-
          Fully Qualified Domain Name(FQDN) of vIDM
        type: string
      lb_enable:
        description: |-
          Load Balancer enable flag
        title: |-
          Load Balancer enable flag
        type: boolean
      node_host_name:
        description: |-
          host name to use when creating the redirect URL for clients to follow after authenticating to vIDM
        title: |-
          host name of the node redirected to
        type: string
      thumbprint:
        description: |-
          Hexadecimal SHA256 hash of the vIDM server's X.509 certificate
        title: |-
          vIDM certificate thumbprint
        type: string
      vidm_enable:
        description: |-
          vIDM enable flag
        title: |-
          vIDM enable flag
        type: boolean
    required:
    - node_host_name
    - host_name
    - client_id
    - thumbprint
    title: |-
      Node AAA provider vIDM properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NodeAuthProviderVidmStatus:
    description: |-
      Node AAA provider vIDM status
    properties:
      runtime_state:
        description: |-
          AAA provider vIDM status
        title: |-
          AAA provider vIDM status
        type: string
      vidm_enable:
        description: |-
          vIDM enable flag
        title: |-
          vIDM enable flag
        type: boolean
    required:
    - runtime_state
    - vidm_enable
    title: |-
      Node AAA provider vIDM status
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NodeCapabilitiesResult:
    description: |-
      List of capabilities of a fabric node
    properties:
      capabilities:
        description: |-
          Node capability results
        items:
          $ref: '#/definitions/NodeCapability'
        title: |-
          Node capability results
        type: array
    required:
    - capabilities
    title: |-
      List of capabilities of a fabric node
    type: object
    x-vmw-nsx-module: FabricNode
  NodeCapability:
    description: |-
      Capability of a fabric node
    properties:
      description:
        description: |-
          Description of this capability that can be displayed in UI
        readOnly: true
        title: |-
          Description of this capability that can be displayed in UI
        type: string
      key:
        description: |-
          String that identifies the base capability for all nodes
        readOnly: true
        title: |-
          String that identifies the base capability for all nodes
        type: string
      provider:
        description: |-
          Provider of this capability for the node
        readOnly: true
        title: |-
          Provider of this capability for the node
        type: string
      value:
        description: |-
          Value of this capability
        readOnly: true
        title: |-
          Value of this capability
        type: string
      version:
        description: |-
          Version of the capability
        format: int32
        readOnly: true
        title: |-
          Version of the capability
        type: integer
    title: |-
      Capability of a fabric node
    type: object
    x-vmw-nsx-module: FabricNode
  NodeCertificateInfo:
    properties:
      certificate:
        description: |-
          Certificate content
        title: |-
          Certificate content
        type: string
      certificate_sha256_thumbprint:
        description: |-
          SHA256 of certificate
        title: |-
          SHA256 of certificate
        type: string
      entity_type:
        description: |-
          Entity type of this certificate
        enum:
        - HTTP
        - DATASTORE
        - MANAGER
        - POLICY
        - CONTROLLER
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  NodeEntityInfo:
    properties:
      entity_type:
        description: |-
          Entity type of this service endpoint
        enum:
        - HTTP
        - DATASTORE
        - MANAGER
        - POLICY
        - CONTROLLER
        type: string
      ip_address:
        description: |-
          IP address of service provider
        title: |-
          IP address of service provider
        type: string
      port:
        description: |-
          Port number of service provider
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Port number of service provider
        type: integer
    type: object
    x-vmw-nsx-module: ClusterManagement
  NodeFileSystemProperties:
    description: |-
      File system properties
    properties:
      file_system:
        description: |-
          File system id
        readOnly: true
        title: |-
          File system id
        type: string
      mount:
        description: |-
          File system mount
        readOnly: true
        title: |-
          File system mount
        type: string
      total:
        description: |-
          File system size in kilobytes
        format: int64
        readOnly: true
        title: |-
          File system size in kilobytes
        type: integer
      type:
        description: |-
          File system type
        readOnly: true
        title: |-
          File system type
        type: string
      used:
        description: |-
          Amount of file system used in kilobytes
        format: int64
        readOnly: true
        title: |-
          Amount of file system used in kilobytes
        type: integer
    title: |-
      File system properties
    type: object
    x-vmw-nsx-module: ApplianceStats
  NodeHttpServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/HttpServiceProperties'
          description: |-
            HTTP Service properties
          title: |-
            HTTP Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node HTTP service properties
    title: |-
      Node HTTP service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeIdServicesMap:
    properties:
      node_id:
        description: |-
          NodeId
        maxLength: 255
        readOnly: false
        title: |-
          NodeId
        type: string
      service_types:
        description: |-
          List of ServiceTypes.
        items:
          description: |-
            Supported service types, that are using certificates.
          enum:
          - MGMT_CLUSTER
          - MGMT_PLANE
          - API
          - NOTIFICATION_COLLECTOR
          - SYSLOG_SERVER
          - RSYSLOG_CLIENT
          - APH
          - GLOBAL_MANAGER
          - LOCAL_MANAGER
          - CLIENT_AUTH
          - RMQ
          type: string
        readOnly: false
        type: array
    required:
    - service_types
    - node_id
    type: object
    x-vmw-nsx-module: CertificateManager
  NodeInfo:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        component_version:
          description: |-
            Component version of the node
          readOnly: true
          title: |-
            Component version of the node
          type: string
        display_name:
          description: |-
            Name of the node
          readOnly: true
          title: |-
            Name of the node
          type: string
        id:
          description: |-
            Identifier of the node
          readOnly: true
          title: |-
            UUID of node
          type: string
        type:
          description: |-
            Node type
          readOnly: true
          title: |-
            Node type
          type: string
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  NodeInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of Nodes
          items:
            $ref: '#/definitions/NodeInfo'
          title: |-
            Paged Collection of Nodes
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  NodeInstallUpgradeServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/InstallUpgradeServiceProperties'
          description: |-
            install-upgrade Service properties
          title: |-
            install-upgrade Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node install-upgrade service properties
    title: |-
      Node install-upgrade service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeInterSiteStatistics:
    properties:
      last_update_timestamp:
        description: |
          Timestamp when the remote tunnel port statistics was last updated.
        format: int64
        readOnly: true
        type: integer
      stats_per_site:
        description: |-
          Remote tunnel statistics per site.
        items:
          $ref: '#/definitions/RemoteTunnelStatisticsPerSite'
        readOnly: true
        title: |-
          Remote tunnel statistics per site
        type: array
      transport_node_id:
        description: |-
          Edge node id whose statistics is being reported.
        readOnly: true
        title: |-
          Edge node id
        type: string
    type: object
    x-vmw-nsx-module: AggSvcInterSite
  NodeInterfaceAlias:
    description: |-
      Node network interface alias
    properties:
      broadcast_address:
        description: |-
          Interface broadcast address
        format: ip
        type: string
      ip_address:
        description: |-
          Interface IP address
        format: ip
        type: string
      ip_configuration:
        description: |-
          Interface configuration
        enum:
        - dhcp
        - static
        - not configured
        title: |-
          Interface configuration
        type: string
      netmask:
        description: |-
          Interface netmask
        title: |-
          Interface netmask
        type: string
      physical_address:
        description: |-
          Interface MAC address
        format: mac-address
        type: string
    title: |-
      Node network interface alias
    type: object
    x-vmw-nsx-module: ApplianceStats
  NodeInterfaceProperties:
    description: |-
      Node network interface properties
    properties:
      admin_status:
        description: |-
          Interface administration status
        enum:
        - UP
        - DOWN
        title: |-
          Interface administration status
        type: string
      backing_nsx_managed:
        description: |-
          Indicates whether backing of VIRTUAL network interface is managed by NSX
        title: |-
          Indicates whether backing of VIRTUAL network interface is managed by NSX
        type: boolean
      connected_switch:
        description: |-
          Connected switch
        title: |-
          Connected switch
        type: string
      connected_switch_type:
        description: |-
          Type of switch associated with the interface.
        enum:
        - VSS
        - DVS
        - N-VDS
        readOnly: true
        title: |-
          Type of switch
        type: string
      device:
        description: |-
          Device name.
        readOnly: true
        title: |-
          Device name
        type: string
      driver:
        description: |-
          Driver name.
        readOnly: true
        title: |-
          Driver name
        type: string
      ens_capable:
        description: |-
          Interface capability for Enhanced Networking Stack
        title: |-
          Interface capability for Enhanced Networking Stack
        type: boolean
      ens_enabled:
        description: |-
          Indicates whether interface is enabled for Enhanced Networking Stack
        title: |-
          Indicates whether interface is enabled for Enhanced Networking Stack
        type: boolean
      ens_interrupt_capable:
        description: |-
          This boolean property describes if network interface is capable for Enhanced Networking Stack interrupt
        title: |-
          Interface capability for Enhanced Networking Stack interrupt
        type: boolean
      ens_interrupt_enabled:
        description: |-
          This boolean property describes if network interface is enabled for Enhanced Networking Stack interrupt
        title: |-
          Indicates whether interface is enabled for Enhanced Networking Stack interrupt
        type: boolean
      host_managed:
        description: |-
          Indicates whether interface is managed by the host
        title: |-
          Indicates whether interface is managed by the host
        type: boolean
      interface_alias:
        description: |-
          IP Alias
        items:
          $ref: '#/definitions/NodeInterfaceAlias'
        title: |-
          IP Alias
        type: array
      interface_id:
        description: |-
          Interface ID
        title: |-
          Interface ID
        type: string
      interface_type:
        description: |-
          Interface Type
        enum:
        - PHYSICAL
        - VIRTUAL
        title: |-
          Interface Type
        type: string
      key:
        description: |-
          Device key.
        readOnly: true
        title: |-
          Device key
        type: string
      link_status:
        description: |-
          Interface administration status
        enum:
        - UP
        - DOWN
        title: |-
          Interface administration status
        type: string
      lport_attachment_id:
        description: |-
          LPort Attachment Id assigned to VIRTUAL network interface of a node
        title: |-
          LPort Attachment Id assigned to VIRTUAL network interface of a node
        type: string
      mtu:
        description: |-
          Interface MTU
        format: int64
        title: |-
          Interface MTU
        type: integer
      pci:
        description: |-
          PCI device.
        readOnly: true
        title: |-
          PCI device
        type: string
      source:
        description: |-
          Source of status data
        enum:
        - realtime
        - cached
        type: string
    title: |-
      Node network interface properties
    type: object
    x-vmw-nsx-module: ApplianceStats
  NodeInterfacePropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node interface property results
          items:
            $ref: '#/definitions/NodeInterfaceProperties'
          title: |-
            Node interface property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ApplianceStats
    description: |-
      Node network interface properties list results
    title: |-
      Node network interface properties list results
    x-vmw-nsx-module: ApplianceStats
  NodeInterfaceStatisticsProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        interface_id:
          description: |-
            Interface ID
          title: |-
            Interface ID
          type: string
        rx_bytes:
          description: |-
            Number of bytes received
          format: int64
          title: |-
            Number of bytes received
          type: integer
        rx_dropped:
          description: |-
            Number of packets dropped
          format: int64
          title: |-
            Number of packets dropped
          type: integer
        rx_errors:
          description: |-
            Number of receive errors
          format: int64
          title: |-
            Number of receive errors
          type: integer
        rx_frame:
          description: |-
            Number of framing errors
          format: int64
          title: |-
            Number of framing errors
          type: integer
        rx_packets:
          description: |-
            Number of packets received
          format: int64
          title: |-
            Number of packets received
          type: integer
        source:
          description: |-
            Source of status data.
          enum:
          - realtime
          - cached
          type: string
        tx_bytes:
          description: |-
            Number of bytes transmitted
          format: int64
          title: |-
            Number of bytes transmitted
          type: integer
        tx_carrier:
          description: |-
            Number of carrier losses detected
          format: int64
          title: |-
            Number of carrier losses detected
          type: integer
        tx_colls:
          description: |-
            Number of collisions detected
          format: int64
          title: |-
            Number of collisions detected
          type: integer
        tx_dropped:
          description: |-
            Number of packets dropped
          format: int64
          title: |-
            Number of packets dropped
          type: integer
        tx_errors:
          description: |-
            Number of transmit errors
          format: int64
          title: |-
            Number of transmit errors
          type: integer
        tx_packets:
          description: |-
            Number of packets transmitted
          format: int64
          title: |-
            Number of packets transmitted
          type: integer
      type: object
      x-vmw-nsx-module: ApplianceStats
    description: |-
      Node network interface statistic properties
    title: |-
      Node network interface statistic properties
    x-vmw-nsx-module: ApplianceStats
  NodeListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node list results
          items:
            $ref: '#/definitions/Node'
          title: |-
            Node list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: FabricNode
    description: |-
      Node list result
    title: |-
      Node list result
    x-vmw-nsx-module: FabricNode
  NodeLogProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        last_modified_time:
          description: |-
            Last modified time expressed in milliseconds since epoch
          format: int64
          readOnly: true
          type: integer
        log_name:
          description: |-
            Name of log file
          readOnly: true
          title: |-
            Name of log file
          type: string
        log_size:
          description: |-
            Size of log file in bytes
          format: int64
          readOnly: true
          title: |-
            Size of log file in bytes
          type: integer
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node log properties
    title: |-
      Node log properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeLogPropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node log property results
          items:
            $ref: '#/definitions/NodeLogProperties'
          title: |-
            Node log property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node log property query results
    title: |-
      Node log property query results
    x-vmw-nsx-module: MISSING_MODULE
  NodeMessagingClientInfo:
    properties:
      clients:
        description: |-
          A list of messaging clients owned by this entity
        items:
          $ref: '#/definitions/MessagingClientInfo'
        title: |-
          A list of messaging clients owned by this entity
        type: array
      entity_type:
        description: |-
          Entity type of this messaging client
        enum:
        - HTTP
        - DATASTORE
        - MANAGER
        - POLICY
        - CONTROLLER
        type: string
    type: object
    x-vmw-nsx-module: ClusterManagement
  NodeMode:
    description: |-
      Possible values of a mode in a "/config/nsx_appliance_mode" file
    properties:
      mode_id:
        description: |-
          Possible enum values in a "/config/nsx_appliance_mode" file
        enum:
        - ON_PREM
        - SERVICE
        - VMC
        - VMC_LOCAL
        title: |-
          Nsx node mode
        type: string
    required:
    - mode_id
    title: |-
      Stub for Nsx node modes
    type: object
    x-vmw-nsx-module: ApplianceModes
  NodeNameServersProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        name_servers:
          description: |-
            Name servers
          items:
            type: string
          maxItems: 3
          title: |-
            Name servers
          type: array
      required:
      - name_servers
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network name servers properties
    title: |-
      Node network name servers properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeNetworkInterfaceProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        admin_status:
          description: |-
            Interface administration status
          enum:
          - up
          - down
          readOnly: true
          title: |-
            Interface administration status
          type: string
        bond_mode:
          description: |-
            Bond mode
          enum:
          - ACTIVE_BACKUP
          - 802_3AD
          - ROUND_ROBIN
          - BROADCAST
          - XOR
          - TLB
          - ALB
          title: |-
            Bond mode
          type: string
        bond_primary:
          description: |-
            Bond's primary device name in active-backup bond mode
          title: |-
            Bond's primary device name in active-backup bond mode
          type: string
        bond_slaves:
          description: |-
            Bond's slave devices
          items:
            type: string
          title: |-
            Bond's slave devices
          type: array
        broadcast_address:
          description: |-
            Interface broadcast address
          title: |-
            Interface broadcast address
          type: string
        default_gateway:
          description: |-
            Interface's default gateway
          title: |-
            Interface's default gateway
          type: string
        interface_id:
          description: |-
            Interface ID
          readOnly: true
          title: |-
            Interface ID
          type: string
        ip_addresses:
          description: |-
            Interface IP addresses
          items:
            $ref: '#/definitions/IPv4AddressProperties'
          maxItems: 1
          title: |-
            Interface IP addresses
          type: array
        ip_configuration:
          description: |-
            Interface configuration
          enum:
          - dhcp
          - static
          - not configured
          title: |-
            Interface configuration
          type: string
        is_kni:
          description: |-
            Interface is a KNI
          readOnly: true
          title: |-
            Interface is a KNI
          type: boolean
        link_status:
          description: |-
            Interface administration status
          enum:
          - up
          - down
          readOnly: true
          title: |-
            Interface administration status
          type: string
        mtu:
          description: |-
            Interface MTU
          format: int64
          title: |-
            Interface MTU
          type: integer
        physical_address:
          description: |-
            Interface MAC address
          readOnly: true
          title: |-
            Interface MAC address
          type: string
        plane:
          description: |-
            Interface plane
          enum:
          - mgmt
          - debug
          - none
          title: |-
            Interface plane
          type: string
        vlan:
          description: |-
            VLAN Id
          format: int64
          maximum: 4094
          minimum: 1
          readOnly: true
          title: |-
            VLAN Id
          type: integer
      required:
      - ip_configuration
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network interface properties
    title: |-
      Node network interface properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeNetworkInterfacePropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node network interface property results
          items:
            $ref: '#/definitions/NodeNetworkInterfaceProperties'
          title: |-
            Node network interface property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network interface properties list results
    title: |-
      Node network interface properties list results
    x-vmw-nsx-module: MISSING_MODULE
  NodeNetworkProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Network configuration properties
    title: |-
      Network configuration properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeNtpServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/NtpServiceProperties'
          description: |-
            NTP Service properties
          title: |-
            NTP Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node NTP service properties
    title: |-
      Node NTP service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodePolicyServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/LoggingServiceProperties'
          description: |-
            Service properties
          title: |-
            Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service properties
    title: |-
      Node service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeProcessProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        cpu_time:
          description: |-
            CPU time (user and system) consumed by process in milliseconds
          format: int64
          readOnly: true
          title: |-
            CPU time (user and system) consumed by process in milliseconds
          type: integer
        mem_resident:
          description: |-
            Resident set size of process in bytes
          format: int64
          readOnly: true
          title: |-
            Resident set size of process in bytes
          type: integer
        mem_used:
          description: |-
            Virtual memory used by process in bytes
          format: int64
          readOnly: true
          title: |-
            Virtual memory used by process in bytes
          type: integer
        pid:
          description: |-
            Process id
          format: int64
          readOnly: true
          title: |-
            Process id
          type: integer
        ppid:
          description: |-
            Parent process id
          format: int64
          readOnly: true
          title: |-
            Parent process id
          type: integer
        process_name:
          description: |-
            Process name
          readOnly: true
          title: |-
            Process name
          type: string
        start_time:
          description: |-
            Process start time expressed in milliseconds since epoch
          format: int64
          readOnly: true
          type: integer
        uptime:
          description: |-
            Milliseconds since process started
          format: int64
          readOnly: true
          title: |-
            Milliseconds since process started
          type: integer
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node process properties
    title: |-
      Node process properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeProcessPropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node process property results
          items:
            $ref: '#/definitions/NodeProcessProperties'
          title: |-
            Node process property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node process property query results
    title: |-
      Node process property query results
    x-vmw-nsx-module: MISSING_MODULE
  NodeProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        cli_output_datetime:
          description: |-
            NSX CLI display datetime stamp in command output
          title: |-
            NSX CLI display datetime stamp in command output
          type: boolean
        cli_timeout:
          description: |-
            NSX CLI inactivity timeout, set to 0 to configure no timeout
          format: int64
          minimum: 0
          title: |-
            NSX CLI inactivity timeout, set to 0 to configure no timeout
          type: integer
        export_type:
          description: |-
            Export restrictions in effect, if any
          enum:
          - RESTRICTED
          - UNRESTRICTED
          readOnly: true
          title: |-
            Export restrictions in effect, if any
          type: string
        fully_qualified_domain_name:
          description: |-
            Fully qualified domain name
          readOnly: true
          title: |-
            Fully qualified domain name
          type: string
        hostname:
          description: |-
            Host name or fully qualified domain name of node
          pattern: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/
          type: string
        kernel_version:
          description: |-
            Kernel version
          readOnly: true
          title: |-
            Kernel version
          type: string
        motd:
          description: |-
            Message of the day to display when users login to node using the NSX CLI
          title: |-
            Message of the day to display when users login to node using the NSX CLI
        node_uuid:
          description: |-
            Node Unique Identifier
          maxLength: 36
          readOnly: true
          title: |-
            Node Unique Identifier
          type: string
        node_version:
          description: |-
            Node version
          readOnly: true
          title: |-
            Node version
          type: string
        product_version:
          description: |-
            Product version
          readOnly: true
          title: |-
            Product version
          type: string
        system_datetime:
          description: |-
            System date time in UTC
          type: string
        system_time:
          description: |-
            Current time expressed in milliseconds since epoch
          format: int64
          readOnly: true
          type: integer
        timezone:
          description: |-
            Timezone
          title: |-
            Timezone
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node properties
    title: |-
      Node properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeProtonServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/LoggingServiceProperties'
          description: |-
            Service properties
          title: |-
            Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service properties
    title: |-
      Node service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeRouteProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        destination:
          description: |-
            Destination covered by route
          title: |-
            Destination covered by route
          type: string
        from_address:
          description: |-
            From address
          title: |-
            From address
          type: string
        gateway:
          description: |-
            Address of next hop
          title: |-
            Address of next hop
          type: string
        interface_id:
          description: |-
            Network interface id of route
          title: |-
            Network interface id of route
          type: string
        metric:
          description: |-
            Metric value of route
          title: |-
            Metric value of route
          type: string
        netmask:
          description: |-
            Netmask of destination covered by route
          title: |-
            Netmask of destination covered by route
          type: string
        proto:
          default: boot
          description: |-
            Routing protocol identifier of route
          enum:
          - unspec
          - redirect
          - kernel
          - boot
          - static
          - gated
          - ra
          - mrt
          - zebra
          - bird
          - dnrouted
          - xorp
          - ntk
          - dhcp
          title: |-
            Routing protocol identifier of route
          type: string
        route_id:
          description: |-
            Unique identifier for the route
          readOnly: true
          title: |-
            Unique identifier for the route
          type: string
        route_type:
          description: |-
            Route type
          enum:
          - default
          - static
          - blackhole
          - prohibit
          - throw
          - unreachable
          title: |-
            Route type
          type: string
        scope:
          description: |-
            Scope of destinations covered by route
          title: |-
            Scope of destinations covered by route
          type: string
        src:
          description: |-
            Source address to prefer when sending to destinations of route
          title: |-
            Source address to prefer when sending to destinations of route
          type: string
      required:
      - route_type
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network route properties
    title: |-
      Node network route properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeRoutePropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node route property results
          items:
            $ref: '#/definitions/NodeRouteProperties'
          title: |-
            Node route property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network route properties list results
    title: |-
      Node network route properties list results
    x-vmw-nsx-module: MISSING_MODULE
  NodeRtepIpsConfig:
    properties:
      member_index:
        description: |-
          System generated index for cluster member
        format: int32
        readOnly: true
        title: |-
          System generated index for cluster member
        type: integer
      rtep_ips:
        description: |-
          Remote tunnel endpoint ip address.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        readOnly: true
        title: |-
          Remote tunnel endpoint ip address.
        type: array
      transport_node_id:
        description: |-
          Identifier of the transport node backed by an Edge node
        readOnly: true
        title: |-
          UUID of edge transport node
        type: string
    type: object
    x-vmw-nsx-module: EdgeClusters
  NodeSearchDomainsProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        search_domains:
          description: |-
            Search domains
          items:
            type: string
          title: |-
            Search domains
          type: array
      required:
      - search_domains
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node network search domains properties
    title: |-
      Node network search domains properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeServiceProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        service_name:
          description: |-
            Service name
          title: |-
            Service name
          type: string
      required:
      - service_name
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service properties
    title: |-
      Node service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeServicePropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node service property results
          items:
            $ref: '#/definitions/NodeServiceProperties'
          title: |-
            Node service property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service property query results
    title: |-
      Node service property query results
    x-vmw-nsx-module: MISSING_MODULE
  NodeServiceStatusProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        health:
          description: |-
            Service health in addition to runtime_state
          enum:
          - STABLE
          - DEGRADED
          readOnly: true
          title: |-
            Service health in addition to runtime_state
          type: string
        monitor_pid:
          description: |-
            Service monitor process id
          format: int64
          readOnly: true
          title: |-
            Service monitor process id
          type: integer
        monitor_runtime_state:
          description: |-
            Service monitor runtime state
          enum:
          - running
          - stopped
          readOnly: true
          title: |-
            Service monitor runtime state
          type: string
        pids:
          description: |-
            Service process ids
          items:
            format: int64
            type: integer
          readOnly: true
          title: |-
            Service process ids
          type: array
        reason:
          description: |-
            Reason for service degradation
          readOnly: true
          title: |-
            Reason for service degradation
          type: string
        runtime_state:
          description: |-
            Service runtime state
          enum:
          - running
          - stopped
          readOnly: true
          title: |-
            Service runtime state
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node service status properties
    title: |-
      Node service status properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeSnmpServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/SnmpServiceProperties'
          description: |-
            SNMP Service properties
          title: |-
            SNMP Service properties
      required:
      - service_properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node SNMP service properties
    title: |-
      Node SNMP service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeSnmpV3EngineID:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        v3_engine_id:
          description: |-
            SNMP v3 engine id
          title: |-
            SNMP v3 engine id
          type: string
      required:
      - v3_engine_id
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      SNMP V3 Engine Id
    title: |-
      SNMP V3 Engine Id
    x-vmw-nsx-module: MISSING_MODULE
  NodeSshServiceProperties:
    allOf:
    - $ref: '#/definitions/NodeServiceProperties'
    - properties:
        service_properties:
          $ref: '#/definitions/SshServiceProperties'
          description: |-
            SSH Service properties
          title: |-
            SSH Service properties
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node SSH service properties
    title: |-
      Node SSH service properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeStatus:
    description: |-
      Runtime status information of the fabric node.
    properties:
      external_id:
        description: |-
          HostNode external id
        title: |-
          HostNode external id
        type: string
      host_node_deployment_status:
        description: |
          This enum specifies the current nsx install state for host node or
          current deployment and ready state for edge node.
          The ready status 'NODE_READY' indicates whether edge node is
          ready to become a transport node.
          The status 'EDGE_CONFIG_ERROR' indicates that edge hardware or underlying
          host is not supported. After all fabric level operations are done for an
          edge node, this value indicates transport node related configuration
          issues and state as relevant.
        enum:
        - NOT_PREPARED
        - INSTALL_IN_PROGRESS
        - INSTALL_FAILED
        - INSTALL_SUCCESSFUL
        - INSTALL_SKIPPED
        - UNINSTALL_IN_PROGRESS
        - UNINSTALL_FAILED
        - UNINSTALL_SUCCESSFUL
        - UNINSTALL_SCHEDULED
        - UNINSTALL_SKIPPED
        - UPGRADE_IN_PROGRESS
        - UPGRADE_FAILED
        - PENDING_UPGRADE
        - NOT_AVAILABLE
        - VM_DEPLOYMENT_QUEUED
        - VM_DEPLOYMENT_IN_PROGRESS
        - VM_DEPLOYMENT_FAILED
        - VM_POWER_ON_IN_PROGRESS
        - VM_POWER_ON_FAILED
        - REGISTRATION_PENDING
        - NODE_NOT_READY
        - NODE_READY
        - VM_POWER_OFF_IN_PROGRESS
        - VM_POWER_OFF_FAILED
        - VM_UNDEPLOY_IN_PROGRESS
        - VM_UNDEPLOY_FAILED
        - VM_UNDEPLOY_SUCCESSFUL
        - EDGE_CONFIG_ERROR
        - VM_DEPLOYMENT_RESTARTED
        - REGISTRATION_FAILED
        - HOST_DISCONNECTED
        - POWERED_OFF
        - TRANSPORT_NODE_SYNC_PENDING
        - TRANSPORT_NODE_CONFIGURATION_MISSING
        - EDGE_HARDWARE_NOT_SUPPORTED
        - MULTIPLE_OVERLAY_TZS_NOT_SUPPORTED
        - TN_OVERLAY_TZ_IN_USE_BY_EDGE_CLUSTER
        - TZ_ENDPOINTS_NOT_SPECIFIED
        - NO_PNIC_PREPARED_IN_EDGE
        - APPLIANCE_INTERNAL_ERROR
        - VTEP_DHCP_NOT_SUPPORTED
        - UNSUPPORTED_HOST_SWITCH_PROFILE
        - UPLINK_HOST_SWITCH_PROFILE_NOT_SPECIFIED
        - HOSTSWITCH_PROFILE_NOT_FOUND
        - LLDP_SEND_ENABLED_NOT_SUPPORTED
        - UNSUPPORTED_NAMED_TEAMING_POLICY
        - MULTIPLE_UPLINKS_IN_NAMED_TEAMING_NOT_SUPPORTED_IF_UPLINK_IN_DEFAULT_TEAMING
        - LBSRCID_NOT_SUPPORTED_FOR_EDGE_VM
        - LACP_NOT_SUPPORTED_FOR_EDGE_VM
        - STANDBY_UPLINKS_NOT_SUPPORTED_FOR_EDGE_VM
        - MULTIPLE_ACTIVE_UPLINKS_NOT_SUPPORTED_FOR_EDGE
        - UNSUPPORTED_LACP_LB_ALGO_FOR_NODE
        - EDGE_NODE_VERSION_NOT_SUPPORTED
        - NO_PNIC_SPECIFIED_IN_TN
        - INVALID_PNIC_DEVICE_NAME
        - TRANSPORT_NODE_READY
        - UNSUPPORTED_DEFAULT_TEAMING_POLICY
        - MPA_DISCONNECTED
        - VM_NETWORK_EDIT_PENDING
        - VM_RENAME_PENDING
        - VM_CONFIG_EDIT_PENDING
        - VM_NETWORK_EDIT_FAILED
        - VM_RENAME_FAILED
        - VM_CONFIG_EDIT_FAILED
        - VM_CONFIG_DISCREPANCY
        - VM_NODE_REFRESH_FAILED
        - VM_PLACEMENT_REFRESH_FAILED
        - REGISTRATION_TIMEDOUT
        - LOGICAL_SWITCH_NAMED_TEAMING_HAS_NO_PNIC_BACKING
        - UPLINK_FROM_TEAMING_POLICY_NOT_MAPPED
        - REPLACE_FAILED
        - DELETE_VM_IN_REDEPLOY_FAILED
        - DEPLOY_VM_IN_REDEPLOY_FAILED
        - INSUFFICIENT_RESOURCES_IN_EDGE_NODE_FOR_SERVICE
        readOnly: true
        title: |-
          Install/Uninstall status of deployment.
        type: string
      inventory_sync_paused:
        description: |-
          Is true if inventory sync is paused else false
        readOnly: true
        title: |-
          Is true if inventory sync is paused else false
        type: boolean
      inventory_sync_reenable_time:
        description: |-
          Inventory sync auto re-enable target time, in epoch milis
        format: int64
        readOnly: true
        type: integer
      last_heartbeat_timestamp:
        description: |-
          Timestamp of the last heartbeat status change, in epoch milliseconds.
        format: int64
        readOnly: true
        type: integer
      last_sync_time:
        description: |-
          Timestamp of the last successful update of Inventory, in epoch milliseconds.
        format: int64
        readOnly: true
        type: integer
      lcp_connectivity_status:
        default: UNKNOWN
        description: |-
          Indicates the fabric node's LCP&lt;-&gt;CCP channel connectivity status, UP, DOWN, DEGRADED, UNKNOWN.
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        readOnly: true
        title: |-
          Indicates the fabric node's LCP&lt;-&gt;CCP channel connectivity status, UP, DOWN, DEGRADED, UNKNOWN.
        type: string
      lcp_connectivity_status_details:
        default: []
        description: |-
          Details, if any, about the current LCP&lt;-&gt;CCP channel connectivity status of the fabric node.
        items:
          $ref: '#/definitions/ControlConnStatus'
        readOnly: true
        title: |-
          Details, if any, about the current LCP&lt;-&gt;CCP channel connectivity status of the fabric node.
        type: array
      maintenance_mode:
        description: |-
          Indicates the fabric node's status of maintenance mode, OFF, ENTERING, ON, EXITING.
        enum:
        - 'OFF'
        - ENTERING
        - 'ON'
        - EXITING
        readOnly: true
        title: |-
          Indicates the fabric node's status of maintenance mode, OFF, ENTERING, ON, EXITING.
        type: string
      mpa_connectivity_status:
        description: |-
          Indicates the fabric node's MP&lt;-&gt;MPA channel connectivity status, UP, DOWN, UNKNOWN.
        enum:
        - UP
        - DOWN
        - UNKNOWN
        readOnly: true
        title: |-
          Indicates the fabric node's MP&lt;-&gt;MPA channel connectivity status, UP, DOWN, UNKNOWN.
        type: string
      mpa_connectivity_status_details:
        description: |-
          Details, if any, about the current MP&lt;-&gt;MPA channel connectivity status of the fabric node.
        readOnly: true
        title: |-
          Details, if any, about the current MP&lt;-&gt;MPA channel connectivity status of the fabric node.
        type: string
      software_version:
        description: |-
          Software version of the fabric node.
        readOnly: true
        title: |-
          Software version of the fabric node.
        type: string
      system_status:
        $ref: '#/definitions/NodeStatusProperties'
        description: |-
          Node status properties
        readOnly: true
        title: |-
          Node status properties
    title: |-
      Runtime status information of the fabric node.
    type: object
    x-vmw-nsx-module: FabricNode
  NodeStatusListResult:
    description: |-
      Node Status list result
    properties:
      results:
        description: |-
          Node Status list results
        items:
          $ref: '#/definitions/NodeStatus'
        title: |-
          Node Status list results
        type: array
    required:
    - results
    title: |-
      Node Status list result
    type: object
    x-vmw-nsx-module: FabricNode
  NodeStatusProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        cpu_cores:
          description: |-
            Number of CPU cores on the system
          format: int64
          readOnly: true
          title: |-
            Number of CPU cores on the system
          type: integer
        cpu_usage:
          $ref: '#/definitions/CpuUsage'
          description: |-
            Highest and average usage of DPDK and non-DPDK core of Edge Node.
          readOnly: true
          title: |-
            CPU usage of DPDK and non-DPDK core groups
        disk_space_total:
          description: |-
            Amount of disk space available on the system, in kilobytes.
          format: int64
          readOnly: true
          title: |-
            Amount of disk space available on the system, in kilobytes
          type: integer
        disk_space_used:
          description: |-
            Amount of disk space in use on the system, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of disk space in use on the system, in kilobytes
          type: integer
        dpdk_cpu_cores:
          description: |-
            Number of DPDK cores on Edge Node which are used for packet IO processing.
          format: int64
          readOnly: true
          title: |-
            Number of DPDK CPU cores on the system
          type: integer
        edge_mem_usage:
          $ref: '#/definitions/EdgeTransportNodeMemoryUsage'
          description: |-
            Point in time usage of system, datapath, swap and cache memory in edge node. Valid only for Edge transport node.
          readOnly: true
          title: |-
            Memory usage of edge node
        file_systems:
          description: |-
            File systems configured on the system
          items:
            $ref: '#/definitions/NodeFileSystemProperties'
          readOnly: true
          title: |-
            File systems configured on the system
          type: array
        load_average:
          description: |-
            One, five, and fifteen minute load averages for the system
          items:
            type: number
          readOnly: true
          title: |-
            One, five, and fifteen minute load averages for the system
          type: array
        mem_cache:
          description: |-
            Amount of RAM on the system that can be flushed out to disk, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of RAM on the system that can be flushed out to disk, in kilobytes
          type: integer
        mem_total:
          description: |-
            Amount of RAM allocated to the system, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of RAM allocated to the system, in kilobytes
          type: integer
        mem_used:
          description: |-
            Amount of RAM in use on the system, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of RAM in use on the system, in kilobytes
          type: integer
        non_dpdk_cpu_cores:
          description: |-
            Number of non-DPDK cores on Edge Node.
          format: int64
          readOnly: true
          title: |-
            Number of non-DPDK CPU cores on the system
          type: integer
        source:
          description: |-
            Source of status data.
          enum:
          - realtime
          - cached
          readOnly: true
          type: string
        swap_total:
          description: |-
            Amount of disk available for swap, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of disk available for swap, in kilobytes
          type: integer
        swap_used:
          description: |-
            Amount of swap disk in use, in kilobytes
          format: int64
          readOnly: true
          title: |-
            Amount of swap disk in use, in kilobytes
          type: integer
        system_time:
          description: |-
            Current time expressed in milliseconds since epoch
          format: int64
          readOnly: true
          type: integer
        uptime:
          description: |-
            Milliseconds since system start
          format: int64
          readOnly: true
          title: |-
            Milliseconds since system start
          type: integer
      type: object
      x-vmw-nsx-module: ApplianceStats
    description: |-
      Node status properties
    title: |-
      Node status properties
    x-vmw-nsx-module: ApplianceStats
  NodeSummary:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        component_version:
          description: |-
            Component version
          readOnly: true
          title: |-
            Component version
          type: string
        node_count:
          description: |-
            Number of nodes of the type and at the component version
          format: int32
          readOnly: true
          title: |-
            Count of nodes
          type: integer
        type:
          description: |-
            Node type
          readOnly: true
          title: |-
            Node type
          type: string
      type: object
      x-vmw-nsx-module: Migration
    x-vmw-nsx-module: Migration
  NodeSummaryList:
    properties:
      results:
        description: |-
          List of Node Summary
        items:
          $ref: '#/definitions/NodeSummary'
        title: |-
          List of Node Summary
        type: array
    required:
    - results
    type: object
    x-vmw-nsx-module: Migration
  NodeSyslogExporterProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        exporter_name:
          description: |-
            Syslog exporter name
          title: |-
            Syslog exporter name
          type: string
        facilities:
          description: |-
            Facilities to export
          items:
            description: |-
              Syslog facility
            enum:
            - KERN
            - USER
            - MAIL
            - DAEMON
            - AUTH
            - SYSLOG
            - LPR
            - NEWS
            - UUCP
            - AUTHPRIV
            - FTP
            - LOGALERT
            - CRON
            - LOCAL0
            - LOCAL1
            - LOCAL2
            - LOCAL3
            - LOCAL4
            - LOCAL5
            - LOCAL6
            - LOCAL7
            type: string
          title: |-
            Facilities to export
          type: array
        level:
          description: |-
            Logging level to export
          enum:
          - EMERG
          - ALERT
          - CRIT
          - ERR
          - WARNING
          - NOTICE
          - INFO
          - DEBUG
          title: |-
            Logging level to export
          type: string
        msgids:
          description: |-
            MSGIDs to export
          items:
            pattern: /^.+$/
            type: string
          title: |-
            MSGIDs to export
          type: array
        port:
          description: |-
            Port to export to, defaults to 514 for TCP, TLS, UDP protocols or 9000 for LI, LI-TLS protocols
          format: int64
          maximum: 65535
          minimum: 1
          title: |-
            Port to export to, defaults to 514 for TCP, TLS, UDP protocols or 9000 for LI, LI-TLS protocols
          type: integer
        protocol:
          description: |-
            Export protocol
          enum:
          - TCP
          - TLS
          - UDP
          - LI
          - LI-TLS
          title: |-
            Export protocol
          type: string
        server:
          description: |-
            IP address or hostname of server to export to
          format: hostname-or-ipv4
          type: string
        structured_data:
          description: |-
            Structured data to export
          items:
            pattern: /^(alarmId|alarmState|audit|comp|entId|eReqId|errorCode|eventFeatureName|eventId|eventSev|eventState|eventType|euser|level|nodeId|security|subcomp|s2comp|splitId|splitIndex|tenantId|tid|tname|update|username)=.+$/
            type: string
          title: |-
            Structured data to export
          type: array
        tls_ca_pem:
          description: |-
            CA certificate PEM of TLS server to export to
          title: |-
            CA certificate PEM of TLS server to export to
          type: string
        tls_cert_pem:
          description: |-
            Certificate PEM of the rsyslog client
          title: |-
            Certificate PEM of the rsyslog client
          type: string
        tls_client_ca_pem:
          description: |-
            CA certificate PEM of the rsyslog client
          title: |-
            CA certificate PEM of the rsyslog client
          type: string
        tls_key_pem:
          description: |-
            Private key PEM of the rsyslog client
          title: |-
            Private key PEM of the rsyslog client
          type: string
      required:
      - server
      - protocol
      - exporter_name
      - level
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node syslog exporter properties
    title: |-
      Node syslog exporter properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeSyslogExporterPropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Node syslog exporter results
          items:
            $ref: '#/definitions/NodeSyslogExporterProperties'
          title: |-
            Node syslog exporter results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node syslog exporter list results
    title: |-
      Node syslog exporter list results
    x-vmw-nsx-module: MISSING_MODULE
  NodeTime:
    description: |-
      Node system time in UTC
    properties:
      system_datetime:
        description: |-
          Datetime string in UTC
        type: string
    required:
    - system_datetime
    title: |-
      Node system time in UTC
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NodeUserPasswordProperty:
    properties:
      password:
        description: |-
          The new password for user
        title: |-
          The new password for user
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NodeUserProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        full_name:
          description: |-
            Full name for the user
          title: |-
            Full name for the user
          type: string
        last_password_change:
          description: |-
            Number of days since password was last changed
          format: int64
          maximum: 2147483647
          minimum: 0
          readOnly: true
          title: |-
            Number of days since password was last changed
          type: integer
        old_password:
          description: |-
            Old password for the user (required on PUT if password specified)
          title: |-
            Old password for the user (required on PUT if password specified)
          type: string
        password:
          description: |-
            Password for the user (optionally specified on PUT, unspecified on GET)
          title: |-
            Password for the user (optionally specified on PUT, unspecified on GET)
          type: string
        password_change_frequency:
          description: |-
            Number of days password is valid before it must be changed. This can be set to 0 to indicate no password change is required or a positive integer up to 9999. By default local user passwords must be changed every 90 days.
          format: int64
          maximum: 9999
          minimum: 0
          title: |-
            Number of days password is valid before it must be changed
          type: integer
        status:
          description: |-
            Status of the user. This value can be ACTIVE indicating authentication attempts will be successful if the correct credentials are specified. The value can also be PASSWORD_EXPIRED indicating authentication attempts will fail because the user's password has expired and must be changed. Or, this value can be NOT_ACTIVATED indicating the user's password has not yet been set and must be set before the user can authenticate.
          enum:
          - ACTIVE
          - PASSWORD_EXPIRED
          - NOT_ACTIVATED
          readOnly: true
          title: |-
            User status
          type: string
        userid:
          description: |-
            Numeric id for the user
          format: int64
          maximum: 2147483647
          minimum: 0
          readOnly: true
          title: |-
            Numeric id for the user
          type: integer
        username:
          description: |-
            User login name (must be "root" if userid is 0)
          maxLength: 32
          minLength: 1
          title: |-
            User login name (must be "root" if userid is 0)
          type: string
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node user properties
    title: |-
      Node user properties
    x-vmw-nsx-module: MISSING_MODULE
  NodeUserPropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of node users
          items:
            $ref: '#/definitions/NodeUserProperties'
          title: |-
            List of node users
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      Node users list results
    title: |-
      Node users list results
    x-vmw-nsx-module: MISSING_MODULE
  NodeUserSettings:
    properties:
      audit_password:
        description: |
          Password for the node audit user. For deployment,
          this property is required. After deployment, this property is ignored, and
          the node cli must be used to change the password.
          The password specified must be at least 12 characters in length and must
          contain at least one lowercase, one uppercase, one numeric character and
          one special character (except quotes). Passwords based on dictionary words
          and palindromes are invalid.
        title: |-
          Node audit user password
        type: string
      audit_username:
        description: |
          The default username is "audit". To configure username, you must provide
          this property together with <b>audit_password</b>. Username must contain
          ASCII characters only.
        title: |-
          CLI "audit" username
        type: string
      cli_password:
        description: |
          Password for the node cli user. For deployment,
          this property is required. After deployment, this property is ignored, and
          the node cli must be used to change the password.
          The password specified must be at least 12 characters in length and must
          contain at least one lowercase, one uppercase, one numeric character and
          one special character (except quotes). Passwords based on dictionary words
          and palindromes are invalid.
        title: |-
          Node cli password
        type: string
      cli_username:
        default: admin
        description: |
          To configure username, you must provide this property together with
          <b>cli_password</b>. Username must contain ASCII characters only.
        title: |-
          CLI "admin" username
        type: string
      root_password:
        description: |
          Password for the node root user. For deployment,
          this property is required. After deployment, this property is ignored, and
          the node cli must be used to change the password.
          The password specified must be at least 12 characters in length and must
          contain at least one lowercase, one uppercase, one numeric character and
           one special character (except quotes). Passwords based on dictionary words
          and palindromes are invalid.
        title: |-
          Node root user password
        type: string
    type: object
    x-vmw-nsx-module: FabricNode
  NodeVersion:
    properties:
      node_version:
        description: |-
          Node version
        readOnly: true
        title: |-
          Node version
        type: string
      product_version:
        description: |-
          Product version
        readOnly: true
        title: |-
          Product version
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NormalizedResourceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Normalized resource list results
          items:
            $ref: '#/definitions/ResourceReference'
          title: |-
            Normalized resource list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Normalization
    description: |-
      Paged Collection of normalized resources
    title: |-
      Paged Collection of normalized resources
    x-vmw-nsx-module: Normalization
  Notification:
    properties:
      notification_id:
        description: |-
          A string identifying feature_name.notification_name to indicate a notification watcher is interested in receiving notifications for the URI identified by the feature_name.notification_name.
        title: |-
          A string identifying feature_name.notification_name
        type: string
      uri_filters:
        description: |-
          Optional list of URIs
        items:
          type: string
        title: |-
          Optional list of URIs
        type: array
        uniqueItems: true
    type: object
    x-vmw-nsx-module: NfwConfig
  NotificationAuthenticationScheme:
    description: |-
      NotificationAuthenticationScheme describes how notification requests should authenticate to the server.
    properties:
      certificate_id:
        description: |-
          Certificate ID with a valid certificate and private key, procured from trust-management API.
        title: |-
          Valid certificate ID
        type: string
      password:
        description: |-
          Password to use if scheme_name is BASIC_AUTH.
        title: |-
          Password for authentication
        type: string
      scheme_name:
        description: |-
          Authentication scheme to use when making notification requests to the partner/customer specified watcher. Specify one of BASIC_AUTH or CERTIFICATE.
        enum:
        - BASIC_AUTH
        - CERTIFICATE
        title: |-
          Authentication scheme to use when making notification requests
        type: string
      username:
        description: |-
          Username to use if scheme_name is BASIC_AUTH.
        title: |-
          Username for authentication
        type: string
    required:
    - scheme_name
    type: object
    x-vmw-nsx-module: NfwConfig
  NotificationWatcher:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/NotificationAuthenticationScheme'
          description: |-
            A NotificationAuthenticationScheme that describes how notification requests should authenticate to the server.
          title: |-
            Scheme to authenticate requests sent to the server
        certificate_sha256_thumbprint:
          description: |-
            Contains the hex-encoded SHA256 thumbprint of the HTTPS certificate. It must be specified if use_https is set to true.
          title: |-
            SHA256 thumbprint of the HTTPS certificate
          type: string
        description:
          description: |-
            Optional description that can be associated with this NotificationWatcher.
          title: |-
            Description associated with this notification watcher
          type: string
        id:
          description: |
            System generated identifier to identify a notification watcher uniquely.
          readOnly: true
          title: |-
            Identifier to identify a notification watcher uniquely
          type: string
        max_send_uri_count:
          default: 5000
          description: |-
            If the number of notification URIs accumulated in specified send_interval exceeds max_send_uri_count, then multiple notification requests (each with max_send_uri_count or less number of notification URIs) will be sent to this NotificationWatcher. The default value is 5000.
          format: int64
          maximum: 5000
          minimum: 1
          title: |-
            Optional maximum number of notification URIs batched in a single notification request
          type: integer
        method:
          description: |-
            Type of method notification requests should be made on the specified server. The value must be set to POST.
          enum:
          - POST
          title: |-
            Type of method notification requests should be made on the server
          type: string
        port:
          description: |-
            Optional integer port value to specify a non-standard HTTP or HTTPS port.
          format: int64
          maximum: 65535
          minimum: 0
          title: |-
            Integer port value to specify a non-standard HTTP or HTTPS port
          type: integer
        send_interval:
          description: |-
            Optional time interval (in seconds) for which notification URIs will be accumulated. At the end of the time interval the accumulated notification URIs will be sent to this NotificationWatcher in the form of zero (nothing accumulated) or more notification requests as soon as possible. If it is not specified, the NotificationWatcher should expected to receive notifications at any time.
          format: int64
          minimum: 30
          title: |-
            Optional time interval for which notification URIs will be accumulated
          type: integer
        send_timeout:
          default: 30
          description: |-
            Optional time duration (in seconds) to specify request timeout to notification watcher. If the send reaches the timeout, will try to send refresh_needed as true in the next time interval. The default value is 30 seconds.
          format: int64
          minimum: 1
          title: |-
            Optional time period within which response for a notification request should be received from this NotificationWatcher
          type: integer
        server:
          description: |-
            IP address or fully qualified domain name of the partner/customer watcher.
          title: |-
            IP address or fully qualified domain name of watcher
          type: string
        uri:
          description: |-
            URI notification requests should be made on the specified server.
          title: |-
            URI notification requests should be made on the server
          type: string
        use_https:
          default: false
          description: |-
            Optional field, when set to true indicates REST API server should use HTTPS.
          title: |-
            Flag to indicate if REST API server should use HTTPS
          type: boolean
      required:
      - method
      - authentication_scheme
      - uri
      - server
      type: object
      x-vmw-nsx-module: NfwConfig
    x-vmw-nsx-module: NfwConfig
  NotificationWatcherListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of notification watchers
          items:
            $ref: '#/definitions/NotificationWatcher'
          readOnly: true
          title: |-
            List of notification watchers
          type: array
      type: object
      x-vmw-nsx-module: NfwConfig
    x-vmw-nsx-module: NfwConfig
  NotificationsList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        notifications:
          items:
            $ref: '#/definitions/Notification'
          type: array
      type: object
      x-vmw-nsx-module: NfwConfig
    x-vmw-nsx-module: NfwConfig
  NsxRole:
    description: |-
      Role
    properties:
      permissions:
        description: |-
          Please use the /user-info/permissions api to get the permission that the user has on each feature.
        items:
          enum:
          - read-api
          - read-write-api
          - crud
          - read
          - execute
          - none
          type: string
        title: |-
          Permissions
        type: array
        x-deprecated: true
      role:
        description: |-
          This field represents the identifier of the role. With the introduction of custom roles, this field is no longer an enum.
        title: |-
          Role ID
        type: string
    required:
    - role
    title: |-
      Role
    type: object
    x-vmw-nsx-module: AAA
  NtpProperties:
    description: |-
      This object contains the list of NTP servers used by NSX nodes.
    properties:
      servers:
        description: |-
          List of NTP servers.
        items:
          description: |-
            Hostname or IPv4 address
          format: hostname-or-ipv4
          type: string
        title: |-
          NTP servers
        type: array
    required:
    - servers
    title: |-
      NTP service properties
    type: object
    x-vmw-nsx-module: CentralConfig
  NtpServiceProperties:
    description: |-
      NTP Service properties
    properties:
      servers:
        description: |-
          NTP servers
        items:
          description: |-
            Hostname or IPv4 address
          format: hostname-or-ipv4
          type: string
        title: |-
          NTP servers
        type: array
      start_on_boot:
        default: true
        description: |-
          Start NTP service when system boots
        title: |-
          Start NTP service when system boots
        type: boolean
    required:
    - servers
    title: |-
      NTP Service properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  NvdsUpgradeConfigIssue:
    description: |-
      Issues reported by upgrade readiness check
    properties:
      component:
        description: |-
          Name of the component/object
        readOnly: true
        title: |-
          Name of the component/object
        type: string
      error:
        description: |-
          Error for the component describing precheck failure
        readOnly: true
        title: |-
          Error for the component describing precheck failure
        type: string
      id:
        description: |-
          Id of the object that generated error
        readOnly: true
        title: |-
          Id of the object that generated error
        type: string
      recommendation:
        description: |-
          Recommendation to resolve the error returned for component
        readOnly: true
        title: |-
          Recommendation to resolve the error returned for component
        type: string
    title: |-
      Issues reported by upgrade readiness check
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  NvdsUpgradeHostState:
    description: |-
      Individual host upgrade state
    properties:
      host:
        description: |-
          TransportNode identifier
        readOnly: true
        title: |-
          TransportNode identifier
        type: string
      overall_state:
        description: |-
          Overall state of N-VDSes on the TransportNodes
        enum:
        - UPGRADE_READY
        - UPGRADE_IN_PROGRESS
        - UPGRADE_FAILED
        - SUCCESS
        readOnly: true
        title: |-
          Overall state of N-VDSes on the TransportNodes
        type: string
      state_details:
        description: |-
          Details of the N-VDS upgrade state on the host
        items:
          type: string
        readOnly: true
        title: |-
          Details of the N-VDS upgrade state on the host
        type: array
      upgrade_stage:
        description: |
          This field returns current stage of Migration task. Here is a sequence
          of stages the task cycles through,
          RETRIEVE_SAVED_CONFIG,
          TN_VALIDATE,
          TN_STATELESS_WAIT_FOR_HP,
          DETACH_TNP,
          TNP_WAIT,
          TN_SEND_HS_MIGRATION_MSG,
          TN_ADD_HOST_TO_VDS,
          TN_UPDATE,
          TN_UPDATE_WAIT,
          TN_DELETE,
          TN_DELETE_WAIT,
          FN_DELETE_WAIT,
          TN_RECONFIG_HOST,
          TN_CREATE,
          TN_CREATE_WAIT,
          UPDATE_TNP_AND_APPLY,
          TN_EXIT_MM,
          TN_MIGRATION_COMPLETED
          Depending on the type of host (stateful, stateless, Sddc, etc.) migration
          task may not cycle through all stages but in will follow above sequence.
          If stage is TN_MIGRATION_COMPLETED refer to field overall_state for SUCCESS
          or UPGRADE_FAILURE and state_details for details on same.
        readOnly: true
        title: |-
          Current migration task stage
        type: string
    title: |-
      Individual host upgrade state
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  NvdsUpgradePrecheckId:
    description: |-
      Nvds upgrade precheck ID
    properties:
      precheck_id:
        description: |-
          Tracking ID of nvds upgrade precheck
        readOnly: true
        title: |-
          Tracking ID of nvds upgrade precheck
        type: string
    title: |-
      Nvds upgrade precheck ID
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  NvdsUpgradeStatusSummary:
    description: |-
      Overall status of the upgrade readiness check
    properties:
      migration_state:
        description: |-
          Overall state of migration across all TransportNodes
        items:
          $ref: '#/definitions/NvdsUpgradeHostState'
        readOnly: true
        title: |-
          Overall state of migration across all TransportNodes
        type: array
      precheck_id:
        description: |-
          Tracking ID of nvds upgrade precheck
        readOnly: true
        title: |-
          Tracking ID of nvds upgrade precheck
        type: string
      precheck_issue:
        description: |-
          Config issue in pre-check
        items:
          $ref: '#/definitions/NvdsUpgradeConfigIssue'
        readOnly: true
        title: |-
          Config issue in pre-check
        type: array
      precheck_status:
        description: |-
          Overall status of pre-check
        enum:
        - IN_PROGRESS
        - FAILED
        - PENDING_TOPOLOGY
        - APPLYING_TOPOLOGY
        - APPLY_TOPOLOGY_FAILED
        - READY
        readOnly: true
        title: |-
          Overall status of pre-check
        type: string
    title: |-
      Overall status of the upgrade readiness check
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  NvdsUpgradeTopology:
    description: |-
      NVDS to VDS mappings for migration
    properties:
      compute_manager_topology:
        description: |-
          All resultant VDS mapping for a NVDS after the migration
        items:
          $ref: '#/definitions/ComputeManagerTopology'
        title: |-
          All resultant VDS mapping for a NVDS after the migration
        type: array
      nvds_id:
        description: |-
          Identifier for a NVDS
        title: |-
          Identifier for a NVDS
        type: string
      nvds_name:
        description: |-
          Name of a NVDS
        title: |-
          Name of a NVDS
        type: string
    required:
    - nvds_id
    - nvds_name
    - compute_manager_topology
    title: |-
      NVDS to VDS mappings for migration
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  Oauth2Credentials:
    description: |-
      Oauth2 Account Credentials
    properties:
      client_id:
        description: |-
          Client ID, that will be used for authentication in AWS environment,
        title: |-
          Client ID
        type: string
      client_secret:
        description: |-
          Client secret, that will be used for authentication in AWS environment. Can be some passphrase.
        title: |-
          Client Secret
        type: string
    required:
    - client_id
    title: |-
      Oauth2 Account Credentials
    type: object
    x-vmw-nsx-module: ApplianceModes
  OidcEndPoint:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        authorization_endpoint:
          description: |-
            The URL of the OpenID provider's authorization endpoint.
          readOnly: true
          title: |-
            Authorization endpoint
          type: string
        claims_supported:
          description: |-
            The list of claims that the OpenID provider supports.
          items:
            type: string
          readOnly: true
          title: |-
            Claims supported
          type: array
        issuer:
          description: |
            Issuer of the JWT tokens for the given type. This field is fetched from the meta-data located at the oidc_uri.
          readOnly: true
          title: |-
            JWT token issuer
          type: string
        jwks_uri:
          description: |
            The URI where the JWKS document is located that has the key used to validate the JWT signature.
          readOnly: true
          title: |-
            URI of JWKS document
          type: string
        name:
          description: |-
            A short, unique name for this OpenID Connect end-point. OIDC endpoint names may not contain spaces. If not provided, defaults to the ID of the OidcEndPoint.
          title: |-
            Unique name for this OpenID Connect end-point
          type: string
        oidc_type:
          description: |-
            Type used to distinguish the OIDC end-points by IDP.
          enum:
          - vcenter
          - ws_one
          maxLength: 255
          readOnly: false
          title: |-
            OIDC Type
          type: string
        oidc_uri:
          description: |-
            URI of the OpenID Connect end-point.
          maxLength: 255
          readOnly: false
          title: |-
            OpenID Connect URI
          type: string
        override_roles:
          description: |-
            When specified this role or roles are used instead of the nsx-role in the JWT
          items:
            type: string
          readOnly: true
          title: |-
            Roles used instead of token roles
          type: array
        thumbprint:
          description: |
            Thumbprint in SHA-256 format used to verify the server certificate at the URI.
          maxLength: 255
          readOnly: false
          title: |-
            Thumbprint
          type: string
        token_endpoint:
          description: |-
            The URL of the OpenID provider's token endpoint.
          readOnly: true
          title: |-
            Token endpoint
          type: string
        userinfo_endpoint:
          description: |-
            The URL of the OpenID provider's userinfo endpoint.
          readOnly: true
          title: |-
            Userinfo endpoint
          type: string
      required:
      - oidc_uri
      - thumbprint
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |
      OpenID Connect end-point specifying where to fetch the JWKS document used to
      validate JWT tokens for TokenBasedPrincipalIdentities.
    title: |-
      OpenID Connect end-point
    x-vmw-nsx-module: CertificateManager
  OidcEndPointListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            OidcEndPoint list.
          items:
            $ref: '#/definitions/OidcEndPoint'
          readOnly: true
          type: array
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      OidcEndPoint query result
    title: |-
      OidcEndPoint query result
    x-vmw-nsx-module: CertificateManager
  OperationCollector:
    description: |-
      The operation collector is defined to receive stats from hosts. (eg. vRNI-collector collects all the system metrics)
    properties:
      collector_ip:
        description: |-
          IP address for the operation collector.
        format: ip
        type: string
      collector_port:
        description: |-
          Port for the operation collector.
        format: int32
        maximum: 65535
        minimum: 0
        title: |-
          Port for the operation collector
        type: integer
      collector_type:
        default: VRNI
        description: |-
          Define the operation collector type.
        enum:
        - VRNI
        - WAVE_FRONT
        title: |-
          The operation collector type
        type: string
    required:
    - collector_port
    - collector_ip
    type: object
    x-vmw-nsx-module: GlobalConfigs
  OperationCollectorGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        collectors:
          description: |-
            Operation Collector Config.
          items:
            $ref: '#/definitions/OperationCollector'
          title: |-
            Operation Collector Config
          type: array
        report_interval:
          default: 30
          description: |-
            Report interval for operation data in seconds.
          format: int32
          maximum: 1800
          minimum: 1
          title: |-
            Report interval for operation data in seconds
          type: integer
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for operation collector
    title: |-
      NSX global configs for operation collector
    x-vmw-nsx-module: GlobalConfigs
  OrgInfo:
    description: |-
      Organization ID and role, predefined for a particular type of VMware support.
    properties:
      org_id:
        description: |-
          Organization ID, connected to a predefined role of a VMware support.
        title: |-
          Org ID
        type: string
      org_role:
        description: |-
          Predefined role of a VMware support.
        title: |-
          Org role
        type: string
    required:
    - org_id
    - org_role
    title: |-
      Organization ID and role
    type: object
    x-vmw-nsx-module: ApplianceModes
  OvfInfo:
    description: |-
      Information related to OVF file.
    properties:
      ovf_name:
        description: |-
          Name of OVF file.
        readOnly: true
        title: |-
          OVF file name
        type: string
      version:
        description: |-
          Version of the OVF.
        readOnly: true
        title: |-
          OVF version
        type: string
    title: |-
      OVF Information
    type: object
    x-vmw-nsx-module: FileUploadFramework
  OwnerResourceLink:
    allOf:
    - $ref: '#/definitions/ResourceLink'
    - type: object
      x-vmw-nsx-module: Common
    description: |-
      The server will populate this field when returing the resource. Ignored on PUT and POST.
    title: |-
      Link to this resource
    x-vmw-nsx-module: Common
  PBRRule:
    allOf:
    - $ref: '#/definitions/EmbeddedResource'
    - properties:
        action:
          description: |-
            Action enforced on the packets which matches the PBR rule.
          enum:
          - ROUTE_TO_UNDERLAY_NAT
          - ROUTE_TO_OVERLAY_NAT
          - ROUTE_TO_UNDERLAY
          - ROUTE_TO_OVERLAY
          - ROUTE_FROM_OVERLAY
          - ROUTE_FROM_UNDERLAY
          readOnly: false
          title: |-
            Action
          type: string
        applied_tos:
          description: |-
            List of object where rule will be enforced. field overrides this one. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            AppliedTo List
          type: array
        destinations:
          description: |-
            List of the destinations. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            Destination List
          type: array
        disabled:
          default: false
          description: |-
            Flag to disable rule. Disabled will only be persisted but never provisioned/realized.
          readOnly: false
          title: |-
            Rule enable/disable flag
          type: boolean
        logged:
          default: false
          description: |-
            Flag to enable packet logging. Default is disabled.
          readOnly: false
          title: |-
            Enable logging flag
          type: boolean
        notes:
          description: |-
            User notes specific to the rule.
          maxLength: 2048
          readOnly: false
          title: |-
            Notes
          type: string
        rule_tag:
          description: |-
            User level field which will be printed in CLI and packet logs.
          maxLength: 32
          readOnly: false
          title: |-
            Tag
          type: string
        services:
          description: |-
            List of the services. Null will be treated as any.
          items:
            $ref: '#/definitions/PBRService'
          maxItems: 128
          readOnly: false
          title: |-
            Service List
          type: array
        sources:
          description: |-
            List of sources. Null will be treated as any.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          readOnly: false
          title: |-
            Source List
          type: array
      required:
      - action
      type: object
      x-vmw-nsx-module: PBR
    x-vmw-nsx-module: PBR
  PBRRuleList:
    properties:
      rules:
        description: |-
          List of PBR rules in the section.
        items:
          $ref: '#/definitions/PBRRule'
        maxItems: 1000
        title: |-
          List of the PBR rules
        type: array
    required:
    - rules
    type: object
    x-vmw-nsx-module: PBR
  PBRRuleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            PBR rule list result with pagination support.
          items:
            $ref: '#/definitions/PBRRule'
          readOnly: true
          title: |-
            PBR rule list result
          type: array
      type: object
      x-vmw-nsx-module: PBR
    x-vmw-nsx-module: PBR
  PBRSection:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        rule_count:
          description: |-
            Number of rules in this section.
          format: int64
          readOnly: true
          title: |-
            Rule count
          type: integer
      type: object
      x-vmw-nsx-module: PBR
    x-vmw-nsx-module: PBR
  PBRSectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the PBR sections.
          items:
            $ref: '#/definitions/PBRSection'
          readOnly: true
          title: |-
            Section list
          type: array
      type: object
      x-vmw-nsx-module: PBR
    x-vmw-nsx-module: PBR
  PBRSectionRuleList:
    allOf:
    - $ref: '#/definitions/PBRSection'
    - properties:
        rules:
          description: |-
            List of PBR rules in the section.
          items:
            $ref: '#/definitions/PBRRule'
          maxItems: 1000
          readOnly: false
          title: |-
            List of the PBR rules
          type: array
      required:
      - rules
      type: object
      x-vmw-nsx-module: PBR
    x-vmw-nsx-module: PBR
  PBRService:
    allOf:
    - $ref: '#/definitions/DSService'
    - type: object
      x-vmw-nsx-module: PBR
    description: |-
      Type to define services associated with every rule
    title: |-
      PBR Service element
    x-vmw-nsx-module: PBR
  PBRStats:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        byte_count:
          description: |-
            Aggregated number of bytes processed by the rule.
          format: int64
          readOnly: true
          title: |-
            Bytes count
          type: integer
        packet_count:
          description: |-
            Aggregated number of packets processed by the rule.
          format: int64
          readOnly: true
          title: |-
            Packets count
          type: integer
        rule_id:
          description: |-
            Rule Identifier of the PBR rule. This is a globally unique number.
          readOnly: true
          title: |-
            PBR Rule ID
          type: string
      type: object
      x-vmw-nsx-module: PBRStatsRule
    x-vmw-nsx-module: PBRStatsRule
  PBRStatsList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of rule statistics.
          items:
            $ref: '#/definitions/PBRStats'
          readOnly: true
          title: |-
            PBR rules stats
          type: array
        section_id:
          description: |-
            PBR section identifier.
          readOnly: true
          title: |-
            PBR Section ID
          type: string
      type: object
      x-vmw-nsx-module: PBRStatsRule
    x-vmw-nsx-module: PBRStatsRule
  PackageLoggingLevels:
    properties:
      logging_level:
        description: |-
          Logging levels per package
        enum:
        - 'OFF'
        - FATAL
        - ERROR
        - WARN
        - INFO
        - DEBUG
        - TRACE
        title: |-
          Logging levels per package
        type: string
      package_name:
        description: |-
          Package name
        title: |-
          Package name
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  PacketAddressClassifier:
    description: |
      A packet is classified to have an address binding, if its address
      configuration matches with all user specified properties.
    properties:
      ip_address:
        description: |-
          A single IP address or a subnet, e.g. x.x.x.x or x.x.x.x/y
        format: address-or-block-or-range
        type: string
      mac_address:
        description: |-
          A single MAC address
        format: mac-address
        type: string
      vlan:
        description: |-
          Virtual Local Area Network Identifier
        format: int64
        type: integer
    title: |-
      Address classifications for a packet
    type: object
    x-vmw-nsx-module: Switching
  PacketCaptureOption:
    description: |-
      The option is used to filter data on given node.
    properties:
      name:
        description: |-
          The avaiable option names in the enum can be used to filter the capture data.
        enum:
        - ETHTYPE
        - MAC
        - SRCMAC
        - DSTMAC
        - VLAN
        - IP
        - SRCIP
        - DSTIP
        - IPPROTO
        - PORT
        - SRCPORT
        - DSTPORT
        - VNI
        - IPPROTO6
        - IP6
        - SRCIP6
        - DSTIP6
        title: |-
          Packet capture option name
        type: string
      value:
        description: |-
          Define the capture value according to the given capture option.
        title: |-
          Packet capture option value
        type: string
    title: |-
      Packet capture option
    type: object
    x-vmw-nsx-module: PacketCapture
  PacketCaptureOptionList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        values:
          description: |-
            Packet capture option collection
          items:
            $ref: '#/definitions/PacketCaptureOption'
          title: |-
            Packet capture option collection
          type: array
      type: object
      x-vmw-nsx-module: PacketCapture
    description: |-
      List of packet capture options to filter data in capture process.
    title: |-
      List of packet capture options
    x-vmw-nsx-module: PacketCapture
  PacketCaptureRequest:
    description: |-
      This type is used to create packet request on give node. Need to specify related parameters according to the capture point.
    properties:
      capamount:
        description: |-
          Define the packet capture amount size.
        format: int32
        title: |-
          Packet capture amount
        type: integer
      capcore:
        description: |-
          The CPU core id on Edge node.
        format: int32
        title: |-
          The CPU core id  on Edge node
        type: integer
      capduration:
        description: |-
          Define the packet capture duration time. After the capture duration time, the capture process will stop working.
        format: int32
        title: |-
          Packet capture duration time in seconds
        type: integer
      capfilesize:
        description: |-
          Define the packet capture file size limit.
        format: int32
        title: |-
          Packet capture file size limit
        type: integer
      capmode:
        description: |-
          Define the capture streaming mode. The STREAM mode will send the data to given stream address and port. And the STANDALONE mode will save the capture file in local folder.
        enum:
        - STANDALONE
        - STREAM
        title: |-
          Packet Capture streaming mode
        type: string
      cappoint:
        description: |-
          Define the point to capture data.
        enum:
        - VNIC
        - VMKNIC
        - VMNIC
        - VDRPORT
        - DVFILTER
        - LOGICALPORT
        - FCPORT
        - VIF
        - PNIC
        title: |-
          Packet capture point
        type: string
      caprate:
        description: |-
          Define the rate of packet capture process.
        format: int32
        title: |-
          Packet capture rate
        type: integer
      capsnaplen:
        description: |-
          Limit the number of bytes captured from each packet.
        format: int32
        title: |-
          Packet capture snapshot length
        type: integer
      capsource:
        description: |-
          This type is used to differenite the incoming request from CLI/UI.
        enum:
        - CLI
        - UI
        title: |-
          Packet capture source type
        type: string
      capvalue:
        description: |-
          Define the capture value of given capture point.
        title: |-
          Packet capture point value
        type: string
      direction:
        description: |-
          Define the capture direction. Support three types INPUT/OUTPUT/DUAL.
        enum:
        - INPUT
        - OUTPUT
        - DUAL
        title: |-
          Packet capture direction type
        type: string
      filtertype:
        description: |-
          Define the capture filter type. Support PRE/POST mode.
        enum:
        - PRE
        - POST
        title: |-
          Packet capture dvfilter stage type
        type: string
      node:
        description: |-
          Define the transport node to capture data.
        title: |-
          Packet capture node id
        type: string
      node_ip:
        description: |-
          Define the transport node to capture data.
        format: ip
        type: string
      options:
        $ref: '#/definitions/PacketCaptureOptionList'
        description: |-
          Define the packet capture additional options to filter the capture data.
        title: |-
          Packet capture options
      streamaddress:
        description: |-
          Set the stream address to receive the capture packet.
        title: |-
          Packet capture Streaming address
        type: string
      streamport:
        description: |-
          Set the stream port to receive the capture packet. The STREAM mode is based on GRE-in-UDP Encapsulation(RFC8086). Packets are sent to UDP port 4754.
        format: int32
        title: |-
          Packet capture Streaming port
        type: integer
    required:
    - cappoint
    - capsource
    title: |-
      Packet capture request information
    type: object
    x-vmw-nsx-module: PacketCapture
  PacketCaptureSession:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        endtime:
          description: |-
            Timestamp when session was stopped in epoch millisecond.
          format: int64
          type: integer
        errormsg:
          description: |-
            Error messasge in capture.
          title: |-
            Error messasge in capture
          type: string
        filelocation:
          description: |-
            Packet capture file location.
          title: |-
            Packet capture file location
          type: string
        filesize:
          description: |-
            Packet capture file Size in bytes.
          format: int32
          title: |-
            Packet capture file Size in bytes
          type: integer
        request:
          $ref: '#/definitions/PacketCaptureRequest'
          description: |-
            Packet capture request information.
          title: |-
            Packet capture request
        sessionid:
          description: |-
            Packet capture session id.
          title: |-
            Packet capture session id
          type: string
        sessionname:
          description: |-
            Packet capture session name.
          title: |-
            Packet capture session name
          type: string
        sessionstatus:
          description: |-
            Packet capture session status.
          enum:
          - CREATED
          - STARTED
          - STOPPED
          - FINISHED
          - ERROR
          title: |-
            Packet capture session status
          type: string
        starttime:
          description: |-
            Timestamp when session was created in epoch millisecond.
          format: int64
          type: integer
      required:
      - sessionid
      - request
      - sessionstatus
      type: object
      x-vmw-nsx-module: PacketCapture
    description: |-
      Packet capture session information.
    title: |-
      Packet capture response information
    x-vmw-nsx-module: PacketCapture
  PacketCaptureSessionList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        result_count:
          description: |-
            Total capture session count
          format: int64
          title: |-
            Total capture session count
          type: integer
        results:
          description: |-
            Packet capture list for all sessoins
          items:
            $ref: '#/definitions/PacketCaptureSession'
          title: |-
            Packet capture list for all sessoins
          type: array
      required:
      - result_count
      type: object
      x-vmw-nsx-module: PacketCapture
    x-vmw-nsx-module: PacketCapture
  PacketData:
    discriminator: resource_type
    properties:
      frame_size:
        default: 128
        description: |-
          If the requested frame_size is too small (given the payload and traceflow metadata requirement of 16 bytes), the traceflow request will fail with an appropriate message.  The frame will be zero padded to the requested size.
        format: int64
        maximum: 1000
        minimum: 60
        title: |-
          Requested total size of the (logical) packet in bytes
        type: integer
      resource_type:
        description: |-
          Packet configuration
        enum:
        - BinaryPacketData
        - FieldsPacketData
        title: |-
          Packet configuration
        type: string
      routed:
        description: |-
          A flag, when set true, indicates that the traceflow packet is of L3 routing.
        title: |-
          A flag, when set true, indicates that the traceflow packet is of L3 routing.
        type: boolean
      transport_type:
        default: UNICAST
        description: |-
          transport type of the traceflow packet
        enum:
        - BROADCAST
        - UNICAST
        - MULTICAST
        - UNKNOWN
        title: |-
          transport type of the traceflow packet
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: Traceflow
  PacketNumberSampling:
    allOf:
    - $ref: '#/definitions/SamplingArgument'
    - properties:
        sampling_rate:
          description: |-
            1 out of how many packets is sampled
          format: int64
          maximum: 65535
          minimum: 1
          title: |-
            1 out of how many packets is sampled
          type: integer
      required:
      - sampling_rate
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  PacketTypeAndCounter:
    properties:
      counter:
        description: |-
          The number of packets.
        format: int64
        title: |-
          The number of packets.
        type: integer
      packet_type:
        description: |-
          The type of the packets
        title: |-
          The type of the packets
        type: string
    required:
    - counter
    - packet_type
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  PacketsDroppedBySecurity:
    properties:
      bpdu_filter_dropped:
        description: |-
          The number of packets dropped by "BPDU filter".
        format: int64
        title: |-
          The number of packets dropped by "BPDU filter".
        type: integer
      dhcp_client_dropped_ipv4:
        description: |-
          The number of IPv4 packets dropped by "DHCP client block".
        format: int64
        title: |-
          The number of IPv4 packets dropped by "DHCP client block".
        type: integer
      dhcp_client_dropped_ipv6:
        description: |-
          The number of IPv6 packets dropped by "DHCP client block".
        format: int64
        title: |-
          The number of IPv6 packets dropped by "DHCP client block".
        type: integer
      dhcp_server_dropped_ipv4:
        description: |-
          The number of IPv4 packets dropped by "DHCP server block".
        format: int64
        title: |-
          The number of IPv4 packets dropped by "DHCP server block".
        type: integer
      dhcp_server_dropped_ipv6:
        description: |-
          The number of IPv6 packets dropped by "DHCP server block".
        format: int64
        title: |-
          The number of IPv6 packets dropped by "DHCP server block".
        type: integer
      spoof_guard_dropped:
        description: |-
          The packets dropped by "Spoof Guard"; supported packet types are IPv4, IPv6, ARP, ND, non-IP.
        items:
          $ref: '#/definitions/PacketTypeAndCounter'
        title: |-
          The packets dropped by "Spoof Guard"; supported packet types are IPv4, IPv6, ARP, ND, non-IP.
        type: array
    type: object
    x-vmw-nsx-module: AggSvcL2Types
  PasswordAuthenticationScheme:
    allOf:
    - $ref: '#/definitions/AuthenticationScheme'
    - properties:
        password:
          description: |-
            Password to authenticate with
          title: |-
            Password to authenticate with
          type: string
        scheme_name:
          description: |-
            Authentication scheme name
          enum:
          - password
          title: |-
            Authentication scheme name
          type: string
        username:
          description: |-
            User name to authenticate with
          title: |-
            User name to authenticate with
          type: string
      required:
      - username
      - scheme_name
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  PendingChange:
    properties:
      request_id:
        description: |-
          Request identifier of the API which modified the entity.
        title: |-
          Request_id of the API change
        type: string
    type: object
    x-vmw-nsx-module: Firewall
  PerForwarderStatistics:
    description: |
      Query statistics counters of a forwarder identified by domain names.
    properties:
      domain_names:
        description: |
          Domain names configured for the forwarder. Empty if this is the
          default forwarder.
        items:
          type: string
        maxItems: 100
        minItems: 0
        readOnly: true
        title: |-
          Domain names configured for the forwarder
        type: array
      upstream_statistics:
        description: |-
          Statistics per upstream server.
        items:
          $ref: '#/definitions/PerUpstreamServerStatistics'
        maxItems: 3
        minItems: 0
        readOnly: true
        title: |-
          Statistics per upstream server.
        type: array
    title: |-
      Per-forwarder query statistics counters
    type: object
    x-vmw-nsx-module: AggSvcDnsForwarder
  PerNodeDnsFailedQueries:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        node_id:
          description: |-
            The Uuid of active/standby transport node.
          readOnly: true
          title: |-
            Uuid of active/standby transport node
          type: string
        results:
          description: |-
            The list of failed DNS queries.
          items:
            $ref: '#/definitions/DnsFailedQuery'
          readOnly: true
          title: |-
            List of failed DNS queries
          type: array
        timestamp:
          description: |-
            Timestamp of the request, in YYYY-MM-DD HH:MM:SS.zzz format.
          readOnly: true
          title: |-
            Timestamp of the request
          type: string
      type: object
      x-vmw-nsx-module: DnsForwarder
    description: |
      The list of the failed DNS queries with entry count and timestamp.
      The entry count is for per active/standby transport node.
    title: |-
      The list of failed DNS queries per transport node
    x-vmw-nsx-module: DnsForwarder
  PerNodeUsedCacheStatistics:
    description: |
      Query statistics counters of used cache from node
    properties:
      cached_entries:
        description: |-
          The total number of cached entries
        format: int64
        readOnly: true
        title: |-
          The total number of cached entries
        type: integer
      node_id:
        description: |-
          Uuid of active/standby transport node
        readOnly: true
        title: |-
          Uuid of active/standby transport node
        type: string
      used_cache_size:
        description: |-
          The memory size used in cache, in kb
        format: int64
        readOnly: true
        title: |-
          The memory size used in cache, in kb
        type: integer
    title: |-
      Per-node used cache query statistics counters
    type: object
    x-vmw-nsx-module: AggSvcDnsForwarder
  PerStepRestoreStatus:
    description: |-
      Restore step status
    properties:
      description:
        description: |-
          A description of the restore status
        readOnly: true
        title: |-
          A description of the restore status
        type: string
      value:
        description: |-
          Per step restore status value
        enum:
        - INITIAL
        - RUNNING
        - SUSPENDED_BY_USER
        - SUSPENDED_FOR_USER_ACTION
        - FAILED
        - SUCCESS
        readOnly: true
        title: |-
          Per step restore status value
        type: string
    title: |-
      Restore step status
    type: object
    x-vmw-nsx-module: ClusterRestore
  PerUpstreamServerStatistics:
    description: |
      Query statistics counters to an upstream server including successfully
      forwarded queries and failed queries.
    properties:
      queries_failed:
        description: |-
          Queries failed to forward.
        format: int64
        readOnly: true
        title: |-
          Queries failed to forward.
        type: integer
      queries_succeeded:
        description: |-
          Queries forwarded successfully
        format: int64
        readOnly: true
        title: |-
          Queries forwarded successfully
        type: integer
      upstream_server:
        description: |-
          Upstream server ip
        format: ip
        readOnly: true
        type: string
    title: |-
      Per-upstream server query statistics counters
    type: object
    x-vmw-nsx-module: AggSvcDnsForwarder
  PhysicalServer:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ip_addresses:
          description: |-
            IP addresses of the physical server specified by the admin while registering as Transport node in nsx.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          readOnly: true
          title: |-
            IP Addresses of the physical server, version 4 or 6
          type: array
        os_type:
          description: |-
            OS type of the physical server.
          enum:
          - RHELSERVER
          - UBUNTUSERVER
          - CENTOSSERVER
          - SLESSERVER
          - WINDOWSSERVER
          - OELSERVER
          readOnly: true
          title: |-
            OS type of the physical server
          type: string
      type: object
      x-vmw-nsx-module: PhysicalServer
    description: |-
      Details of physical/bare metal server. PhysicalServer is an abstraction for TransportNode with os_type RHELSERVER, UBUNTUSERVER, CENTOSSERVER, SLESSERVER, OELSERVER or WINDOWSSERVER. This entity will be used in grouping to provide micro-segmentation to physical servers. To add any new physical servers/perform any changes, use create/update TransportNode API.
    title: |-
      Physical server
    x-vmw-nsx-module: PhysicalServer
  PhysicalServerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of physical servers.
          items:
            $ref: '#/definitions/PhysicalServer'
          title: |-
            List of physical servers
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: PhysicalServer
    x-vmw-nsx-module: PhysicalServer
  PktCapResource:
    allOf:
    - $ref: '#/definitions/BasePktCapResource'
    - properties:
        pktcap_file_download_url:
          description: |-
            Packet capture file download URL
          readOnly: true
          title: |-
            Packet capture file download URL
          type: string
        port_id:
          description: |-
            The ID of logical port where packet capture action is performed
          readOnly: true
          title: |-
            The ID of logical port where packet capture action is performed
          type: string
      type: object
      x-vmw-nsx-module: LiveTrace
    description: |
      The resource of packet capture per port, such as
      the downloading URL of packet capture file.
    x-vmw-nsx-module: LiveTrace
  PktCapResult:
    description: |
      The packet capture result for transport nodes
    properties:
      pktcap_resource_list:
        description: |
          The packet capture resource info for ports where packet
          capture action is performed
        items:
          $ref: '#/definitions/PktCapResource'
        readOnly: true
        title: |-
          Packet capture results on the given transport node
        type: array
      transport_node_id:
        description: |-
          The ID of transport node where packet capture action is deployed
        readOnly: true
        title: |-
          The ID of transport node where packet capture action is deployed
        type: string
      transport_node_type:
        description: |-
          Type of the transport node
        enum:
        - ESX
        - RHELKVM
        - UBUNTUKVM
        - EDGE
        - PUBLIC_CLOUD_GATEWAY_NODE
        - OTHERS
        - HYPERV
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: LiveTrace
  PktcapActionArgument:
    properties:
      dest_lport:
        description: |
          Please keep this aligned with trace_config, if you
          specify dest_lport at trace_config.
        readOnly: true
        title: |-
          Destination logical port for bidirectional packet capture
        type: string
      pktcap_type:
        description: |-
          Type of packet capture
        enum:
        - UNI_DIRECTIONAL
        - BI_DIRECTIONAL
        readOnly: true
        title: |-
          Type of packet capture
        type: string
      reverse_filter:
        $ref: '#/definitions/LiveTraceFilterData'
        description: |
          Please keep this aligned with trace_config, if you
          specify dest_lport at trace_config.
        readOnly: true
        title: |-
          Packet filter for flows of interest in reverse direction
    type: object
    x-vmw-nsx-module: LiveTrace
  PktcapActionConfig:
    properties:
      action_argument:
        $ref: '#/definitions/PktcapActionArgument'
        description: |-
          Action argument for packet capture
        readOnly: true
        title: |-
          Action argument for packet capture
      sampling_argument:
        $ref: '#/definitions/SamplingArgument'
        description: |-
          Sample argument for packet capture
        readOnly: true
        title: |-
          Sample argument for packet capture
    type: object
    x-vmw-nsx-module: LiveTrace
  PlainFilterData:
    allOf:
    - $ref: '#/definitions/LiveTraceFilterData'
    - properties:
        basic_filter:
          description: |-
            Basic RCF rule for packet filter
          title: |-
            Basic RCF rule for packet filter
          type: string
        extend_filter:
          description: |-
            Extended RCF rule for packet filter
          title: |-
            Extended RCF rule for packet filter
          type: string
      type: object
      x-vmw-nsx-module: LiveTrace
    x-vmw-nsx-module: LiveTrace
  PluginFileProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        file_name:
          description: |-
            File name
          title: |-
            File name
          type: string
        plugin_id:
          description: |-
            Plugin id
          title: |-
            Plugin id
          type: string
        status:
          description: |-
            Upload status
          title: |-
            Upload status
          type: string
      required:
      - status
      - file_name
      - plugin_id
      type: object
      x-vmw-nsx-module: SystemHealthPlugin
    description: |-
      Plugin file properties
    title: |-
      Plugin file properties
    x-vmw-nsx-module: SystemHealthPlugin
  PluginStatus:
    description: |
      Describes plugin status on node
    properties:
      detail:
        description: |-
          Detail information of plugin.
        readOnly: true
        title: |-
          Detail information of plugin
        type: string
      id:
        description: |-
          Plugin id.
        readOnly: true
        title: |-
          Plugin id
        type: string
      name:
        description: |-
          Plugin name.
        readOnly: true
        title: |-
          Plugin name
        type: string
      profile:
        description: |-
          Display the plugin profile content.
        readOnly: true
        title: |-
          Plugin profile
        type: string
      status:
        description: |-
          Plugin status.
        enum:
        - UNKNOWN
        - ENABLED
        - DISABLED
        readOnly: true
        type: string
    title: |-
      System Health Plugin status
    type: object
    x-vmw-nsx-module: SystemHealthPlugin
  PluginStatusList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        result_count:
          description: |-
            Total plugin count
          format: int64
          title: |-
            Total plugin count
          type: integer
        results:
          description: |-
            System Health plugin status list
          items:
            $ref: '#/definitions/PluginStatus'
          title: |-
            System Health plugin status list
          type: array
      required:
      - result_count
      type: object
      x-vmw-nsx-module: SystemHealthPlugin
    x-vmw-nsx-module: SystemHealthPlugin
  Pnic:
    description: |-
      Physical NIC specification
    properties:
      device_name:
        description: |-
          device name or key
        readOnly: false
        title: |-
          device name or key
        type: string
      uplink_name:
        description: |-
          Uplink name for this Pnic. This name will be used to reference this Pnic in other configurations.
        readOnly: false
        title: |-
          Uplink name for this Pnic. This name will be used to reference this Pnic in other configurations.
        type: string
    required:
    - uplink_name
    - device_name
    title: |-
      Physical NIC specification
    type: object
    x-vmw-nsx-module: TransportNode
  PnicBondStatus:
    description: |-
      pNIC/bond statuses
    properties:
      name:
        description: |-
          Name of the pNIC/bond
        title: |-
          pNIC/bond name
        type: string
      status:
        description: |-
          Status of pNIC/bond
        enum:
        - UNKNOWN
        - UP
        - DOWN
        - DEGRADED
        title: |-
          pNic/bond status
        type: string
      type:
        description: |-
          type, whether the object is a pNIC or a bond
        enum:
        - UNKNOWN_TYPE
        - PNIC
        - BOND
        title: |-
          Object type
        type: string
    title: |-
      pNIC/bond status
    type: object
    x-vmw-nsx-module: Heatmap
  PnicBondStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of pNIC statuses belonging to the transport node
          items:
            $ref: '#/definitions/PnicBondStatus'
          title: |-
            List of pNIC/bond statuses
          type: array
      type: object
      x-vmw-nsx-module: Heatmap
    description: |-
      This object contains reference to list of pNIC/bond statuses
    title: |-
      pNIC status list container
    x-vmw-nsx-module: Heatmap
  PnicMirrorDestination:
    allOf:
    - $ref: '#/definitions/MirrorDestination'
    - properties:
        dest_pnics:
          description: |-
            Physical NIC device names to which to send the mirrored packets
          items:
            type: string
          maxItems: 3
          minItems: 1
          title: |-
            Physical NIC device names to which to send the mirrored packets
          type: array
        node_id:
          description: |-
            Transport node to which to send the mirrored packets
          title: |-
            Transport node to which to send the mirrored packets
          type: string
      required:
      - dest_pnics
      - node_id
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  PnicMirrorSource:
    allOf:
    - $ref: '#/definitions/MirrorSource'
    - properties:
        encapsulated:
          default: false
          description: |-
            Whether to filter encapsulated packet.
          title: |-
            Whether to filter encapsulated packet.
          type: boolean
        node_id:
          description: |-
            Transport node identifier for the pnic located.
          title: |-
            Transport node identifier for the pnic located.
          type: string
        source_pnics:
          description: |-
            Source physical NIC device names
          items:
            type: string
          minItems: 1
          title: |-
            Source physical NIC device names
          type: array
      required:
      - node_id
      - encapsulated
      - source_pnics
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  PointDefinition:
    description: |-
      Defines the point of a graph.
    properties:
      drilldown_id:
        description: |-
          Id of drilldown widget, if any. Id should be a valid id of an existing widget. A widget is considered as drilldown widget when it is associated with any other widget and provides more detailed information about any data item from the parent widget.
        title: |-
          Id of drilldown widget
        type: string
      field:
        description: |-
          An expression that represents the points of the graph
        title: |-
          Expression for points of the graph
        type: string
      navigation:
        description: |-
          Hyperlink of the specified UI page that provides details.
        maxLength: 1024
        title: |-
          Navigation to a specified UI page
        type: string
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over the point of a graph.
        items:
          $ref: '#/definitions/Tooltip'
        minItems: 0
        title: |-
          Multi-line tooltip
        type: array
      x_value:
        description: |-
          Represents the variable for the X value of points that are plotted on the graph.
        title: |-
          Variable chosen for X value of the point of the graph
        type: string
      y_value:
        description: |-
          Represents the variable for the Y value of points that are plotted on the graph.
        title: |-
          Variable chosen for Y value of the point of the graph
        type: string
    required:
    - y_value
    - x_value
    - field
    title: |-
      Definition of a point of graph
    type: object
    x-vmw-nsx-module: NsxDashboard
  PolicyBasedIPSecVPNSession:
    allOf:
    - $ref: '#/definitions/IPSecVPNSession'
    - properties:
        policy_rules:
          description: |-
            Policy rules
          items:
            $ref: '#/definitions/IPSecVPNPolicyRule'
          title: |-
            Policy rules
          type: array
      required:
      - policy_rules
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      A Policy Based VPN requires to define protect rules that match local and peer subnets. IPSec security associations is negotiated for each pair of local and peer subnet.
    title: |-
      Policy based VPN session
    x-vmw-nsx-module: IPSecVPN
  PoolMember:
    properties:
      admin_state:
        default: ENABLED
        description: |-
          member admin state
        enum:
        - ENABLED
        - DISABLED
        - GRACEFUL_DISABLED
        type: string
      backup_member:
        default: false
        description: |
          Backup servers are typically configured with a sorry page indicating to
          the user that the application is currently unavailable. While the pool
          is active (a specified minimum number of pool members are active)
          BACKUP members are skipped during server selection. When the pool is
          inactive, incoming connections are sent to only the BACKUP member(s).
        title: |-
          determine whether the pool member is for backup usage
        type: boolean
      display_name:
        description: |-
          pool member name
        title: |-
          pool member name
        type: string
      ip_address:
        description: |-
          pool member IP address
        format: ip
        type: string
      max_concurrent_connections:
        description: |
          To ensure members are not overloaded, connections to a member can be
          capped by the load balancer. When a member reaches this limit, it is
          skipped during server selection.
          If it is not specified, it means that connections are unlimited.
        format: int64
        maximum: 2147483647
        minimum: 1
        title: |-
          maximum concurrent connection number
        type: integer
      port:
        description: |
          If port is specified, all connections will be sent to this port. Only
          single port is supported.
          If unset, the same port the client connected to will be used, it could
          be overrode by default_pool_member_port setting in virtual server.
          The port should not specified for port range case.
        format: port-or-range
        type: string
      weight:
        default: 1
        description: |
          Pool member weight is used for WEIGHTED_ROUND_ROBIN balancing
          algorithm. The weight value would be ignored in other algorithms.
        format: int64
        maximum: 256
        minimum: 1
        title: |-
          pool member weight
        type: integer
    required:
    - ip_address
    type: object
    x-vmw-nsx-module: LoadBalancer
  PoolMemberGroup:
    properties:
      customized_members:
        description: |
          The list is used to show the customized pool member settings. User can
          only user pool member action API to update the admin state for a specific
          IP address.
        items:
          $ref: '#/definitions/PoolMemberSetting'
        readOnly: false
        title: |-
          List of customized pool member settings
        type: array
      grouping_object:
        $ref: '#/definitions/ResourceReference'
        description: |
          Load balancer pool support grouping object as dynamic pool members.
          The IP list of the grouping object such as NSGroup would be used as
          pool member IP setting.
        title: |-
          Grouping object resource reference
      ip_revision_filter:
        default: IPV4
        description: |
          Ip revision filter is used to filter IPv4 or IPv6 addresses from the
          grouping object.
          If the filter is not specified, both IPv4 and IPv6 addresses would be
          used as server IPs.
          The link local and loopback addresses would be always filtered out.
        enum:
        - IPV4
        - IPV6
        - IPV4_IPV6
        title: |-
          Filter of ipv4 or ipv6 address of grouping object IP list
        type: string
      max_ip_list_size:
        description: |
          The size is used to define the maximum number of grouping object IP
          address list. These IP addresses would be used as pool members.
          If the grouping object includes more than certain number of
          IP addresses, the redundant parts would be ignored and those IP
          addresses would not be treated as pool members.
          If the size is not specified, one member is budgeted for this dynamic
          pool so that the pool has at least one member even if some other
          dynamic pools grow beyond the capacity of load balancer service. Other
          members are picked according to available dynamic capacity. The unused
          members would be set to DISABLED so that the load balancer system
          itself is not overloaded during runtime.
        format: int64
        maximum: 2147483647
        minimum: 0
        title: |-
          Maximum number of grouping object IP address list
        type: integer
      port:
        description: |
          If port is specified, all connections will be sent to this port.
          If unset, the same port the client connected to will be used, it could
          be overridden by default_pool_member_ports setting in virtual server.
          The port should not specified for multiple ports case.
        format: int32
        maximum: 65535
        minimum: 1
        title: |-
          Pool member port for all IP addresses of the grouping object
        type: integer
    required:
    - grouping_object
    type: object
    x-vmw-nsx-module: LoadBalancer
  PoolMemberSetting:
    description: |
      The setting is used to add, update or remove pool members from pool.
      For static pool members, admin_state, display_name and weight can be
      updated.
      For dynamic pool members, only admin_state can be updated.
    properties:
      admin_state:
        default: ENABLED
        description: |-
          Member admin state
        enum:
        - ENABLED
        - DISABLED
        - GRACEFUL_DISABLED
        type: string
      display_name:
        description: |
          Only applicable to static pool members. If supplied for a pool defined
          by a grouping object, update API would fail.
        title: |-
          Pool member display name
        type: string
      ip_address:
        description: |-
          Pool member IP address
        format: ip
        type: string
      port:
        description: |-
          Pool member port number
        format: port-or-range
        type: string
      weight:
        description: |
          Only applicable to static pool members. If supplied for a pool defined
          by a grouping object, update API would fail.
        format: int64
        maximum: 255
        minimum: 1
        title: |-
          Pool member weight
        type: integer
    required:
    - ip_address
    title: |-
      Pool member setting
    type: object
    x-vmw-nsx-module: LoadBalancer
  PoolMemberSettingList:
    description: |-
      List of PoolMemberSetting
    properties:
      members:
        description: |
          List of pool member settings to be passed to add, update and remove APIs
        items:
          $ref: '#/definitions/PoolMemberSetting'
        title: |
          List of pool member settings to be passed to add, update and remove APIs
        type: array
    required:
    - members
    title: |-
      List of PoolMemberSetting
    type: object
    x-vmw-nsx-module: LoadBalancer
  PoolUsage:
    description: |-
      Pool usage statistics in a pool.
    properties:
      allocated_ids:
        description: |-
          Total number of allocated IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of allocated IDs in a pool
        type: integer
      free_ids:
        description: |-
          Total number of free IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of free IDs in a pool
        type: integer
      total_ids:
        description: |-
          Total number of IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of IDs in a pool
        type: integer
    type: object
    x-vmw-nsx-module: Ipam
  PortAttacher:
    description: |-
      VM or vmknic entity attached to LogicalPort
    properties:
      entity:
        description: |
          This is a vmknic name if the attacher is vmknic. Otherwise, it is
          full path of the attached VM's config file
        readOnly: false
        title: |-
          Reference to the attached entity
        type: string
      host:
        description: |-
          TransportNode on which the attacher resides
        readOnly: false
        title: |-
          TransportNode on which the attacher resides
        type: string
    required:
    - host
    - entity
    title: |-
      VM or vmknic entity attached to LogicalPort
    type: object
    x-vmw-nsx-module: LogicalPort
  PortConnectionBMEntities:
    description: |-
      Port Connection Bare Metal Entities
    properties:
      dst_port:
        $ref: '#/definitions/LogicalPort'
      src_port:
        $ref: '#/definitions/LogicalPort'
    title: |-
      Port Connection Bare Metal Entities
    type: object
    x-vmw-nsx-module: PortConnection
  PortConnectionContainersEntities:
    description: |-
      Port Connection Containers Entities
    properties:
      logical_ports:
        items:
          $ref: '#/definitions/LogicalPort'
        type: array
    title: |-
      Port Connection Containers Entities
    type: object
    x-vmw-nsx-module: PortConnection
  PortConnectionEdgeNodeGroup:
    allOf:
    - $ref: '#/definitions/PortConnectionEntity'
    - properties:
        edge_nodes:
          items:
            $ref: '#/definitions/TransportNode'
          type: array
        logical_router_id:
          description: |-
            Id of the logical router
          title: |-
            Id of the logical router
          type: string
      required:
      - logical_router_id
      type: object
      x-vmw-nsx-module: PortConnection
    description: |-
      Collection of edge nodes backing a logical router
    title: |-
      Collection of edge nodes backing a logical router
    x-vmw-nsx-module: PortConnection
  PortConnectionEntities:
    description: |-
      Port Connection Entities (to help draw a visual picture of entities between two ports)
    properties:
      containers:
        $ref: '#/definitions/PortConnectionContainersEntities'
      edge_node_groups:
        items:
          $ref: '#/definitions/PortConnectionEdgeNodeGroup'
        type: array
      errors:
        items:
          $ref: '#/definitions/PortConnectionError'
        type: array
      hypervisors:
        items:
          $ref: '#/definitions/PortConnectionHypervisor'
        type: array
      logical_switches:
        items:
          $ref: '#/definitions/PortConnectionLogicalSwitch'
        type: array
      physical_hosts:
        $ref: '#/definitions/PortConnectionBMEntities'
      routers:
        items:
          $ref: '#/definitions/PortConnectionRouter'
        type: array
      tunnels:
        items:
          $ref: '#/definitions/PortConnectionTunnel'
        type: array
      vms:
        items:
          $ref: '#/definitions/VirtualMachine'
        type: array
    required:
    - errors
    - logical_switches
    - hypervisors
    - tunnels
    - vms
    - containers
    title: |-
      Port Connection Entities (to help draw a visual picture of entities between two ports)
    type: object
    x-vmw-nsx-module: PortConnection
  PortConnectionEntity:
    description: |-
      Port Connection Entity
    properties:
      id:
        description: |-
          Resource ID is mapped to this. (ID is Generated for Edge node groups, since resource will be null)
        readOnly: true
        title: |-
          Resource ID is mapped to this. (ID is Generated for Edge node groups, since resource will be null)
        type: string
      resource:
        $ref: '#/definitions/ManagedResource'
        description: |-
          Resource reference with details of the entity
        readOnly: true
        title: |-
          Resource reference with details of the entity
    title: |-
      Port Connection Entity
    type: object
    x-vmw-nsx-module: PortConnection
  PortConnectionError:
    description: |-
      Errors encountered while fetching entities in the forwarding path
    properties:
      entity_type:
        type: string
      error_details:
        type: object
      error_summary:
        type: string
    title: |-
      Errors encountered while fetching entities in the forwarding path
    type: object
    x-vmw-nsx-module: PortConnection
  PortConnectionHypervisor:
    allOf:
    - $ref: '#/definitions/PortConnectionEntity'
    - properties:
        neighbors_list:
          items:
            $ref: '#/definitions/InterfaceNeighborProperties'
          type: array
        pnics:
          items:
            $ref: '#/definitions/Pnic'
          type: array
          x-deprecated: true
        pnics_list:
          items:
            $ref: '#/definitions/NodeInterfaceProperties'
          type: array
        profiles:
          items:
            $ref: '#/definitions/BaseHostSwitchProfile'
          type: array
      type: object
      x-vmw-nsx-module: PortConnection
    description: |-
      Port Connection Hypervisor/Transport Node Entity
    title: |-
      Port Connection Hypervisor/Transport Node Entity
    x-vmw-nsx-module: PortConnection
  PortConnectionLogicalSwitch:
    allOf:
    - $ref: '#/definitions/PortConnectionEntity'
    - properties:
        router_ports:
          description: |-
            Logical Ports that are attached to a router
          items:
            $ref: '#/definitions/LogicalPort'
          readOnly: true
          title: |-
            Logical Ports that are attached to a router
          type: array
        vm_ports:
          description: |-
            Logical Ports that are attached to a VIF/VM
          items:
            $ref: '#/definitions/LogicalPort'
          readOnly: true
          title: |-
            Logical Ports that are attached to a VIF/VM
          type: array
        vm_ports_states:
          description: |-
            States of Logical Ports that are attached to a VIF/VM
          items:
            $ref: '#/definitions/LogicalPortState'
          readOnly: true
          title: |-
            States of Logical Ports that are attached to a VIF/VM
          type: array
        vm_vnics:
          description: |-
            Virutal Network Interfaces that are attached to the Logical Ports
          items:
            $ref: '#/definitions/VirtualNetworkInterface'
          readOnly: true
          title: |-
            Virutal Network Interfaces that are attached to the Logical Ports
          type: array
      type: object
      x-vmw-nsx-module: PortConnection
    description: |-
      Port Connection Logical Switch Entity
    title: |-
      Port Connection Logical Switch Entity
    x-vmw-nsx-module: PortConnection
  PortConnectionRouter:
    allOf:
    - $ref: '#/definitions/PortConnectionEntity'
    - properties:
        downlink_ports:
          description: |-
            Downlink ports of the Logical Router.
          items:
            $ref: '#/definitions/LogicalRouterPort'
          readOnly: true
          title: |-
            Downlink ports of the Logical Router.
          type: array
        uplink_ports:
          description: |-
            Uplink ports of the Logical Router.
          items:
            $ref: '#/definitions/LogicalRouterPort'
          readOnly: true
          title: |-
            Uplink ports of the Logical Router.
          type: array
      type: object
      x-vmw-nsx-module: PortConnection
    description: |-
      Port Connection Logical Router Entity
    title: |-
      Port Connection Logical Router Entity
    x-vmw-nsx-module: PortConnection
  PortConnectionTunnel:
    description: |-
      Tunnel information between two given transport nodes
    properties:
      src_node_id:
        description: |-
          Id of the source transport node
        title: |-
          Id of the source transport node
        type: string
      tunnel_properties:
        $ref: '#/definitions/TunnelProperties'
        description: |-
          Tunnel properties between the source and the destination transport node
        title: |-
          Tunnel properties between the source and the destination transport node
    required:
    - src_node_id
    - tunnel_properties
    title: |-
      Tunnel information between two given transport nodes
    type: object
    x-vmw-nsx-module: PortConnection
  PortMirroringFilter:
    properties:
      dst_ips:
        $ref: '#/definitions/IPAddresses'
        description: |-
          Destination IP in the form of IPAddresses, used to match the destination IP of a packet. If not provided, no filtering by destination IPs is performed.
        title: |-
          Destination IP used to filter packets
      dst_ports:
        description: |-
          Destination port in the form of a port or port range, used to match the destination port of a packet. If not provided, no filtering by destination port is performed.
        format: port-or-range
        type: string
      filter_action:
        default: MIRROR
        description: |-
          If set to MIRROR, packets will be mirrored. If set to DO_NOT_MIRROR, packets will not be mirrored.
        enum:
        - MIRROR
        - DO_NOT_MIRROR
        title: |-
          Mirror action to filter packets
        type: string
      ip_protocol:
        description: |-
          The transport protocols of TCP or UDP, used to match the transport protocol of a packet. If not provided, no filtering by IP protocols is performed.
        enum:
        - TCP
        - UDP
        title: |-
          The protocol used to filter packets.
        type: string
      src_ips:
        $ref: '#/definitions/IPAddresses'
        description: |-
          Source IP in the form of IPAddresses, used to match the source IP of a packet. If not provided, no filtering by source IPs is performed.
        title: |-
          Source IP used to filter packets
      src_ports:
        description: |-
          Source port in the form of a port or port range, used to match the source port of a packet. If not provided, no filtering by source port is performed.
        format: port-or-range
        type: string
    type: object
    x-vmw-nsx-module: PortMirroring
  PortMirroringSession:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        direction:
          description: |-
            Port mirroring session direction
          enum:
          - INGRESS
          - EGRESS
          - BIDIRECTIONAL
          type: string
        encapsulation_vlan_id:
          description: |-
            Only for Remote SPAN Port Mirror.
          format: int64
          type: integer
        mirror_destination:
          $ref: '#/definitions/MirrorDestination'
          description: |-
            Mirror destination
          title: |-
            Mirror destination
        mirror_sources:
          description: |-
            Mirror sources
          items:
            $ref: '#/definitions/MirrorSource'
          minItems: 1
          title: |-
            Mirror sources
          type: array
        port_mirroring_filters:
          description: |-
            An array of 5-tuples used to filter packets for the mirror session, if not provided, all the packets will be mirrored.
          items:
            $ref: '#/definitions/PortMirroringFilter'
          title: |-
            Port mirror filter for this session
          type: array
        preserve_original_vlan:
          default: false
          description: |-
            Only for Remote SPAN Port Mirror. Whether to preserve original VLAN.
          title: |-
            Only for Remote SPAN Port Mirror. Whether to preserve original VLAN.
          type: boolean
        session_type:
          default: LocalPortMirrorSession
          description: |
            If this property is unset, this session will be treated as
            LocalPortMirrorSession.
          enum:
          - LogicalPortMirrorSession
          - UplinkPortMirrorSession
          - RspanSrcMirrorSession
          - RspanDstMirrorSession
          - LocalPortMirrorSession
          - LogicalLocalPortMirrorSession
          - L3PortMirrorSession
          type: string
        snap_length:
          description: |
            If this property is set, the packet will be truncated to the provided
            length. If this property is unset, entire packet will be mirrored.
          format: int64
          maximum: 65535
          minimum: 60
          title: |-
            Maximum packet length for packet truncation
          type: integer
        tcp_ip_stack:
          description: |
            If set to mirror, mirror packet will be sent via dedicated mirror stack
            to destination; If set to default, mirror packet will be sent via default stack;
            So far, the value mirror can only be chosen in L3PortMirrorSession.
          enum:
          - Default
          - Mirror
          title: |-
            TCP/IP Stack
          type: string
      required:
      - direction
      - mirror_sources
      - mirror_destination
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  PortMirroringSessionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Port mirroring session results
          items:
            $ref: '#/definitions/PortMirroringSession'
          readOnly: true
          title: |-
            Port mirroring session results
          type: array
      type: object
      x-vmw-nsx-module: PortMirroring
    description: |-
      Mirror session queries result
    title: |-
      Mirror session queries result
    x-vmw-nsx-module: PortMirroring
  PortMirroringSwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        destinations:
          description: |-
            List of destination addresses
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 3
          title: |-
            List of destination addresses
          type: array
        direction:
          description: |-
            port mirroring direction
          enum:
          - INGRESS
          - EGRESS
          - BIDIRECTIONAL
          type: string
        key:
          description: |-
            User-configurable 32-bit key
          format: int64
          title: |-
            User-configurable 32-bit key
          type: integer
        snap_length:
          description: |-
            If this property not set, original package will not be truncated.
          format: int64
          maximum: 65535
          minimum: 60
          title: |-
            Snap length for package truncation
          type: integer
      type: object
      x-vmw-nsx-module: PortMirroringSwitchingProfile
    x-vmw-nsx-module: PortMirroringSwitchingProfile
  PortStatus:
    description: |-
      indicates if the RabbitMQ management port is set or not
    properties:
      enabled:
        description: |-
          indicates if the RabbitMQ management port is set or not
        title: |-
          indicates if the RabbitMQ management port is set or not
        type: boolean
    required:
    - enabled
    title: |-
      indicates if the RabbitMQ management port is set or not
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  PostVmGroupMigrationSpec:
    description: |-
      Migration spec for a VM group that will be used in post VM group migration step.
    properties:
      allow_override:
        default: false
        description: |-
          Flag to indicate whether to re-run the post migrate steps for the VM group if they are already run before.
        readOnly: false
        title: |-
          Flag for re-running post migrate steps
        type: boolean
      failed_vm_instance_ids:
        description: |-
          List of instance uuids of VMs that failed to migrate.
        items:
          type: string
        readOnly: false
        title: |-
          List of instance uuids of VMs
        type: array
      group_id:
        description: |-
          User defined VM group id that must be unique among all VM groups ids and also should match the group id used in the pre VM group migrate API.
        readOnly: false
        title: |-
          User defined VM group id
        type: string
    required:
    - group_id
    title: |-
      Migration spec for a VM group
    type: object
    x-vmw-nsx-module: Migration
  PreVmGroupMigrationSpec:
    description: |-
      Migration spec for a VM group that will be used in pre VM group migration step.
    properties:
      allow_override:
        default: false
        description: |-
          Flag to indicate whether to re-run the pre migrate steps for the VM group if they are already run before.
        readOnly: false
        title: |-
          Flag for re-running the pre migrate steps
        type: boolean
      group_id:
        description: |-
          User defined VM group id that must be unique among all VM groups ids.
        readOnly: false
        title: |-
          User defined VM group id
        type: string
      vm_instance_ids:
        description: |-
          List of VM instance uuids that can be found in VC inventory.
        items:
          type: string
        readOnly: false
        title: |-
          List of VM instance uuids
        type: array
    required:
    - group_id
    - vm_instance_ids
    title: |-
      Migration spec for a VM group
    type: object
    x-vmw-nsx-module: Migration
  PreconfiguredEndpoint:
    description: |-
      Tunnel endpoint configuration of preconfigured host switch
    properties:
      device_name:
        description: |-
          Name of the virtual tunnel endpoint
        readOnly: false
        title: |-
          Name of the virtual tunnel endpoint
        type: string
    required:
    - device_name
    title: |-
      Tunnel endpoint configuration of preconfigured host switch
    type: object
    x-vmw-nsx-module: TransportNode
  PreconfiguredHostSwitch:
    description: |-
      Preconfigured host switch is used for manually configured transport node.
    properties:
      endpoints:
        description: |-
          List of virtual tunnel endpoints which are preconfigured on this host switch
        items:
          $ref: '#/definitions/PreconfiguredEndpoint'
        maxItems: 1
        title: |-
          List of virtual tunnel endpoints which are preconfigured on this host switch
        type: array
      host_switch_id:
        description: |-
          External Id of the preconfigured host switch.
        readOnly: false
        title: |-
          External Id of the preconfigured host switch.
        type: string
      transport_zone_endpoints:
        description: |-
          List of TransportZones that are to be associated with specified host switch.
        items:
          $ref: '#/definitions/TransportZoneEndPoint'
        readOnly: false
        title: |-
          Transport zone endpoints.
        type: array
    required:
    - host_switch_id
    title: |-
      Preconfigured host switch
    type: object
    x-vmw-nsx-module: TransportNode
  PreconfiguredHostSwitchSpec:
    allOf:
    - $ref: '#/definitions/HostSwitchSpec'
    - properties:
        host_switches:
          description: |-
            Preconfigured Transport Node host switches
          items:
            $ref: '#/definitions/PreconfiguredHostSwitch'
          maxItems: 1
          title: |-
            Preconfigured Transport Node host switches
          type: array
      required:
      - host_switches
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Preconfigured host switch specification is used for manually configured transport node. It is user's responsibility to ensure correct configuration is provided to NSX. This type is only valid for supported KVM fabric nodes.
    title: |-
      Specification of transport node preconfigured host switch
    x-vmw-nsx-module: TransportNode
  PrefixConfig:
    properties:
      action:
        description: |-
          Action for the IPPrefix
        enum:
        - PERMIT
        - DENY
        type: string
      ge:
        description: |-
          Greater than or equal to
        format: int64
        maximum: 128
        minimum: 1
        title: |-
          Greater than or equal to
        type: integer
      le:
        description: |-
          Less than or equal to
        format: int64
        maximum: 128
        minimum: 1
        title: |-
          Less than or equal to
        type: integer
      network:
        description: |-
          If absent, the action applies to all addresses.
        format: ip-cidr-block
        type: string
    required:
    - action
    type: object
    x-vmw-nsx-module: Routing
  Principal:
    properties:
      attributes:
        description: |-
          Certificate list.
        items:
          $ref: '#/definitions/KeyValue'
        readOnly: false
        type: array
    required:
    - attributes
    type: object
    x-vmw-nsx-module: CertificateManager
  PrincipalIdentity:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        certificate_id:
          description: |-
            Id of the stored certificate. When used with the deprecated POST /trust-management/principal-identities API this field is required.
          readOnly: false
          title: |-
            Id of the stored certificate
          type: string
        is_protected:
          description: |-
            Indicator whether the entities created by this principal should be protected.
          readOnly: false
          title: |-
            Protection indicator
          type: boolean
        name:
          description: |-
            Name of the principal.
          maxLength: 255
          readOnly: false
          title: |-
            Name
          type: string
        node_id:
          description: |
            Unique node-id of a principal. This is used primarily in the case
            where a cluster of nodes is used to make calls to the NSX Manager and
            the same 'name' is used so that the nodes can access and modify the
            same data while still accessing NSX through their individual secret
            (certificate or JWT). In all other cases this can be any string.
          maxLength: 255
          readOnly: false
          title: |-
            Unique node-id
          type: string
        permission_group:
          description: |-
            Use the 'role' field instead and pass in 'auditor' for read_only_api_users or 'enterprise_admin' for the others.
          enum:
          - read_only_api_users
          - read_write_api_users
          - superusers
          - undefined
          readOnly: false
          type: string
          x-deprecated: true
        role:
          description: |-
            Role
          readOnly: false
          title: |-
            Role
          type: string
      required:
      - node_id
      - name
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  PrincipalIdentityList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            PrincipalIdentity list.
          items:
            $ref: '#/definitions/PrincipalIdentity'
          readOnly: false
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      PrincipalIdentity query result
    title: |-
      PrincipalIdentity query result
    x-vmw-nsx-module: CertificateManager
  PrincipalIdentityWithCertificate:
    allOf:
    - $ref: '#/definitions/PrincipalIdentity'
    - properties:
        certificate_pem:
          description: |-
            PEM encoding of the new certificate.
          readOnly: false
          title: |-
            PEM encoding of the new certificate
          type: string
      required:
      - certificate_pem
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  ProcessInformation:
    description: |
      Describes a process detail informaiton.
    properties:
      command:
        description: |-
          Display the command line used to start the process.
        title: |-
          Display process command
        type: string
      cpu_usage:
        description: |
          The process's share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.
        title: |-
          CPU usage
        type: number
      memory_usage:
        description: |
          A process's currently used share of available physical memory.
        title: |-
          Memory usage
        type: number
      nice_value:
        description: |
          A negative nice value means higher priority, whereas a positive nice value means lower priority.
          Zero in this field simply means priority will not be adjusted in determining a process's dispatch-ability.
        title: |-
          The nice value of the process
        type: string
      process_id:
        description: |-
          Display the process id.
        title: |-
          Process id
        type: string
      resident_memory_size:
        description: |-
          The non-swapped physical memoery a task is using.
        title: |-
          Resident Memory Size (MB)
        type: number
      shared_memory_size:
        description: |
          The amount of shared memory available to a process, not all of which is typically resident.
          It simply reflects memory that could be potentially shared with other processes.
        title: |-
          Shared Memory Size (MB)
        type: number
      user:
        description: |-
          Display the process user.
        title: |-
          Process user
        type: string
      virtual_memory_size:
        description: |
          The total amount of virtual memory used by the process.
          It includes all code, data and shared libraries plus pages that have been swapped out and pages that have been mapped but not used.
        title: |-
          Virtual Memory Size (MB)
        type: number
    title: |-
      Process information
    type: object
    x-vmw-nsx-module: ShaApplianceMonitor
  PropertyItem:
    description: |-
      Represents a label-value pair.
    properties:
      condition:
        description: |-
          If the condition is met then the property will be displayed. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
      field:
        description: |-
          Represents field value of the property.
        maxLength: 1024
        title: |-
          Field of the Property
        type: string
      heading:
        default: false
        description: |-
          Set to true if the field is a heading. Default is false.
        title: |-
          If true, represents the field as a heading
        type: boolean
      label:
        $ref: '#/definitions/Label'
        description: |-
          If a field represents a heading, then label is not needed
        title: |-
          Label of the property
      navigation:
        description: |-
          Hyperlink of the specified UI page that provides details. This will be linked with value of the property.
        maxLength: 1024
        title: |-
          Navigation to a specified UI page
        type: string
      render_configuration:
        description: |-
          Render configuration to be applied, if any.
        items:
          $ref: '#/definitions/RenderConfiguration'
        title: |-
          Render Configuration
        type: array
      separator:
        default: false
        description: |-
          If true, separates this property in a widget.
        title: |-
          A separator after this property
        type: boolean
      type:
        default: String
        description: |-
          Data type of the field.
        enum:
        - String
        - Number
        - Date
        - Url
        maxLength: 255
        title: |-
          field data type
        type: string
    required:
    - field
    - type
    title: |-
      LabelValue Property
    type: object
    x-vmw-nsx-module: NsxDashboard
  Protocol:
    discriminator: name
    properties:
      name:
        description: |-
          Protocol name
        enum:
        - http
        - https
        - scp
        - sftp
        title: |-
          Protocol name
        type: string
    required:
    - name
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  ProtocolVersion:
    description: |-
      TLS protocol version
    properties:
      enabled:
        description: |-
          Enable status for this protocol version
        title: |-
          Enable status for this protocol version
        type: boolean
      name:
        description: |-
          Name of the TLS protocol version
        title: |-
          Name of the TLS protocol version
        type: string
    required:
    - enabled
    - name
    title: |-
      TLS protocol version
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  Proxy:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          description: |
            Flag to indicate if proxy is enabled. When set to true, a scheme, host
            and port must be provided.
          title: |-
            Flag to indicate if proxy is enabled.
          type: boolean
        host:
          description: |
            Specify the fully qualified domain name, or ip address, of the proxy server.
          format: hostname-or-ip
          title: |-
            FQDN or IP address of the proxy server
          type: string
        password:
          description: |
            Specify the password used to authenticate with the proxy server, if required.
          title: |-
            Password
          type: string
        port:
          description: |-
            Specify the port of the proxy server.
          format: int32
          maximum: 65535
          minimum: 0
          title: |-
            Configured port for proxy
          type: integer
        scheme:
          description: |
            The scheme accepted by the proxy server. Specify one of HTTP and HTTPS.
          enum:
          - HTTP
          - HTTPS
          title: |-
            The scheme accepted by the proxy server
          type: string
        username:
          description: |
            Specify the user name used to authenticate with the proxy server, if required.
          title: |-
            User name
          type: string
      required:
      - host
      - scheme
      - enabled
      - port
      type: object
      x-vmw-nsx-module: ProxyConfig
    description: |-
      Type to define the Proxy configuration.
    title: |-
      Proxy Configuration
    x-vmw-nsx-module: ProxyConfig
  PublicCloudGatewayNode:
    allOf:
    - $ref: '#/definitions/EdgeNode'
    - type: object
      x-vmw-nsx-module: FabricNode
    x-vmw-nsx-module: FabricNode
  QosBaseRateShaper:
    description: |-
      A shaper configuration entry that specifies type and metrics
    discriminator: resource_type
    properties:
      enabled:
        type: boolean
      resource_type:
        enum:
        - IngressRateShaper
        - IngressBroadcastRateShaper
        - EgressRateShaper
        type: string
    required:
    - enabled
    - resource_type
    title: |-
      A shaper configuration entry that specifies type and metrics
    type: object
    x-vmw-nsx-module: QosSwitchingProfile
  QosSwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        class_of_service:
          default: 0
          description: |-
            Class of service
          format: int32
          maximum: 7
          minimum: 0
          title: |-
            Class of service
          type: integer
        dscp:
          $ref: '#/definitions/Dscp'
        shaper_configuration:
          items:
            $ref: '#/definitions/QosBaseRateShaper'
          maxItems: 3
          minItems: 0
          type: array
      type: object
      x-vmw-nsx-module: QosSwitchingProfile
    x-vmw-nsx-module: QosSwitchingProfile
  RAConfig:
    properties:
      hop_limit:
        default: 64
        description: |
          The maximum number of hops through which packets can
          pass before being discarded.
        format: int64
        maximum: 255
        minimum: 0
        title: |-
          Hop limit
        type: integer
      prefix_lifetime:
        default: 2592000
        description: |
          The time interval in seconds, in which the prefix is advertised
          as valid.
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Lifetime of prefix
        type: integer
      prefix_preferred_time:
        default: 604800
        description: |
          The time interval in seconds, in which the prefix is advertised
          as preferred.
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Prefix preferred time
        type: integer
      ra_interval:
        default: 600
        description: |
          Interval between 2 Router advertisement in seconds.
        format: int64
        maximum: 1800
        minimum: 4
        title: |-
          RA interval
        type: integer
      router_lifetime:
        default: 1800
        description: |
          Router lifetime value in seconds. A value of 0 indicates the
          router is not a default router for the receiving end. Any other value
          in this field specifies the lifetime, in seconds, associated with
          this router as a default router.
        format: int64
        maximum: 65520
        minimum: 0
        title: |-
          Lifetime of router
        type: integer
    type: object
    x-vmw-nsx-module: Routing
  RaDNSConfig:
    properties:
      dns_server:
        description: |
          DNS server.
        items:
          description: |-
            IPv6 address
          format: ipv6
          type: string
        maxItems: 8
        title: |-
          DNS server
        type: array
      dns_server_lifetime:
        default: 1800000
        description: |-
          Lifetime of DNS server in milliseconds
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Lifetime of DNS server in milliseconds
        type: integer
      domain_name:
        description: |
          Domain name in RA message.
        items:
          type: string
        maxItems: 8
        title: |-
          Domain name
        type: array
      domain_name_lifetime:
        default: 1800000
        description: |-
          Lifetime of Domain names in milliseconds
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Lifetime of Domain names in milliseconds
        type: integer
    type: object
    x-vmw-nsx-module: Routing
  RateLimits:
    description: |-
      Enables traffic limit for incoming/outgoing broadcast and multicast packets. Use 0 to disable rate limiting for a specific traffic type
    properties:
      enabled:
        default: false
        description: |-
          Whether rate limiting is enabled
        readOnly: false
        title: |-
          Whether rate limiting is enabled
        type: boolean
      rx_broadcast:
        default: 0
        description: |-
          Incoming broadcast traffic limit in packets per second
        format: int32
        minimum: 0
        readOnly: false
        title: |-
          Incoming broadcast traffic limit in packets per second
        type: integer
      rx_multicast:
        default: 0
        description: |-
          Incoming multicast traffic limit in packets per second
        format: int32
        minimum: 0
        readOnly: false
        title: |-
          Incoming multicast traffic limit in packets per second
        type: integer
      tx_broadcast:
        default: 0
        description: |-
          Outgoing broadcast traffic limit in packets per second
        format: int32
        minimum: 0
        readOnly: false
        title: |-
          Outgoing broadcast traffic limit in packets per second
        type: integer
      tx_multicast:
        default: 0
        description: |-
          Outgoing multicast traffic limit in packets per second
        format: int32
        minimum: 0
        readOnly: false
        title: |-
          Outgoing multicast traffic limit in packets per second
        type: integer
    title: |-
      Rate limiting configuration
    type: object
    x-vmw-nsx-module: SwitchSecuritySwitchingProfile
  RealizationStateBarrierConfig:
    allOf:
    - $ref: '#/definitions/RevisionedResource'
    - properties:
        interval:
          description: |
            The interval in milliseconds used for auto incrementing the barrier number
          format: int64
          minimum: 0
          readOnly: false
          title: |-
            Interval in milliseconds
          type: integer
      required:
      - interval
      type: object
      x-vmw-nsx-module: RealizationStateBarrier
    description: |
      The configuration data for setting the global realization state barrier
    x-vmw-nsx-module: RealizationStateBarrier
  RecommendedFeaturePermission:
    description: |-
      Recommended Feature Permission
    properties:
      recommended_permissions:
        description: |-
          Permission
        items:
          type: string
        title: |-
          Permission
        type: array
      src_features:
        description: |-
          List of source features
        items:
          type: string
        title: |-
          List of source features
        type: array
      target_feature:
        description: |-
          Feature
        title: |-
          Feature
        type: string
    required:
    - src_features
    - target_feature
    - recommended_permissions
    title: |-
      Recommended Feature Permission
    type: object
    x-vmw-nsx-module: AAA
  RecommendedFeaturePermissionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/RecommendedFeaturePermission'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  RedistributionConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        bgp_enabled:
          default: false
          description: |-
            Flag to enable redistribution for BGP as destination protocol
          title: |-
            Flag to enable redistribution for BGP as destination protocol
          type: boolean
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  RedistributionRule:
    properties:
      address_family:
        default: IPV4_AND_IPV6
        description: |-
          Address family for Route Redistribution
        enum:
        - IPV4
        - IPV6
        - IPV4_AND_IPV6
        readOnly: true
        title: |-
          Address family for Route Redistribution
        type: string
      description:
        description: |-
          Description
        maxLength: 1024
        title: |-
          Description
        type: string
      destination:
        description: |-
          Destination redistribution protocol
        enum:
        - STATIC
        - T0_STATIC
        - NSX_CONNECTED
        - T0_CONNECTED
        - NSX_STATIC
        - T1_STATIC
        - T0_UPLINK
        - T0_DOWNLINK
        - T0_ROUTER_LINK
        - T0_CSP
        - T0_LOOPBACK
        - T0_DNS_FORWARDER_IP
        - T0_IPSEC_LOCAL_IP
        - TIER0_NAT
        - T0_NAT
        - TIER1_NAT
        - T1_NAT
        - TIER1_LB_VIP
        - T1_LB_VIP
        - TIER1_LB_SNAT
        - T1_LB_SNAT
        - T1_DNS_FORWARDER_IP
        - T1_CONNECTED
        - T1_DOWNLINK
        - T1_CSP
        - BGP
        - T1_IPSEC_LOCAL_IP
        - T0_EVPN_TEP_IP
        type: string
      display_name:
        description: |-
          Display name
        maxLength: 255
        title: |-
          Display name
        type: string
      route_map_id:
        description: |-
          RouteMap Id for the filter
        title: |-
          RouteMap Id for the filter
        type: string
      sources:
        description: |-
          Array of redistribution protocols
        items:
          description: |
            Types of route to redistribute over routing protocols.
            STATIC type is deprecated, use T0_STATIC instead.
            T0_STATIC type should be used to redistribute user added static
            routes.
            NSX_CONNECTED type is deprecated, use T0_CONNECTED instead.
            For backward compatibility when NSX_CONNECTED is selected,
            we will redistribute downlink port subnets for TIER0 LR.
            T0_CONNECTED type should be used to redistribute all port
            subnets including uplink, downlink, CSP and loopback for TIER0 LR.
            NSX_STATIC type is deprecated, use T1_STATIC instead.
            For backward compatibility when NSX_STATIC is selected,
            we will redistribute static, CSP and downlink port subnets
            advertised by TIER1 LR.
            T1_STATIC type should be used to redistribute static subnets
            advertised by TIER1 LR.
            T0_UPLINK type should be used to redistribute uplink port subnets
            on TIER0 LR.
            T0_DOWNLINK type should be used to redistribute downlink port subnets
            on TIER0 LR.
            T0_ROUTER_LINK type should be used to redistribute router link port
            subnets on TIER0 LR
            T0_CSP type should be used to redistribute centralised service port
            subnets on TIER0 LR.
            T0_LOOPBACK type should be used to redistribute loopback port subnets
            on TIER0 LR.
            T0_DNS_FORWARDER_IP type should be used to redistribute DNS forwarder
            subnets on TIER0 LR.
            T0_IPSEC_LOCAL_IP type should be used to redistribute IPSec subnets
            on TIER0 LR.
            TIER0_NAT type is deprecated, use T0_NAT instead.
            T0_NAT type should be used to redistribute NAT IPs owned by
            TIER0 logical router.
            TIER1_NAT type is deprecated, use T1_NAT instead.
            T1_NAT type should be used to redistribute NAT IP subnets advertised
            by TIER1 LR.
            TIER1_LB_VIP type is deprecated,use T1_LB_VIP instead.
            T1_LB_VIP type should be used to redistribute LB VIP IP subnets
            advertised by TIER1 LR.
            TIER1_LB_SNAT type is deprecated, use T1_NAT instead.
            T1_LB_SNAT type should be used to redistribute LB SNAT IP subnets
            advertised by TIER1 LR.
            T1_DNS_FORWARDER_IP type should be used to redistribute DNS forwarder
            subnets advertised by TIER1 LR.
            T1_CONNECTED type should be used to redistribute downlink and CSP port
            subnets advertised by TIER1 LR.
            T1_DOWNLINK type should be used to redistribute downlink port
            subnets advertised by TIER1 LR.
            T1_CSP type should be used to redistribute centralised service port
            subnets advertised by TIER1 LR.
            BGP type should be used to redistribute routes learned via BGP.
            T1_IPSEC_LOCAL_IP type should be used to redistribute IPSec VPN local
            endpoint subnets advertised by TIER1 LR.
            T0_EVPN_TEP_IP type should be used to redistribute EVPN local endpoint
            subnets on Tier0 LR.
          enum:
          - STATIC
          - T0_STATIC
          - NSX_CONNECTED
          - T0_CONNECTED
          - NSX_STATIC
          - T1_STATIC
          - T0_UPLINK
          - T0_DOWNLINK
          - T0_ROUTER_LINK
          - T0_CSP
          - T0_LOOPBACK
          - T0_DNS_FORWARDER_IP
          - T0_IPSEC_LOCAL_IP
          - TIER0_NAT
          - T0_NAT
          - TIER1_NAT
          - T1_NAT
          - TIER1_LB_VIP
          - T1_LB_VIP
          - TIER1_LB_SNAT
          - T1_LB_SNAT
          - T1_DNS_FORWARDER_IP
          - T1_CONNECTED
          - T1_DOWNLINK
          - T1_CSP
          - BGP
          - T1_IPSEC_LOCAL_IP
          - T0_EVPN_TEP_IP
          type: string
        title: |-
          Array of redistribution protocols
        type: array
    required:
    - sources
    type: object
    x-vmw-nsx-module: Routing
  RedistributionRuleList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        rules:
          default: []
          description: |
            List of redistribution rules.
            User needs to re-order rules to change the priority.
          items:
            $ref: '#/definitions/RedistributionRule'
          maxItems: 5
          minItems: 0
          title: |
            List of redistribution rules.
            User needs to re-order rules to change the priority.
          type: array
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  RegistrationToken:
    description: |-
      Appliance registration access token
    properties:
      roles:
        description: |-
          List results
        items:
          type: string
        title: |-
          List results
        type: array
      token:
        description: |-
          Access token
        title: |-
          Access token
        type: string
      user:
        description: |-
          User delegated by token
        title: |-
          User delegated by token
        type: string
    required:
    - roles
    title: |-
      Appliance registration access token
    type: object
    x-vmw-nsx-module: RegistrationTokenEndPoint
  RelatedApiError:
    description: |-
      Detailed information about a related API error
    properties:
      details:
        description: |-
          Further details about the error
        title: |-
          Further details about the error
        type: string
      error_code:
        description: |-
          A numeric error code
        format: int64
        title: |-
          A numeric error code
        type: integer
      error_data:
        description: |-
          Additional data about the error
        title: |-
          Additional data about the error
        type: object
      error_message:
        description: |-
          A description of the error
        title: |-
          A description of the error
        type: string
      module_name:
        description: |-
          The module name where the error occurred
        title: |-
          The module name where the error occurred
        type: string
    title: |-
      Detailed information about a related API error
    type: object
    x-vmw-nsx-module: Common
  RemainingSupportBundleNode:
    properties:
      node_display_name:
        description: |-
          Display name of node
        readOnly: true
        title: |-
          Display name of node
        type: string
      node_id:
        description: |-
          UUID of node
        readOnly: true
        title: |-
          UUID of node
        type: string
      status:
        description: |-
          Status of node
        enum:
        - PENDING
        - PROCESSING
        readOnly: true
        title: |-
          Status of node
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  RemoteBundleUrl:
    description: |-
      URL of remote bundle which needs to be uploaded
    properties:
      url:
        description: |-
          URL for uploading remote bundle
        readOnly: false
        title: |-
          URL of remote bundle
        type: string
    required:
    - url
    title: |-
      URL of remote bundle
    type: object
    x-vmw-nsx-module: FileUploadFramework
  RemoteFileServer:
    description: |-
      Remote file server
    properties:
      directory_path:
        description: |-
          Remote server directory to copy bundle files to
        title: |-
          Remote server directory to copy bundle files to
        type: string
      port:
        default: 22
        description: |-
          Server port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Server port
        type: integer
      protocol:
        $ref: '#/definitions/FileTransferProtocol'
        description: |-
          Protocol to use to copy file
        title: |-
          Protocol to use to copy file
      server:
        description: |-
          Remote server hostname or IP address
        format: hostname-or-ip
        title: |-
          Remote server hostname or IP address
        type: string
    required:
    - directory_path
    - protocol
    - server
    title: |-
      Remote file server
    type: object
    x-vmw-nsx-module: BackupConfiguration
  RemoteServerFingerprint:
    description: |-
      Remote server
    properties:
      port:
        default: 22
        description: |-
          Server port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Server port
        type: integer
      server:
        description: |-
          Remote server hostname or IP address
        format: hostname-or-ip
        title: |-
          Remote server hostname or IP address
        type: string
      ssh_fingerprint:
        description: |-
          SSH fingerprint of server
        title: |-
          SSH fingerprint of server
        type: string
    required:
    - ssh_fingerprint
    - server
    title: |-
      Remote server
    type: object
    x-vmw-nsx-module: BackupConfiguration
  RemoteServerFingerprintRequest:
    description: |-
      Remote server
    properties:
      port:
        default: 22
        description: |-
          Server port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Server port
        type: integer
      server:
        description: |-
          Remote server hostname or IP address
        format: hostname-or-ip
        title: |-
          Remote server hostname or IP address
        type: string
    required:
    - server
    title: |-
      Remote server
    type: object
    x-vmw-nsx-module: BackupConfiguration
  RemoteTunnelEndpoint:
    allOf:
    - $ref: '#/definitions/Endpoint'
    - properties:
        vlan:
          description: |-
            Vlan id
          format: int64
          readOnly: true
          type: integer
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Remote tunnel endpoint
    title: |-
      Remote tunnel endpoint
    x-vmw-nsx-module: TransportNode
  RemoteTunnelEndpointConfigState:
    description: |-
      Remote tunnel endpoint configuration state
    properties:
      endpoints:
        description: |-
          List of remote tunnel endpoints which are configured on this node
        items:
          $ref: '#/definitions/RemoteTunnelEndpoint'
        readOnly: true
        title: |-
          List of remote tunnel endpoints which are configured on this node
        type: array
    title: |-
      Remote tunnel endpoint configuration state
    type: object
    x-vmw-nsx-module: TransportNode
  RemoteTunnelStatistics:
    properties:
      rx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total received data from remote tunnel.
        readOnly: true
        title: |-
          Received data counters
      tunnel_destination_address:
        description: |-
          Ip address of remote tunnel destination.
        format: ip
        readOnly: true
        type: string
      tunnel_source_address:
        description: |-
          Ip address of remote tunnel source.
        format: ip
        readOnly: true
        type: string
      tx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total sent data to remote tunnel.
        readOnly: true
        title: |-
          Sent data counters
    type: object
    x-vmw-nsx-module: AggSvcInterSite
  RemoteTunnelStatisticsPerSite:
    properties:
      remote_site:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Remote site details.
        readOnly: true
        title: |-
          Remote site
      rx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total received data from remote site.
        readOnly: true
        title: |-
          Received data counters
      stats_per_tunnel:
        description: |-
          Statistics per remote tunnel.
        items:
          $ref: '#/definitions/RemoteTunnelStatistics'
        readOnly: true
        title: |-
          Statistics per remote tunnel
        type: array
      tx:
        $ref: '#/definitions/InterSitePortCounters'
        description: |-
          Total sent data to remote site.
        readOnly: true
        title: |-
          Sent data counters
    type: object
    x-vmw-nsx-module: AggSvcInterSite
  RenderConfiguration:
    description: |-
      Render configuration to be applied to the widget.
    properties:
      color:
        description: |-
          The color to use when rendering an entity. For example, set color as 'RED' to render a portion of donut in red.
        enum:
        - GREY
        - DARK_GREY
        - LIGHT_GREY
        - SKY_BLUE
        - BLUE
        - GREEN
        - YELLOW
        - RED
        - DARK_RED
        title: |-
          Color of the entity
        type: string
      condition:
        description: |-
          If the condition is met then the rendering specified for the condition will be applied. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
      display_value:
        description: |-
          If specified, overrides the field value. This can be used to display a meaningful value in situations where field value is not available or not configured.
        maxLength: 255
        title: |-
          Overridden value to display, if any
        type: string
      icons:
        description: |-
          Icons to be applied at dashboard for widgets and UI elements.
        items:
          $ref: '#/definitions/Icon'
        minItems: 0
        title: |-
          Icons
        type: array
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over the UI element if the condition is met.
        items:
          $ref: '#/definitions/Tooltip'
        minItems: 0
        title: |-
          Multi-line tooltip
        type: array
    title: |-
      Render Configuration
    type: object
    x-vmw-nsx-module: NsxDashboard
  ReorderMigrationRequest:
    properties:
      id:
        description: |-
          id of the migration unit group/migration unit before/after which the migration unit group/migration unit is to be placed
        readOnly: false
        title: |-
          id of the migration unit group/migration unit before/after which the migration unit group/migration unit is to be placed
        type: string
      is_before:
        default: true
        description: |-
          flag indicating whether the migration unit group/migration unit is to be placed before or after the specified migration unit group/migration unit
        readOnly: false
        title: |-
          flag indicating whether the migration unit group/migration unit is to be placed before or after the specified migration unit group/migration unit
        type: boolean
    required:
    - id
    type: object
    x-vmw-nsx-module: Migration
  ReorderRequest:
    properties:
      id:
        description: |-
          id of the upgrade unit group/upgrade unit before/after which the upgrade unit group/upgrade unit is to be placed
        readOnly: false
        title: |-
          id of the upgrade unit group/upgrade unit before/after which the upgrade unit group/upgrade unit is to be placed
        type: string
      is_before:
        default: true
        description: |-
          flag indicating whether the upgrade unit group/upgrade unit is to be placed before or after the specified upgrade unit group/upgrade unit
        readOnly: false
        title: |-
          flag indicating whether the upgrade unit group/upgrade unit is to be placed before or after the specified upgrade unit group/upgrade unit
        type: boolean
    required:
    - id
    type: object
    x-vmw-nsx-module: Upgrade
  RepoSyncStatusReport:
    properties:
      failure_code:
        description: |
          In case of repo sync related failure, the code for the error will
          be stored here.
        format: int64
        title: |-
          Error code for failure
        type: integer
      failure_message:
        description: |
          In case if repo sync fails due to some issue, an error message will be
          stored here.
        title: |-
          Error message for failure
        type: string
      status:
        description: |
          Status of the repo sync operation on the single nsx-manager
        enum:
        - NOT_STARTED
        - IN_PROGRESS
        - FAILED
        - SUCCESS
        title: |-
          Repository Synchronization Status
        type: string
      status_message:
        description: |
          Describes the steps which repo sync operation is performing currently.
        title: |-
          Status message
        type: string
    required:
    - status
    type: object
    x-vmw-nsx-module: ClusterNodeVMDeployment
  ReservationInfo:
    description: |
      CPU and Memory resource configuration is defined per Edge VM
      form factor.
      These resources are reserved 100 percent by default with Normal VM
      importance. Resource reservation tuning provides a means to optimize
      resource utilization and workaround hard resource limits.
      This solution should be used as a temporary workaround. It is recommended
      to add more resources to the compute cluster and change the reservation
      back to 100 percent for optimal performance.
    properties:
      cpu_reservation:
        $ref: '#/definitions/CPUReservation'
        description: |
          Specify a reservation if you need to guarantee that the minimum
          required amount of CPU is always available for the virtual
          machine.
        title: |-
          Guaranteed minimum allocation of CPU resources.
      memory_reservation:
        $ref: '#/definitions/MemoryReservation'
        description: |
          Specify a reservation if you need to guarantee that the minimum
          required amount of memory is always available for the virtual
          machine.
        title: |-
          Guaranteed minimum allocation of memory resources.
    type: object
    x-vmw-nsx-module: FabricNode
  Resource:
    description: |-
      Base class for resources
    properties:
      _links:
        description: |-
          The server will populate this field when returing the resource. Ignored on PUT and POST.
        items:
          $ref: '#/definitions/ResourceLink'
        readOnly: true
        title: |-
          References related to this resource
        type: array
      _schema:
        description: |-
          Schema for this resource
        readOnly: true
        title: |-
          Schema for this resource
        type: string
      _self:
        $ref: '#/definitions/SelfResourceLink'
        description: |-
          Link to this resource
        readOnly: true
        title: |-
          Link to this resource
    title: |-
      Base class for resources
    type: object
    x-vmw-nsx-module: Common
  ResourceAllocation:
    description: |
      Specify limit, shares and reservation for all kinds of traffic.
      Values for limit and reservation are expressed in percentage. And for shares,
      the value is expressed as a number between 1-100.
      The overall reservation among all traffic types should not exceed 75%.
      Otherwise, the API request will be rejected.
    properties:
      limit:
        default: -1.0
        description: |
          The limit property specifies the maximum bandwidth allocation for a given
          traffic type and is expressed in percentage. The default value for this
          field is set to -1 which means the traffic is unbounded for the traffic
          type. All other negative values for this property is not supported
          and will be rejected by the API.
        maximum: 100
        minimum: -1
        title: |-
          Maximum bandwidth percentage
        type: number
      reservation:
        default: 0.0
        description: |-
          Minimum guaranteed bandwidth percentage
        maximum: 75
        minimum: 0
        title: |-
          Minimum guaranteed bandwidth percentage
        type: number
      shares:
        default: 50
        description: |-
          Shares
        format: int32
        maximum: 100
        minimum: 1
        title: |-
          Shares
        type: integer
      traffic_type:
        $ref: '#/definitions/HostInfraTrafficType'
        description: |-
          Resource allocation traffic type
        title: |-
          Resource allocation traffic type
    required:
    - reservation
    - traffic_type
    - limit
    - shares
    title: |-
      Resource allocation information for a host infrastructure traffic type
    type: object
    x-vmw-nsx-module: NiocProfile
  ResourceAssignment:
    description: |
      Amount of memory and CPU allocated to the Edge VM.
    properties:
      cpu_count:
        description: |
          CPU count.
        format: int32
        minimum: 0
        readOnly: true
        title: |-
          CPU count.
        type: integer
      memory_allocation_in_mb:
        description: |
          Memory allocation in MB.
        format: int32
        minimum: 0
        readOnly: true
        title: |-
          Memory allocation in MB.
        type: integer
    type: object
    x-vmw-nsx-module: FabricNode
  ResourceLink:
    description: |-
      A link to a related resource
    properties:
      action:
        description: |-
          Optional action
        readOnly: true
        title: |-
          Optional action
        type: string
      href:
        description: |-
          Link to resource
        readOnly: true
        title: |-
          Link to resource
        type: string
      rel:
        description: |-
          Custom relation type (follows RFC 5988 where appropriate definitions exist)
        readOnly: true
        title: |-
          Link relation type
        type: string
    title: |-
      A link to a related resource
    type: object
    x-vmw-nsx-module: Common
  ResourceReference:
    description: |-
      A weak reference to an NSX resource.
    properties:
      is_valid:
        description: |-
          Will be set to false if the referenced NSX resource has been deleted.
        readOnly: true
        title: |-
          Target validity
        type: boolean
      target_display_name:
        description: |-
          Display name of the NSX resource.
        maxLength: 255
        readOnly: true
        title: |-
          Target display name
        type: string
      target_id:
        description: |-
          Identifier of the NSX resource.
        maxLength: 64
        readOnly: false
        title: |-
          Target ID
        type: string
      target_type:
        description: |-
          Type of the NSX resource.
        maxLength: 255
        readOnly: false
        title: |-
          Target type
        type: string
    type: object
    x-vmw-nsx-module: Common
  RestoreConfiguration:
    description: |-
      Configuration where backup files are stored for restore
    properties:
      passphrase:
        description: |-
          Passphrase used to encrypt backup files.
        title: |-
          Passphrase used to encrypt backup files.
        type: string
      remote_file_server:
        $ref: '#/definitions/RemoteFileServer'
        description: |-
          The server from which backup files will be retrieved for restore.
        title: |-
          The server from which backup files will be retrieved for restore.
    required:
    - remote_file_server
    title: |-
      Configuration where backup files are stored for restore
    type: object
    x-vmw-nsx-module: BackupConfiguration
  RestoreStep:
    description: |-
      Restore step info
    properties:
      description:
        description: |-
          Restore step description
        readOnly: true
        title: |-
          Restore step description
        type: string
      status:
        $ref: '#/definitions/PerStepRestoreStatus'
      step_number:
        description: |-
          Restore step number
        format: int64
        readOnly: true
        title: |-
          Restore step number
        type: integer
      value:
        description: |-
          Restore step value
        readOnly: true
        title: |-
          Restore step value
        type: string
    title: |-
      Restore step info
    type: object
    x-vmw-nsx-module: ClusterRestore
  RevisionedResource:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        _revision:
          description: |-
            The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
          format: int32
          title: |-
            Generation of this resource config
          type: integer
      type: object
      x-vmw-nsx-module: Common
    description: |-
      A base class for types that track revisions
    title: |-
      A base class for types that track revisions
    x-vmw-nsx-module: Common
  Role:
    description: |-
      Role
    properties:
      role:
        description: |-
          Short identifier for the role. Must be all lower case with no spaces.
        title: |-
          Role identifier
        type: string
      role_display_name:
        description: |-
          A short, human-friendly display name of the role.
        title: |-
          Display name for role
        type: string
    required:
    - role
    title: |-
      Role
    type: object
    x-vmw-nsx-module: AAA
  RoleBinding:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        identity_source_id:
          description: |-
            The ID of the external identity source that holds the referenced external entity. Currently, only external LDAP and OIDC servers are allowed.
          title: |-
            ID of the external identity source
          type: string
        identity_source_type:
          default: VIDM
          description: |-
            Identity source type
          enum:
          - VIDM
          - LDAP
          - OIDC
          title: |-
            Identity source type
          type: string
        name:
          description: |-
            User/Group's name
          readOnly: true
          title: |-
            User/Group's name
          type: string
        roles:
          description: |-
            Roles
          items:
            $ref: '#/definitions/Role'
          readOnly: true
          title: |-
            Roles
          type: array
        stale:
          description: |-
            Property 'stale' can be considered to have these values - absent  - This type of rolebinding does not support stale property TRUE    - Rolebinding is stale in vIDM meaning the user is no longer present in vIDM FALSE   - Rolebinding is available in vIDM UNKNOWN - Rolebinding's state of staleness in unknown Once rolebindings become stale, they can be deleted using the API POST /aaa/role-bindings?action=delete_stale_bindings
          enum:
          - 'TRUE'
          - 'FALSE'
          - UNKNOWN
          readOnly: true
          title: |-
            Stale in vIDM
          type: string
        type:
          description: |-
            Type
          enum:
          - remote_user
          - remote_group
          - local_user
          - principal_identity
          readOnly: true
          title: |-
            Type
          type: string
      type: object
      x-vmw-nsx-module: AAA
    description: |-
      User/Group's role binding
    title: |-
      User/Group's role binding
    x-vmw-nsx-module: AAA
  RoleBindingListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/RoleBinding'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  RoleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/Role'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  RoleWithFeatures:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        features:
          description: |-
            Features
          items:
            $ref: '#/definitions/FeaturePermission'
          title: |-
            Features
          type: array
        role:
          description: |-
            Short identifier for the role. Must be all lower case with no spaces.
          readOnly: true
          title: |-
            Role identifier
          type: string
      required:
      - features
      type: object
      x-vmw-nsx-module: AAA
    description: |-
      Role
    title: |-
      Role
    x-vmw-nsx-module: AAA
  RoleWithFeaturesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/RoleWithFeatures'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  RouteBasedIPSecVPNSession:
    allOf:
    - $ref: '#/definitions/IPSecVPNSession'
    - properties:
        tunnel_ports:
          description: |-
            IP Tunnel ports.
          items:
            $ref: '#/definitions/TunnelPortConfig'
          maxItems: 1
          minItems: 1
          title: |-
            IP Tunnel ports
          type: array
      required:
      - tunnel_ports
      type: object
      x-vmw-nsx-module: IPSecVPN
    description: |-
      A Route Based VPN is more flexible, more powerful and recommended over policy based VPN. IP Tunnel port is created and all traffic routed via tunnel port is protected. Routes can be configured statically or can be learned through BGP. A route based VPN is must for establishing redundant VPN session to remote site.
    title: |-
      Route based VPN session
    x-vmw-nsx-module: IPSecVPN
  RouteDetails:
    description: |-
      BGP route details.
    properties:
      as_path:
        description: |-
          BGP AS path attribute.
        readOnly: true
        title: |-
          AS path
        type: string
      local_pref:
        description: |-
          BGP Local Preference attribute.
        format: int64
        readOnly: true
        title: |-
          Local preference
        type: integer
      med:
        description: |-
          BGP Multi Exit Discriminator attribute.
        format: int64
        readOnly: true
        title: |-
          Multi Exit Discriminator
        type: integer
      network:
        description: |-
          CIDR network address.
        format: ip-cidr-block
        readOnly: true
        type: string
      next_hop:
        description: |-
          Next hop IP address.
        format: ip
        readOnly: true
        type: string
      weight:
        description: |-
          BGP Weight attribute.
        format: int64
        readOnly: true
        title: |-
          Weight
        type: integer
    title: |-
      BGP route details
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  RouteMap:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        sequences:
          description: |-
            Ordered list of routeMap sequences
          items:
            $ref: '#/definitions/RouteMapSequence'
          maxItems: 1000
          minItems: 1
          title: |-
            Ordered list of routeMap sequences
          type: array
      required:
      - sequences
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  RouteMapListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of RouteMaps
          items:
            $ref: '#/definitions/RouteMap'
          title: |-
            Paginated list of RouteMaps
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  RouteMapSequence:
    properties:
      action:
        description: |-
          Action for the Sequence
        enum:
        - PERMIT
        - DENY
        type: string
      match_criteria:
        $ref: '#/definitions/RouteMapSequenceMatch'
        description: |-
          Match Criteria for the RouteMap Sequence
        title: |-
          Match Criteria for the RouteMap Sequence
      set_criteria:
        $ref: '#/definitions/RouteMapSequenceSet'
        description: |-
          Set Criteria for the RouteMap Sequence
        title: |-
          Set Criteria for the RouteMap Sequence
    required:
    - action
    - match_criteria
    type: object
    x-vmw-nsx-module: Routing
  RouteMapSequenceMatch:
    description: |
      Match sequence in route map which is used for matching routes.
      IP prefix lists and match community expression are mutually
      exclusive fields, one of them must be provided.
    properties:
      ip_prefix_lists:
        description: |-
          IPPrefixList Identifiers for RouteMap Sequence Match Criteria
        items:
          type: string
        maxItems: 500
        minItems: 1
        title: |-
          IPPrefixList Identifiers for RouteMap Sequence Match Criteria
        type: array
      match_community_expression:
        $ref: '#/definitions/CommunityMatchExpression'
        description: |
          It supports conjunction operator (AND) and five
          operators within singular community match expression
          (MATCH_ANY, MATCH_ALL, MATCH_EXACT, MATCH_NONE,
          MATCH_REGEX).
        title: |-
          Expression to match BGP communities
    type: object
    x-vmw-nsx-module: Routing
  RouteMapSequenceSet:
    properties:
      as_path_prepend:
        description: |-
          As Path Prepending to influence path selection
        title: |-
          As Path Prepending to influence path selection
        type: string
      community:
        description: |
          Set normal BGP community either well-known community name or
          community value in aa:nn(2byte:2byte) format.
        title: |-
          Set normal BGP community
        type: string
      large_community:
        description: |-
          Set large BGP community, community value shoud be in aa:bb:nn format where aa, bb, nn are unsigned integers with range [1-4294967295].
        title: |-
          Set large BGP community
        type: string
      local_preference:
        description: |
          Local preference indicates the degree of preference for one BGP route
          over other BGP routes. The path/route with highest local preference
          value is preferred/selected. If local preference value is not specified
          then it will be considered as 100 by default.
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Local preference number
        type: integer
      multi_exit_discriminator:
        description: |-
          Multi Exit Discriminator (MED)
        format: int64
        maximum: 4294967295
        minimum: 0
        title: |-
          Multi Exit Discriminator (MED)
        type: integer
      prefer_global_v6_next_hop:
        default: false
        description: |
          For incoming and import route_maps on receiving both v6 global
          and v6 link-local address for the route, prefer to use the global
          address as the next hop. By default, it prefers the link-local next hop.
        title: |-
          Prefer global v6 next hop over local next hop
        type: boolean
      weight:
        description: |-
          Weight used to select certain path
        format: int32
        maximum: 65535
        minimum: 0
        title: |-
          Weight used to select certain path
        type: integer
    type: object
    x-vmw-nsx-module: Routing
  RoutesPerTransportNode:
    description: |-
      BGP routes per transport node.
    properties:
      routes:
        description: |
          Array of BGP neighbor route details for this transport node.
        items:
          $ref: '#/definitions/RouteDetails'
        readOnly: true
        title: |-
          BGP neighbor route details
        type: array
      source_address:
        description: |-
          BGP neighbor source address.
        format: ip
        readOnly: true
        type: string
      transport_node_id:
        description: |-
          Transport node id
        readOnly: true
        title: |-
          Transport node id
        type: string
    title: |-
      Routes per transport node
    type: object
    x-vmw-nsx-module: AggSvcLogicalRouter
  RoutingConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        forwarding_up_timer:
          description: |
            Defines the extra time the router must wait before sending the UP notification
            after the first BGP session is established. Default means forward immediately.
            For TIER0/TIER1 logical router, default is 0. VRF logical router will set it same as
            parent logical router.
          format: int64
          title: |-
            Forwarding up timer
          type: integer
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  RoutingGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        allow_changing_vdr_mac_in_use:
          default: false
          description: |-
            When this flag is set to true, it is allowed to change the VDR MAC being used by existing transport nodes in a NSX system. The VDR MAC used by a host switch in a transport node is decided by the OVERLAY transport zone(s) which the host switch joins. If any of the OVERLAY transport zone(s) has "nested_nsx" property being true, the MAC in "vdr_mac_nested" is used; otherwise the MAC in "vdr_mac" is used. Thus the VDR MAC being used by a host switch in a transport node can be changed in below ways. If the host switch is not in any OVERLAY transport zone whose "nested_nsx" property is true but is in an OVERLAY transport zone, the first way is updating the "vdr_mac" property. The 2nd way is updating one of the OVERLAY tranport zones joined by the host switch to set "nested_nsx" property true which will make the host switch use the VDR MAC in "vdr_mac_nested". The third way is directly updating the transport node to add an OVERLAY transport zone whose "nested_nsx" property is true into the host switch which will also make the host switch use the VDR MAC in "vdr_mac_nested". If the host switch is in some OVERLAY transport zone(s) whose "nested_nsx" property is true, the first way is updating the "vdr_mac_nested" property. The 2nd way is updating all those OVERLAY tranport zones to set "nested_nsx" property false which will make the host switch use the VDR MAC in "vdr_mac". The third way is directly updating the transport node to remove all those OVERLAY transport zones from the host switch which will also make the host switch use the VDR MAC in "vdr_mac". Please note that changing the VDR MAC being used by existing transport nodes will most likely cause traffic disruption and network outage!
          title: |-
            A flag to indicate if changing the VDR MAC being used is allowed
          type: boolean
        l3_forwarding_mode:
          default: IPV4_ONLY
          description: |-
            This setting does not restrict configuration as per other modes. But the forwarding will only work as per the mode set here.
          enum:
          - IPV4_ONLY
          - IPV4_AND_IPV6
          title: |-
            L3 forwarding mode
          type: string
        logical_uplink_mtu:
          default: 1500
          description: |-
            This is the global default MTU for all the logical uplinks in a NSX domain. Currently logical uplink MTU can only be set globally and applies to the entire NSX domain. There is no option to override this value at transport zone level or transport node level. If this value is not set, the default value of 1500 will be used.
          format: int32
          readOnly: false
          title: |-
            MTU for the logical uplinks
          type: integer
        vdr_mac:
          default: 02:50:56:56:44:52
          description: |-
            This is the global default MAC address for all VDRs in all transport nodes in a NSX system. When the property "allow_changing_vdr_mac_in_use" is false, it can not be changed if the current VDR MAC is being used by any transport node. A transport node uses this VDR MAC if any host switch in the node is in OVERLAY transport zone(s) but none of the transport zone(s) has "nested_nsx" property being true.
          format: mac-address
          type: string
        vdr_mac_nested:
          default: 02:50:56:56:44:53
          description: |-
            This is the global default MAC address for all VDRs in all transport nodes in a NSX system nested in another NSX system. All transport zones in such a nested NSX system will have the "nested_nsx" property being true so that all transport nodes will use this MAC for the VDR ports to avoid conflict with the VDR MAC in the outer NSX system. When the property "allow_changing_vdr_mac_in_use" is false, it can not be changed if the current VDR MAC is being used by any transport node in a nested NSX environment. A transport node uses this VDR MAC if any host switch in the node is in an OVERLAY transport zone whose "nested_nsx" property is true.
          format: mac-address
          type: string
      required:
      - l3_forwarding_mode
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for Routing
    title: |-
      NSX global configs for Routing
    x-vmw-nsx-module: GlobalConfigs
  RoutingPolicy:
    description: |-
      Routing policy details.
    properties:
      next_hop_prefix_lists_mappings:
        description: |-
          Array of next hop to prefix lists mapping.
        items:
          $ref: '#/definitions/NextHopPrefixListsMapping'
        minItems: 1
        title: |-
          Next hop to prefix lists mappings
        type: array
      routing_policy_type:
        default: PROXIMITY_ROUTING
        description: |-
          Routing policy type.
        enum:
        - PROXIMITY_ROUTING
        readOnly: true
        title: |-
          Routing policy type
        type: string
    required:
    - next_hop_prefix_lists_mappings
    title: |-
      Routing policy
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  RowListField:
    description: |-
      Root of the api result set for forming rows.
    properties:
      alias:
        description: |-
          Short name or alias of row list field, if any. If unspecified, the row list field can be referenced by its index in the array of row list fields as $<index> (for example, $0).
        maxLength: 255
        title: |-
          Alias Name
        type: string
      path:
        description: |-
          JSON path to the root of the api result set for forming rows.
        maxLength: 1024
        title: |-
          JSON path
        type: string
    required:
    - path
    title: |-
      List of fields from which rows are formed
    type: object
    x-vmw-nsx-module: NsxDashboard
  RuleState:
    allOf:
    - $ref: '#/definitions/DSRuleState'
    - properties:
        pending_change_list:
          description: |-
            Pending changes to be realized.
          items:
            $ref: '#/definitions/PendingChange'
          maxItems: 100
          title: |-
            List of pending changes
          type: array
      type: object
      x-vmw-nsx-module: Firewall
    x-vmw-nsx-module: Firewall
  RuntimeInterfaceOperationalStatus:
    properties:
      interface_index:
        description: |-
          Index of the interface
        format: int64
        readOnly: true
        title: |-
          Index of the interface
        type: integer
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      status:
        description: |-
          The Operational status of the interface
        enum:
        - UP
        - DOWN
        - UNKNOWN
        title: |-
          The Operational status of the interface
        type: string
    required:
    - status
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  RuntimeInterfaceStatistics:
    allOf:
    - $ref: '#/definitions/SIAggregatedDataCounterEx'
    - properties:
        interface_index:
          description: |-
            Index of the interface
          format: int64
          readOnly: true
          title: |-
            Index of the interface
          type: integer
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
      type: object
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SHAPredefinedPluginProfileData:
    description: |
      Describes a config item for System Health profile.
    properties:
      check_interval:
        description: |-
          The interval of plugin to check the status.
        format: int64
        title: |-
          The check interval
        type: integer
      report_interval:
        description: |-
          The interval of plugin to report the status.
        format: int64
        title: |-
          The report interval
        type: integer
      smallest_report_interval_if_change:
        description: |
          The smallest report interval if the status is changed.
          The value of smallest_report_interval_if_change should be
          less than the value of report_interval
        format: int64
        title: |-
          The smallest report interval
        type: integer
    title: |-
      System Health Config Item
    type: object
    x-vmw-nsx-module: SystemHealthAgent
  SIAggregatedDataCounter:
    properties:
      rx_bytes:
        $ref: '#/definitions/SIDataCounter'
        readOnly: true
      rx_packets:
        $ref: '#/definitions/SIDataCounter'
        readOnly: true
      tx_bytes:
        $ref: '#/definitions/SIDataCounter'
        readOnly: true
      tx_packets:
        $ref: '#/definitions/SIDataCounter'
        readOnly: true
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIAggregatedDataCounterEx:
    allOf:
    - $ref: '#/definitions/SIAggregatedDataCounter'
    - properties:
        dropped_by_security_packets:
          $ref: '#/definitions/SIPacketsDroppedBySecurity'
          readOnly: true
        mac_learning:
          $ref: '#/definitions/SIMacLearningCounters'
          readOnly: true
      type: object
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIDataCounter:
    properties:
      dropped:
        description: |-
          The dropped packets or bytes
        format: int64
        title: |-
          The dropped packets or bytes
        type: integer
      multicast_broadcast:
        description: |-
          The multicast and broadcast packets or bytes
        format: int64
        title: |-
          The multicast and broadcast packets or bytes
        type: integer
      total:
        description: |-
          The total packets or bytes
        format: int64
        title: |-
          The total packets or bytes
        type: integer
    required:
    - total
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIErrorClass:
    description: |-
      Error class for all the Service Insertion related errors.
    properties:
      error_id:
        format: int64
        readOnly: true
        type: integer
      error_message:
        readOnly: true
        type: string
    title: |-
      Error class for all the Service Insertion related errors.
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  SIExcludeList:
    allOf:
    - $ref: '#/definitions/DSExcludeList'
    - type: object
      x-vmw-nsx-module: ServiceInsertionExcludeList
    description: |-
      List of entities where Service Insertion will not be enforced. Exclusion List can contain NSGroup(s) or LogicalPort(s) or LogicalSwitch(es).
    title: |-
      Exclusion List
    x-vmw-nsx-module: ServiceInsertionExcludeList
  SIMacLearningCounters:
    properties:
      mac_not_learned_packets_allowed:
        description: |-
          The number of packets with unknown source MAC address that are dispatched without learning the source MAC address. Applicable only when the MAC limit is reached and MAC Limit policy is MAC_LEARNING_LIMIT_POLICY_ALLOW.
        format: int64
        title: |-
          Number of dispatched packets with unknown source MAC address.
        type: integer
      mac_not_learned_packets_dropped:
        description: |-
          The number of packets with unknown source MAC address that are dropped without learning the source MAC address. Applicable only when the MAC limit is reached and MAC Limit policy is MAC_LEARNING_LIMIT_POLICY_DROP.
        format: int64
        title: |-
          Number of dropped packets with unknown source MAC address.
        type: integer
      macs_learned:
        description: |-
          Number of MACs learned
        format: int64
        title: |-
          Number of MACs learned
        type: integer
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIPacketTypeAndCounter:
    properties:
      counter:
        description: |-
          The number of packets.
        format: int64
        title: |-
          The number of packets.
        type: integer
      packet_type:
        description: |-
          The type of the packets
        title: |-
          The type of the packets
        type: string
    required:
    - counter
    - packet_type
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIPacketsDroppedBySecurity:
    properties:
      bpdu_filter_dropped:
        description: |-
          The number of packets dropped by "BPDU filter".
        format: int64
        title: |-
          The number of packets dropped by "BPDU filter".
        type: integer
      dhcp_client_dropped_ipv4:
        description: |-
          The number of IPv4 packets dropped by "DHCP client block".
        format: int64
        title: |-
          The number of IPv4 packets dropped by "DHCP client block".
        type: integer
      dhcp_client_dropped_ipv6:
        description: |-
          The number of IPv6 packets dropped by "DHCP client block".
        format: int64
        title: |-
          The number of IPv6 packets dropped by "DHCP client block".
        type: integer
      dhcp_server_dropped_ipv4:
        description: |-
          The number of IPv4 packets dropped by "DHCP server block".
        format: int64
        title: |-
          The number of IPv4 packets dropped by "DHCP server block".
        type: integer
      dhcp_server_dropped_ipv6:
        description: |-
          The number of IPv6 packets dropped by "DHCP server block".
        format: int64
        title: |-
          The number of IPv6 packets dropped by "DHCP server block".
        type: integer
      spoof_guard_dropped:
        description: |-
          The packets dropped by "Spoof Guard"; supported packet types are IPv4, IPv6, ARP, ND, non-IP.
        items:
          $ref: '#/definitions/SIPacketTypeAndCounter'
        title: |-
          The packets dropped by "Spoof Guard"; supported packet types are IPv4, IPv6, ARP, ND, non-IP.
        type: array
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SIServiceProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-Insertion Services. The list has to be homogenous.
          items:
            $ref: '#/definitions/BaseServiceProfile'
          readOnly: true
          title: |-
            Service list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Insertion Service Profile List
    title: |-
      Service Insertion Service Profile List
    x-vmw-nsx-module: ServiceInsertion
  SVMConfigureIssue:
    description: |-
      Type of issue and detailed description of the issues in case of post-VM  deployment configuration failure.
    properties:
      errors:
        description: |-
          List of errors along with details like errorId and error messages.
        items:
          $ref: '#/definitions/SIErrorClass'
        title: |-
          List of errors
        type: array
      service_instance_id:
        description: |-
          The ID of service instance which was deployed.
        title: |-
          Service Instance ID
        type: string
    title: |-
      Service VM configuration issue
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  SVMDeploymentSpec:
    description: |-
      Deployment Specs holds information required to deploy the Service-VMs.i.e. OVF url where the partner Service-VM OVF is hosted. The host type on which the OVF(Open Virtualization Format) can be deployed, Form factor to name a few.
    properties:
      host_type:
        description: |-
          Host Type on which the specified OVF can be deployed.
        enum:
        - ESXI
        - RHELKVM
        - UBUNTUKVM
        readOnly: false
        title: |-
          HostType
        type: string
      min_host_version:
        default: '6.5'
        description: |-
          Minimum host version supported by this ovf. If a host in the deployment cluster is having version less than this, then service deployment will not happen on that host.
        readOnly: false
        title: |-
          Minimum Host Version
        type: string
      name:
        description: |-
          Deployment Spec name for ease of use, since multiple DeploymentSpec can be specified.
        readOnly: false
        title: |-
          name
        type: string
      ovf_url:
        description: |-
          Location of the partner VM OVF to be deployed.
        readOnly: false
        title: |-
          OVF url
        type: string
      service_form_factor:
        default: MEDIUM
        description: |-
          Supported ServiceInsertion Form Factor for the OVF deployment. The default FormFactor is Medium.
        enum:
        - SMALL
        - MEDIUM
        - LARGE
        readOnly: false
        title: |-
          Service Form Factor
        type: string
      svm_version:
        default: '1.0'
        description: |-
          Partner needs to specify the Service VM version which will get deployed.
        title: |-
          Partner Service-VM version.
        type: string
    required:
    - ovf_url
    - host_type
    title: |-
      Service-VM Deployment Spec
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  SamplingArgument:
    discriminator: sampling_type
    properties:
      sampling_type:
        description: |-
          Sampling type
        enum:
        - FirstNSampling
        - PacketNumberSampling
        - IntervalSampling
        title: |-
          Sampling type
        type: string
    required:
    - sampling_type
    type: object
    x-vmw-nsx-module: LiveTrace
  ScpProtocol:
    allOf:
    - $ref: '#/definitions/Protocol'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/PasswordAuthenticationScheme'
          description: |-
            Scheme to authenticate if required
          title: |-
            Scheme to authenticate if required
        ssh_fingerprint:
          description: |-
            SSH fingerprint of server
          title: |-
            SSH fingerprint of server
          type: string
      required:
      - ssh_fingerprint
      - authentication_scheme
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  SearchResponse:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of records matching the search query.
          items:
            type: object
          readOnly: true
          title: |-
            Search results
          type: array
      type: object
      x-vmw-nsx-module: Search
    description: |-
      Search response
    title: |-
      SearchResponse
    x-vmw-nsx-module: Search
  SecurityCertificate:
    properties:
      pem_encoded:
        description: |-
          The certificate must include the enclosing "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
        minLength: 52
        readOnly: false
        title: |-
          PEM encoded X.509 certificate
        type: string
      ssh_public_key:
        readOnly: true
        type: string
      text:
        description: |-
          X.509 certificate in text form
        minLength: 52
        readOnly: true
        title: |-
          X.509 certificate in text form
        type: string
      valid_from:
        description: |-
          The time when the certificate starts being valid
        readOnly: true
        title: |-
          The time when the certificate starts being valid
        type: string
      valid_to:
        description: |-
          The time when the certificate stops being valid
        readOnly: true
        title: |-
          The time when the certificate stops being valid
        type: string
    required:
    - pem_encoded
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SecurityGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        ca_signed_only:
          default: false
          description: |-
            When this flag is set to true (for NDcPP compliance) only ca-signed certificates will be allowed to be applied as server certificates.
          title: |-
            A flag to indicate whether the server certs are only allowed to be ca-signed.
          type: boolean
        crl_checking_enabled:
          default: true
          description: |-
            When this flag is set to true, during certificate checking the CRL is fetched and checked whether the certificate is revoked or not.
          title: |-
            A flag to indicate whether the Java trust-managers check certificate revocation
          type: boolean
        eku_checking_enabled:
          default: true
          description: |-
            When this flag is set to true, during certificate checking the Extended Key Usage extension is expected to be present, indicating whether the certificate is to be used a client certificate or server certificate. Setting this value to false is not recommended as it leads to lower security and operational risk.
          title: |-
            A flag to indicate whether the Extended Key Usage extension in the certificate is checked.
          type: boolean
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for security purposes, like trust store and trust manager.
    title: |-
      NSX global configs for security purposes, like trust store and trust manager.
    x-vmw-nsx-module: GlobalConfigs
  SelectableResourceReference:
    allOf:
    - $ref: '#/definitions/ResourceReference'
    - properties:
        selected:
          description: |-
            Set to true if this resource has been selected to be acted upon
          title: |-
            Set to true if this resource has been selected to be acted upon
          type: boolean
      required:
      - selected
      type: object
      x-vmw-nsx-module: ClusterRestore
    description: |-
      Resources to take action on
    title: |-
      Resources to take action on
    x-vmw-nsx-module: ClusterRestore
  SelectiveSyncSettings:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        enabled:
          description: |-
            Enable or disable SelectiveSync
          title: |-
            Enable or disable SelectiveSync
          type: boolean
        selected_org_units:
          description: |
            If SelectiveSync is enabled, this contains 1 or more
            OrgUnits, which NSX will synchronize with in LDAP server.
            The full distiguished name (DN) should be used for OrgUnit.
            If SelectiveSync is disabled, do not define this or specify an
            empty list.
          items:
            type: string
          title: |-
            Selected OrgUnits for SelectiveSync
          type: array
      required:
      - enabled
      type: object
      x-vmw-nsx-module: DirectoryService
    description: |-
      Directory domain selective sync settings
    title: |-
      Directory domain selective sync settings
    x-vmw-nsx-module: DirectoryService
  SelfResourceLink:
    allOf:
    - $ref: '#/definitions/ResourceLink'
    - type: object
      x-vmw-nsx-module: Common
    description: |-
      The server will populate this field when returing the resource. Ignored on PUT and POST.
    title: |-
      Link to this resource
    x-vmw-nsx-module: Common
  ServerSslProfileBinding:
    properties:
      certificate_chain_depth:
        default: 3
        description: |
          authentication depth is used to set the verification depth in the server
          certificates chain.
        format: int64
        maximum: 2147483647
        minimum: 1
        title: |-
          the maximum traversal depth of server certificate chain
        type: integer
      client_certificate_id:
        description: |
          To support client authentication (load balancer acting as a client
          authenticating to the backend server), client certificate can be
          specified in the server-side SSL profile binding
        title: |-
          client certificate identifier
        type: string
      server_auth:
        default: IGNORE
        description: |-
          server authentication mode
        enum:
        - REQUIRED
        - IGNORE
        type: string
      server_auth_ca_ids:
        description: |
          If server auth type is REQUIRED, server certificate must be signed by
          one of the trusted Certificate Authorities (CAs), also referred to as
          root CAs, whose self signed certificates are specified.
        items:
          type: string
        title: |-
          CA identifier list to verify server certificate
        type: array
      server_auth_crl_ids:
        description: |
          A Certificate Revocation List (CRL) can be specified in the server-side
          SSL profile binding to disallow compromised server certificates.
        items:
          type: string
        title: |-
          CRL identifier list to verify server certificate
        type: array
      ssl_profile_id:
        description: |
          Server SSL profile defines reusable, application-independent server side
          SSL properties.
        title: |-
          server SSL profile identifier
        type: string
    type: object
    x-vmw-nsx-module: LoadBalancer
  ServiceAssociationListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - discriminator: service_type
      properties:
        service_type:
          enum:
          - FireWallServiceAssociationListResult
          - IpfixServiceAssociationListResult
          type: string
      required:
      - service_type
      type: object
      x-vmw-nsx-module: GroupingObjectsProviders
    x-vmw-nsx-module: GroupingObjectsProviders
  ServiceAttachment:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attachment_status:
          default: UP
          description: |-
            UP - A Service Attachment will have its Service Port - UP and with a configured IP address. DOWN - An Inactive ServiceAttachment has its Service Port - DOWN. It can be used to connect set of appliances that do not need to exchange traffic to/from/through the Edge node.
          enum:
          - UP
          - DOWN
          readOnly: false
          title: |-
            Attachment Status
          type: string
        deployed_to:
          $ref: '#/definitions/ResourceReference'
          description: |-
            NSX Resource where we want to create Service Attachment Point. Ex. T0 LR Edge in case of north-south ServiceInsertion and a TransportZone (which is used to define the service plane) in case of east-west service insertion.
          readOnly: false
          title: |-
            Deployed-to object
        local_ips:
          description: |-
            Local IPs associated with this Service Attachment.
          items:
            $ref: '#/definitions/IPInfo'
          maxItems: 1
          minItems: 1
          title: |-
            Local IPs
          type: array
        logical_routers:
          description: |-
            List of LogicalRouters to be connected to the ServicePlane logical switch via a ServiceLink.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          minItems: 1
          readOnly: false
          title: |-
            Logical Router list
          type: array
        logical_switch:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Logical Switch gets created as a part of Service Attachment creation.
          readOnly: true
          title: |-
            Logical Switch
        service_port:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Service Port gets created as a part of Service Attachment creation. It is a Logical Router Port of type CentralizedServicePort. It does not participate in distributed routing. Stateless Policy Based Routing service can be applied on this port.
          readOnly: true
          title: |-
            Service Port (Logical Router Centralized Service Port)
      required:
      - deployed_to
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      A ServiceAttachment represents a point on NSX entity (Example - Edge Router) to which ServiceInstance can be connected through an InstanceEndpoint. Example - In VMWare Hybric Cloud Extention (HCX) use case, HCX appliances connect to this Service Attachment Point. We do not handle the lifecycle of these appliance/s.
    title: |-
      Logical Attachment Point for a 3rd Party Service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceAttachmentListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service Attachments.
          items:
            $ref: '#/definitions/ServiceAttachment'
          readOnly: true
          title: |-
            Service-Attachment list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      List of Service Attachments.
    title: |-
      Service Attachment List
    x-vmw-nsx-module: ServiceInsertion
  ServiceBinding:
    properties:
      service_id:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Identifier of Logical Service
        title: |-
          UUID of Service
    required:
    - service_id
    type: object
    x-vmw-nsx-module: LogicalRouterPorts
  ServiceCapability:
    description: |-
      Service capabilities that will be inherited by service VMs created using a service definition that contains this service capability.
    properties:
      can_decrement_si:
        default: false
        description: |-
          Indicating whether service is configured to decrement SI field in NSH metadata.
        readOnly: true
        title: |-
          SI decrement flag
        type: boolean
      nsh_liveness_support_enabled:
        default: false
        description: |-
          Indicating whether service supports NSH liveness detection.
        readOnly: false
        title: |-
          NSH liveness support flag
        type: boolean
    title: |-
      Service capabilities
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceChain:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        forward_path_service_profiles:
          description: |-
            List of ServiceInsertionServiceProfiles that constitutes the the service chain. The forward path service profiles are applied to ingress traffic.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 4
          readOnly: false
          title: |-
            Forward path service profiles
          type: array
        on_failure_policy:
          default: ALLOW
          description: |-
            Failure policy for the service tells datapath, the action to take i.e to allow or block traffic during failure scenarios.
          enum:
          - ALLOW
          - BLOCK
          readOnly: false
          title: |-
            On Failure Policy
          type: string
        path_selection_policy:
          default: ANY
          description: |-
            Path selection policy can be - ANY - Service Insertion is free to redirect to any service path regardless of any load balancing considerations or flow pinning. LOCAL - means to prefer local service insances. REMOTE - preference is to redirect to the SVM co-located on the same host.
          enum:
          - ANY
          - LOCAL
          - REMOTE
          readOnly: false
          title: |-
            Path Selection Policy
          type: string
        reverse_path_service_profiles:
          description: |-
            List of ServiceInsertionServiceProfiles id. Reverse path service profiles are applied to egress traffic and is optional. 2 different set of profiles can be defined for forward and reverse path. If not defined, the reverse of the forward path service profile is applied.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 4
          readOnly: false
          title: |-
            Reverse path service profiles
          type: array
        service_attachments:
          description: |-
            Service attachment specifies the scope i.e Service plane at which the SVMs are deployed.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          minItems: 1
          readOnly: false
          title: |-
            Service Attachment list
          type: array
        service_chain_id:
          description: |-
            A unique id generated for every service chain. This is not a uuid.
          readOnly: true
          title: |-
            Service chain id
          type: string
      required:
      - service_attachments
      - forward_path_service_profiles
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Service chain is a set of network Services. A Service chain is made up of ordered list of service profiles belonging to any same or different services.
    title: |-
      Service Chain
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceChainListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-Insertion Services. The list has to be homogenous.
          items:
            $ref: '#/definitions/ServiceChain'
          readOnly: true
          title: |-
            Service list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Chain List
    title: |-
      Service Chain List
    x-vmw-nsx-module: ServiceInsertion
  ServiceChainMapping:
    description: |-
      A ServiceInsertionServiceProfile can be part of multiple ServiceChains. ServiceChainMapping for a particular profile will contain a list of all the ServiceChains it's part of. Each Mapping will also contain some metadata to uniquely identify a profile from other profiles.
    properties:
      direction:
        description: |-
          Each ServiceChain has forward_path_service_profiles and reverse_path_service_profiles. This property will indicate which of them being used. FORWARD - forward_path_service_profiles REVERSE - reverse_path_service_profiles
        enum:
        - FORWARD
        - REVERSE
        readOnly: true
        title: |-
          Direction
        type: string
      service_chain_id:
        description: |-
          A unique id generated for every ServiceChain. This is not a uuid.
        readOnly: true
        title: |-
          Service Chain id
        type: string
      service_index:
        description: |-
          Service Index represents a numerical position of a ServiceInsertionServiceProfile in a ServiceChain. It will be in reverse order. Service Index can point to either forward_path_service_profiles or reverse_path_service_profiles indicated by direction property. Example - For a ServiceChain A-B-C, A will have index of 3, B will have index of 2 and C will have index of 1.
        format: int64
        readOnly: true
        title: |-
          Service Index
        type: integer
    title: |-
      Service Chain Mapping
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceChainMappingListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service Chain Mappings. The list has to be homogenous.
          items:
            $ref: '#/definitions/ServiceChainMapping'
          readOnly: true
          title: |-
            Service Chain Mapping List
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Chain Mapping List
    title: |-
      Service Chain Mapping List
    x-vmw-nsx-module: ServiceInsertion
  ServiceConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        applied_to:
          description: |
            The list of entities that the configurations should be applied to.
            This can either be a NSGroup or any other entity like TransportNode, LogicalPorts etc.
          items:
            $ref: '#/definitions/ResourceReference'
          title: |-
            Entities on which the input profile will be applied
          type: array
        precedence:
          description: |
            Every ServiceConfig has a priority based upon its precedence value. Lower the value
            of precedence, higher will be its priority. If user doesnt specify the precedence,
            it is generated automatically by system. The precedence is generated based upon the
            type of profile used in ServiceConfig. Precedence are auto-generated in decreasing
            order with difference of 100. Automatically generated precedence value will be 100
            less than the current minimum value of precedence of ServiceConfig of a given profile
            type in system.There cannot be duplicate precedence for ServiceConfig of same profile
            type.
          format: int64
          maximum: 4294967295
          minimum: 0
          title: |-
            The priority of the service config
          type: integer
        profiles:
          description: |
            These are the NSX Profiles which will be added to service config, which
            will be applied to entities/groups provided to applied_to field of service config.
          items:
            $ref: '#/definitions/NSXProfileReference'
          maxItems: 1
          minItems: 1
          title: |-
            Profiles to be added to service config
          type: array
      required:
      - profiles
      type: object
      x-vmw-nsx-module: ServiceConfig
    description: |-
      Service configs are groupings of profiles (i.e switch profiles) and configurations applied to resources or collection of resources(NSGroups).
    title: |-
      Service Config for profile and common configuration
    x-vmw-nsx-module: ServiceConfig
  ServiceConfigList:
    description: |
      List of Service config objects that needs to be either created
      or updated with the respective profiles and precedence.
    properties:
      service_configs:
        description: |
          An Array of ServiceConfig objects containing details of
          profiles to be applied, entities on which these profiles
          will be applied and precedence.
        items:
          $ref: '#/definitions/ServiceConfig'
        maxItems: 100
        minItems: 1
        title: |-
          service config list results
        type: array
    required:
    - service_configs
    title: |-
      List of Service Configs for batch operation
    type: object
    x-vmw-nsx-module: ServiceConfig
  ServiceConfigListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            service config list results
          items:
            $ref: '#/definitions/ServiceConfig'
          title: |-
            service config list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ServiceConfig
    description: |-
      Paged Collection of service configs
    title: |-
      Paged Collection of service configs
    x-vmw-nsx-module: ServiceConfig
  ServiceDefinition:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attachment_point:
          description: |-
            The point at which the service is deployed/attached for redirecting the traffic to the the partner appliance. Attachment Point is required if Service caters to any functionality other than EPP.
          items:
            enum:
            - TIER0_LR
            - TIER1_LR
            - SERVICE_PLANE
            type: string
          maxItems: 2
          minItems: 0
          readOnly: false
          title: |-
            Attachment Point
          type: array
        functionalities:
          description: |-
            The capabilities provided by the services. Needs to be one or more of the following | NG_FW - Next Generation Firewall | IDS_IPS - Intrusion Detection System / Intrusion Prevention System | NET_MON - Network Monitoring | HCX - Hybrid Cloud Exchange | BYOD - Bring Your Own Device | TLB -  Transparent Load Balancer | EPP - Endpoint Protection.(Third party AntiVirus partners using NXGI should use this functionality for the service)
          items:
            enum:
            - NG_FW
            - IDS_IPS
            - NET_MON
            - HCX
            - BYOD
            - EPP
            - TLB
            type: string
          minItems: 1
          readOnly: false
          title: |-
            Functionality Type
          type: array
        implementations:
          description: |-
            This indicates the insertion point of the service i.e whether the service will be used to protect North-South or East-West traffic in the datacenter.
          items:
            enum:
            - NORTH_SOUTH
            - EAST_WEST
            type: string
          maxItems: 1
          minItems: 1
          readOnly: false
          title: |-
            Implementation Type
          type: array
        on_failure_policy:
          default: ALLOW
          description: |-
            Failure policy for the service tells datapath, the action to take i.e to Allow or Block traffic during failure scenarios. For north-south ServiceInsertion, failure policy in the service instance takes precedence. For east-west ServiceInsertion, failure policy in the service chain takes precedence. BLOCK is not supported for Endpoint protection (EPP) functionality.
          enum:
          - ALLOW
          - BLOCK
          readOnly: false
          title: |-
            On Failure Policy
          type: string
        service_capability:
          $ref: '#/definitions/ServiceCapability'
          description: |-
            Service capability.
          readOnly: false
          title: |-
            Service capability
        service_deployment_spec:
          $ref: '#/definitions/ServiceDeploymentSpec'
          description: |-
            Service Deployment Specification defines takes in information required to deploy and configure a partner appliance/service-vm.
          readOnly: false
          title: |-
            Service Deployment Specification
        service_manager_id:
          description: |
            ID of the service manager to which this service is attached with.
            This field is not set during creation of service. This field will
            be set explicitly when Service Manager is created successfully using this service.
          readOnly: true
          title: |-
            Service Manager Id
          type: string
        transports:
          description: |-
            Transport Type of the service, which is the mechanism of redirecting the traffic to the the partner appliance. Transport type is required if Service caters to any functionality other than EPP.
          items:
            enum:
            - L2_BRIDGE
            - L3_ROUTED
            - NSH
            type: string
          maxItems: 1
          minItems: 0
          readOnly: false
          title: |-
            Transport Type
          type: array
        vendor_id:
          description: |-
            Id which is unique to a vendor or partner for which the service is created.
          readOnly: false
          title: |-
            Vendor ID
          type: string
      required:
      - vendor_id
      - implementations
      - functionalities
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Registering a Service is the first step in the ServiceInsertion mechanism. A ServiceDefinition is used to create a service.
    title: |-
      Definition of a Service.
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceDeployment:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        clustered_deployment_count:
          default: 1
          description: |-
            Number of instances in case of clustered deployment.
          format: int64
          maximum: 10
          minimum: 1
          readOnly: false
          title: |-
            Clustered Deployment Count
          type: integer
        deployed_to:
          description: |-
            List of resource references where service instance be deployed. Ex. Tier 0 Logical Router in case of N-S ServiceInsertion. Service Attachment in case of E-W ServiceInsertion.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          minItems: 1
          readOnly: false
          title: |-
            Deployed-to object list
          type: array
        deployment_mode:
          default: STAND_ALONE
          description: |-
            Mode of deployment. Currently, only stand alone deployment is supported. It is a single VM deployed through this deployment spec. In future, HA configurations will be supported here.
          enum:
          - STAND_ALONE
          - ACTIVE_STANDBY
          readOnly: false
          title: |-
            Deployment Mode
          type: string
        deployment_spec_name:
          description: |-
            Name of the deployment spec to be used for deployment, which specifies the OVF provided by the partner and the form factor.
          readOnly: false
          title: |-
            Deployment Spec Name
          type: string
        deployment_type:
          default: CLUSTERED
          description: |-
            Specifies whether the service VM should be deployed on each host such that it provides partner service locally on the host, or whether the service VMs can be deployed as a cluster. If deployment_type is CLUSTERED, then the clustered_deployment_count should be provided.
          enum:
          - HOSTLOCAL
          - CLUSTERED
          readOnly: false
          title: |-
            Deployment Type
          type: string
        instance_deployment_template:
          $ref: '#/definitions/DeploymentTemplate'
          description: |-
            The deployment template to be used during the deployment to provide customized attributes to the service VM.
          readOnly: false
          title: |-
            Instance Deployment Template
        perimeter:
          default: HOST
          description: |-
            This indicates the deployment perimeter, such as a VC cluster or a host.
          enum:
          - CLUSTER
          - HOST
          readOnly: false
          title: |-
            Deployment perimeter
          type: string
        service_deployment_config:
          $ref: '#/definitions/ServiceDeploymentConfig'
          description: |-
            Deployment Config contains the deployment specification, such as the storage and network to be used along with the cluster where the service VM can be deployed.
          readOnly: false
          title: |-
            Service Deployment Config
        service_id:
          description: |-
            The Service to which the service deployment is associated.
          readOnly: true
          title: |-
            Service Id
          type: string
      required:
      - deployment_spec_name
      - instance_deployment_template
      - service_deployment_config
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Used to provide the deployment specification for the service.
    title: |-
      Deployment details of a Service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceDeploymentConfig:
    description: |-
      The Deployment Config contains settings that are applied during install time.
    properties:
      compute_collection_id:
        description: |-
          Resource Pool or cluster Id.
        readOnly: false
        title: |-
          Compute Collection Id
        type: string
      compute_manager_id:
        description: |-
          Context Id or VCenter Id.
        readOnly: false
        title: |-
          Compute Manager Id
        type: string
      host_id:
        description: |
          The service VM will be deployed on the specified host in the specified
          server within the cluster if host_id is specified.
          Note: You must ensure that storage and specified networks are accessible
                by this host.
        readOnly: false
        title: |-
          Host id
        type: string
      storage_id:
        description: |-
          Moref of the datastore in VC. If it is to be taken from 'Agent VM Settings', then it should be empty.
        readOnly: false
        title: |-
          Storage Id
        type: string
      vm_nic_info:
        $ref: '#/definitions/VmNicInfo'
        description: |-
          VM NIC information for VMs
        readOnly: false
        title: |-
          VM NIC information
    required:
    - compute_collection_id
    - compute_manager_id
    title: |-
      Service Deployment Config
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceDeploymentIssue:
    description: |-
      Type of issue and detailed description of the issue in case of deployment failure.
    properties:
      issue_description:
        description: |-
          Description of issue encountered while service deployment.
        title: |-
          Description of issue encountered while service deployment
        type: string
      issue_timestamp:
        description: |-
          Timestamp when issue was issue encountered while service deployment.
        title: |-
          Timestamp when issue was encountered while service deployment
        type: string
      issue_type:
        description: |-
          Type of issue encountered while service deployment.
        title: |-
          Type of issue encountered while service deployment
        type: string
    required:
    - issue_type
    title: |-
      Service deployment issue
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  ServiceDeploymentListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |
            Array of existing ServiceDeployments in database
          items:
            $ref: '#/definitions/ServiceDeployment'
          title: |-
            Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: ServiceInsertionVMDeployment
    description: |-
      Result of List of ServiceDeployments
    title: |-
      ServiceDeployment list result
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  ServiceDeploymentSpec:
    description: |-
      ServiceDeployment Spec consists of information required to deploy and configure the partner appliances. viz. Deployment template, deployment spec and NIC metatdata.
    properties:
      deployment_specs:
        description: |-
          Deployment Specs holds information required to deploy the Service-VMs. i.e. OVF url where the partner Service-VM OVF is hosted. The host type on which the OVF can be deployed, Form factor to name a few.
        items:
          $ref: '#/definitions/SVMDeploymentSpec'
        maxItems: 128
        readOnly: false
        title: |-
          Service Deployment Spec List
        type: array
      deployment_template:
        description: |-
          Deployment Template holds the attributes specific to partner for which the service is created. These attributes are opaque to NSX Manager.
        items:
          $ref: '#/definitions/DeploymentTemplate'
        readOnly: false
        title: |-
          Service Deployment Template
        type: array
      nic_metadata_list:
        description: |-
          NIC metadata associated with the deployment spec.
        items:
          $ref: '#/definitions/NicMetadata'
        readOnly: false
        title: |-
          NIC Metadata
        type: array
      svm_version:
        description: |-
          Partner needs to specify the Service VM version which will get deployed.
        title: |-
          Partner Service-VM version.
        type: string
    required:
    - deployment_template
    title: |-
      Service Deployment Specification.
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceDeploymentStatus:
    properties:
      deployment_issues:
        description: |-
          List of issue and detailed description of the issue in case of deployment failure.
        items:
          $ref: '#/definitions/ServiceDeploymentIssue'
        readOnly: true
        title: |-
          Service deployment issue
        type: array
      deployment_status:
        description: |-
          Deployment status of NXGI Partner Service-VM on a compute collection. It shows the latest status during the process of deployment, redeploy, upgrade, and un-deployment on a compute collection such as VC cluster.
        enum:
        - UPGRADE_IN_PROGRESS
        - UPGRADE_FAILED
        - DEPLOYMENT_QUEUED
        - DEPLOYMENT_IN_PROGRESS
        - DEPLOYMENT_FAILED
        - DEPLOYMENT_SUCCESSFUL
        - UNDEPLOYMENT_QUEUED
        - UNDEPLOYMENT_IN_PROGRESS
        - UNDEPLOYMENT_FAILED
        - UNDEPLOYMENT_SUCCESSFUL
        - UPGRADE_QUEUED
        readOnly: true
        title: |-
          Compute collection deployment progress status
        type: string
      last_update_timestamp:
        description: |-
          Timestamp when the data was last updated; unset if data source has never updated the data.
        format: int64
        readOnly: true
        type: integer
      service_deployment_id:
        description: |-
          Id of service deployment.
        readOnly: true
        title: |-
          Service deployment id
        type: string
      sva_current_version:
        description: |-
          Currently deployed Service Virtual Appliance version.
        title: |-
          Current deployed SVA version
        type: string
      sva_max_available_version:
        description: |-
          Max available SVA version for upgrade
        title: |-
          Max available SVA version
        type: string
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  ServiceEndpoint:
    properties:
      certificate:
        description: |-
          Certificate or certificate chain
        title: |-
          Certificate or certificate chain
        type: string
      certificate_sha256_thumbprint:
        readOnly: true
        type: string
      entities_hosted:
        description: |-
          List of entities hosted on accessible through the service endpoint
        items:
          $ref: '#/definitions/HostedEntityInfo'
        readOnly: true
        title: |-
          List of entities hosted on accessible through the service endpoint
        type: array
      fqdn:
        readOnly: true
        type: string
      ip_address:
        description: |-
          IPv4 or IPv6 address
        format: ip
        type: string
      port:
        format: int64
        maximum: 65535
        minimum: 0
        type: integer
      service_endpoint_uuid:
        description: |-
          Unique identifier of this service endpoint
        readOnly: true
        title: |-
          Unique identifier of this service endpoint
        type: string
    required:
    - ip_address
    - port
    type: object
    x-vmw-nsx-module: ClusterManagement
  ServiceInsertionRule:
    allOf:
    - $ref: '#/definitions/DSRule'
    - properties:
        redirect_tos:
          description: |-
            A rule can be redirected to ServiceInstance, InstanceEndpoint for North/South Traffic. A rule can be redirected to ServiceChain for East/West Traffic. For REDIRECT action, redirect_tos is mandatory. For DO_NOT_REDIRECT action, redirect_tos is optional.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 1
          readOnly: false
          title: |-
            Redirect_Tos List
          type: array
        section_id:
          description: |-
            ID of the section to which this rule belongs.
          readOnly: true
          title: |-
            Section Id
          type: string
        services:
          description: |-
            List of the services. Null will be treated as any.
          items:
            $ref: '#/definitions/ServiceInsertionService'
          maxItems: 128
          readOnly: false
          title: |-
            Service List
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      ServiceInsertion Rule.
    title: |-
      ServiceInsertion Rule
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionRuleList:
    description: |-
      List of ServiceInsertion Rules.
    properties:
      rules:
        description: |-
          List of ServiceInsertion rules in the section. Only homogeneous rules are supported.
        items:
          $ref: '#/definitions/ServiceInsertionRule'
        maxItems: 1000
        title: |-
          List of the ServiceInsertion rules
        type: array
    required:
    - rules
    title: |-
      ServiceInsertion Section RuleList
    type: object
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionRuleListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            ServiceInsertion rule list result with pagination support.
          items:
            $ref: '#/definitions/ServiceInsertionRule'
          readOnly: true
          title: |-
            ServiceInsertion rule list result
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      List of ServiceInsertion Rules.
    title: |-
      ServiceInsertion Section RuleList
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionSection:
    allOf:
    - $ref: '#/definitions/DSSection'
    - properties:
        tcp_strict:
          default: false
          description: |-
            Ensures that a three way TCP handshake is done before the data packets are sent if the value is set to be true. tcp_strict=true is supported only for stateful sections.
          title: |-
            TCP Strict
          type: boolean
      type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      A ServiceInsertion section composed of ServiceInsertion Rules.
    title: |-
      ServiceInsertion Section
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionSectionListResult:
    allOf:
    - $ref: '#/definitions/DSSectionListResult'
    - properties:
        results:
          description: |-
            List of the ServiceInsertion sections. The list has to be homogeneous.
          items:
            $ref: '#/definitions/ServiceInsertionSection'
          readOnly: true
          title: |-
            Section list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      List of ServiceInsertion Sections.
    title: |-
      ServiceInsertion Section List
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionSectionRuleList:
    allOf:
    - $ref: '#/definitions/ServiceInsertionSection'
    - properties:
        rules:
          description: |-
            List of Service Insertion rules in the section. Only homogeneous rules are supported.
          items:
            $ref: '#/definitions/ServiceInsertionRule'
          maxItems: 1000
          readOnly: false
          title: |-
            List of the Service Insertion rules
          type: array
      required:
      - rules
      type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      List of ServiceInsertion Rules.
    title: |-
      ServiceInsertion Section RuleList
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionService:
    allOf:
    - $ref: '#/definitions/DSService'
    - type: object
      x-vmw-nsx-module: ServiceInsertionRules
    description: |-
      Protocol on which a particular ServiceInsertion Rule should apply to.
    title: |-
      ServiceInsertion Service
    x-vmw-nsx-module: ServiceInsertionRules
  ServiceInsertionServiceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-Insertion Services. The list has to be homogenous.
          items:
            $ref: '#/definitions/ServiceDefinition'
          readOnly: true
          title: |-
            Service list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service List
    title: |-
      Service List
    x-vmw-nsx-module: ServiceInsertion
  ServiceInsertionServiceProfile:
    allOf:
    - $ref: '#/definitions/BaseServiceProfile'
    - properties:
        attributes:
          description: |-
            List of attributes specific to a partner for which the service is created. These attributes are passed on to the partner appliance and are opaque to the NSX Manager. If a vendor template exposes configurables, then the values are specified here.
          items:
            $ref: '#/definitions/Attribute'
          maxItems: 128
          readOnly: false
          title: |-
            Service profile attributes
          type: array
        redirection_action:
          default: PUNT
          description: |-
            The redirection action represents if the packet is exclusively redirected to the service, or if a copy is forwarded to the service. The service insertion profile inherits the redirection action if already specified at the vendor template. However the service profile cannot overide the action specified at the vendor template.
          enum:
          - PUNT
          - COPY
          readOnly: false
          title: |-
            Redirection action
          type: string
        service_id:
          description: |-
            The service to which the service profile belongs.
          readOnly: true
          title: |-
            Service Id
          type: string
        vendor_template_id:
          description: |-
            Id of the vendor template to be used by the servive profile.
          readOnly: false
          title: |-
            Vendor template id
          type: string
      required:
      - vendor_template_id
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Service profile represents a specialization of vendor template.
    title: |-
      Service Profile for a Service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceInsertionStatus:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        context:
          description: |-
            Type of service insertion contexts.
          enum:
          - east_west
          - north_south
          readOnly: false
          type: string
        global_status:
          description: |-
            service insertion status for a context type (e.g. east_west traffic).
          enum:
          - DISABLED
          - ENABLED
          readOnly: false
          type: string
      required:
      - global_status
      - context
      type: object
      x-vmw-nsx-module: ServiceInsertionStatus
    description: |-
      It represents global status of Service Insertion for a particular context type. It shows whether a service insertion is enabled or not for a type.
    title: |-
      Service Insertion Status
    x-vmw-nsx-module: ServiceInsertionStatus
  ServiceInsertionStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          items:
            $ref: '#/definitions/ServiceInsertionStatus'
          readOnly: true
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertionStatus
    description: |-
      List of service insertion statuses for a context or all context
    title: |-
      Service Insertion Statuses
    x-vmw-nsx-module: ServiceInsertionStatus
  ServiceInstance:
    allOf:
    - $ref: '#/definitions/BaseServiceInstance'
    - properties:
        attachment_point:
          description: |-
            Attachment point to be used by this service instance for deploying the Service-VM.
          enum:
          - TIER0_LR
          - TIER1_LR
          - SERVICE_PLANE
          - HOST
          readOnly: false
          title: |-
            Attachment Point
          type: string
        deployed_to:
          description: |-
            List of resource references where service instance be deployed. Ex. Tier 0 Logical Router in case of N-S ServiceInsertion.
          items:
            $ref: '#/definitions/ResourceReference'
          maxItems: 128
          minItems: 1
          readOnly: false
          title: |-
            Deployed-to object list
          type: array
        deployment_mode:
          default: ACTIVE_STANDBY
          description: |-
            Deployment mode specifies where the partner appliance will be deployed in HA or non-HA i.e standalone mode.
          enum:
          - STAND_ALONE
          - ACTIVE_STANDBY
          readOnly: false
          title: |-
            Deployment Mode
          type: string
        deployment_spec_name:
          description: |-
            Name of the deployment spec to be used by this service instance.
          readOnly: false
          title: |-
            Deployment Spec Name
          type: string
        implementation_type:
          description: |-
            Implementation to be used by this service instance for deploying the Service-VM.
          enum:
          - NORTH_SOUTH
          - EAST_WEST
          readOnly: false
          title: |-
            Implementation Type
          type: string
        instance_deployment_config:
          $ref: '#/definitions/InstanceDeploymentConfig'
          description: |-
            Instance Deployment Config contains the information to be injected during Service-VM deployment. This field is optional if the service only caters to functionality EPP(Endpoint Protection).
          readOnly: false
          title: |-
            Instance Deployment Config
        instance_deployment_template:
          $ref: '#/definitions/DeploymentTemplate'
          description: |-
            The deployment template to be used by this service instance. The attribute values specific to this instance can be added.
          readOnly: false
          title: |-
            Instance Deployment Template
        service_deployment_id:
          description: |-
            Id of the Service Deployment using which the instances were deployed. Its available only for instances that were deployed using service deployment API.
          readOnly: true
          title: |-
            Id of the Service Deployment using which the instances were deployed
          type: string
      required:
      - instance_deployment_template
      - implementation_type
      - attachment_point
      - deployed_to
      - deployment_spec_name
      - deployment_mode
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      The deployment of a registered service. Service instance is instantiation of service. It is the most used type of instance. It is a default instance to be used when NSX handles lifecycle of appliance. Deployment and appliance related all the information is necessary.
    title: |-
      Normal Instance of a service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceInstanceHealthStatus:
    description: |-
      Health Status of a third party partner VM.
    properties:
      connect_timestamp:
        description: |-
          Latest timestamp when mux was connected to SVA.
        title: |-
          Timestamp when mux was connected to SVA
        type: string
      is_stale:
        description: |
          The parameter is set if the last received health status is older
          than the predefined interval.
        readOnly: true
        title: |-
          Flag is true when health status is stale
        type: boolean
      is_sva_mux_incompatible:
        description: |-
          Protocol version might be different in both Mux and SVA.
        title: |-
          Flag is true when Mux and SVA are incompatible
        type: boolean
      mux_connected_status:
        description: |-
          Status of multiplexer which forwards the events from guest virtual machines to the partner appliance.
        title: |-
          Context Multiplexer Status
        type: string
      mux_incompatible_version:
        description: |-
          Mux version when Mux and SVA are incompatible
        title: |-
          Mux incompatible version
        type: string
      solution_status:
        description: |-
          Status of third party partner solution application.
        title: |-
          Third party partner solution status
        type: string
      solution_version:
        description: |-
          Version of third party partner solution application.
        title: |-
          Solution version of partner application
        type: string
      sync_time:
        description: |-
          Latest timestamp when health status is received.
        title: |-
          Health status timestamp
        type: string
    title: |-
      Service instance health status
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  ServiceInstanceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-Insertion ServicesInstances. The list has to be homogenous.
          items:
            $ref: '#/definitions/BaseServiceInstance'
          readOnly: true
          title: |-
            Service-Instance list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Instance List
    title: |-
      Service Instance List
    x-vmw-nsx-module: ServiceInsertion
  ServiceInstanceNSGroups:
    description: |-
      ServiceInstanceNSGroups contains list of NS Groups referenced in North-South Service Insertion Rules for a particular Service Instance.
    properties:
      nsroups:
        description: |-
          List of NSGroups Used in ServiceInsertion Rules.
        items:
          $ref: '#/definitions/NSGroupInfo'
        readOnly: true
        title: |-
          NSGroup List
        type: array
    title: |-
      NSGroups referenced in North-South Service Instance
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceInstanceStatus:
    properties:
      configuration_issue:
        $ref: '#/definitions/SVMConfigureIssue'
        description: |-
          This object contains the list of issues which might come during post deployment configuration for a particular service instance.
        readOnly: true
        title: |-
          Collection of configuration issues during service instance deployment
      instance_deployment_status:
        $ref: '#/definitions/ServiceDeploymentStatus'
        description: |-
          Deployment status of NXGI Partner Service-VM.
        readOnly: true
        title: |-
          Deployment status of a Service Instance
      instance_health_status:
        $ref: '#/definitions/ServiceInstanceHealthStatus'
        description: |-
          Health status of NXGI components on Partner Service-VM.
        readOnly: true
        title: |-
          Health status of a Service Instance
      service_instance_id:
        description: |-
          Id of an instantiation of a registered service.
        readOnly: true
        title: |-
          Service instance id
        type: string
    type: object
    x-vmw-nsx-module: ServiceInsertionVMDeployment
  ServiceManager:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/CallbackAuthenticationScheme'
          description: |-
            A CallbackAuthenticationScheme that describes how notification requests/callbacks from NSX, should authenticate to the server.
          readOnly: false
          title: |-
            Scheme to authenticate requests sent to the server
        port:
          description: |-
            Integer port value to specify a standard/non-standard HTTPS port.
          format: int64
          maximum: 65535
          minimum: 0
          readOnly: false
          title: |-
            Integer port value to specify a HTTPS port
          type: integer
        server:
          description: |-
            IP address or fully qualified domain name of the partner REST server.
          readOnly: false
          title: |-
            IP address or fully qualified domain name of server
          type: string
        service_ids:
          description: |-
            The IDs of services, provided by partner.
          items:
            $ref: '#/definitions/ResourceReference'
          readOnly: false
          title: |-
            Service IDs
          type: array
        thumbprint:
          description: |-
            Thumbprint (SHA-256 hash represented in lower case hex) for the certificate on the partner console. This will be required to establish secure communication with the console and to avoid man-in-the-middle attacks.
          title: |-
            Thumbprint of the certificate for partner console
          type: string
        uri:
          description: |-
            URI on which notification requests should be made on the specified server.
          readOnly: false
          title: |-
            URI notification requests should be made on the server
          type: string
        vendor_id:
          description: |-
            Id which is unique to a vendor or partner for which the service is created.
          readOnly: true
          title: |-
            Vendor ID
          type: string
      required:
      - port
      - service_ids
      - authentication_scheme
      - uri
      - server
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Partner console endpoint information for enabling NSX to callback with events and status.
    title: |-
      Definition of a Service Manager
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceManagerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-managers.
          items:
            $ref: '#/definitions/ServiceManager'
          readOnly: true
          title: |-
            Service manager list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Manager List Result
    title: |-
      Service Manager List Result
    x-vmw-nsx-module: ServiceInsertion
  ServicePath:
    description: |-
      An instance of service chain that consists of forward and reverse service paths.
    properties:
      forward_path:
        $ref: '#/definitions/UnidirectionalServicePath'
        description: |-
          Forward service path if available that applies to ingress traffic.
        readOnly: true
        title: |-
          Forward service path
      reverse_path:
        $ref: '#/definitions/UnidirectionalServicePath'
        description: |-
          Reverse service path if available that applies to egress traffic.
        readOnly: true
        title: |-
          Reverse Service Path
      service_chain_id:
        description: |-
          A unique id of a service chain.
        format: int64
        readOnly: true
        title: |-
          Service chain id
        type: integer
      service_chain_uuid:
        description: |-
          Uuid of a service chain.
        readOnly: true
        title: |-
          Uuid of a service chain
        type: string
      service_path_id:
        description: |-
          Unique identifier of a service path.
        format: int64
        readOnly: true
        title: |-
          Service path id
        type: integer
    title: |-
      Service path
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServicePathHop:
    description: |-
      Represents a service VM implementing a particular service in a service chain
    properties:
      action:
        description: |-
          Action that will be taken by the corresponding service VM of the hop.
        enum:
        - SERVICE_ACTION_INVALID
        - COPY
        - REDIRECT
        readOnly: true
        title: |-
          Action
        type: string
      can_decrement_si:
        description: |-
          Indicating whether service is configured to decrement SI field in NSH metadata.
        readOnly: true
        title: |-
          SI decrement flag
        type: boolean
      in_maintenance_mode:
        description: |-
          Indicating the maintenance mode of the corresponding service VM.
        readOnly: true
        title: |-
          Maintenance mode flag
        type: boolean
      is_active_from_ccp:
        description: |-
          Indicating whether the corresponding service VM is active or not per CCP.
        readOnly: true
        title: |-
          Active flag managed by CCP
        type: boolean
      is_active_from_dp:
        description: |-
          Indicating whether the corresponding service VM is active or not per DP.
        readOnly: true
        title: |-
          Active flag managed by DP
        type: boolean
      is_active_from_mp:
        description: |-
          Indicating whether the corresponding service VM is active or not per MP.
        readOnly: true
        title: |-
          Active flag managed by MP
        type: boolean
      mac_address:
        description: |-
          MAC address of the virtual network interface.
        readOnly: true
        title: |-
          MAC address of the virtual network interface.
        type: string
      nsh_liveness_support:
        description: |-
          Indicating whether NSH liveness is supported or not by the corresponding service VM.
        readOnly: true
        title: |-
          NSH liveness flag
        type: boolean
      vif:
        description: |-
          ID of the virtual network interface.
        readOnly: true
        title: |-
          Virtual interface id
        type: string
    title: |-
      Service path hop
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServicePathListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of homogenous service paths
          items:
            $ref: '#/definitions/ServicePath'
          readOnly: true
          title: |-
            Service Path list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service path list
    title: |-
      Service path list
    x-vmw-nsx-module: ServiceInsertion
  ServiceProfileNSGroups:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        nsroups:
          description: |-
            List of NSGroups Used in ServiceInsertion Rules.
          items:
            $ref: '#/definitions/NSGroupInfo'
          readOnly: true
          title: |-
            NSGroup List
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      ServiceProfileNSGroups contains list of NS Groups referenced in Service Insertion Rules. To be considered, Service profile must be part of a Service Chain and that Service chain must be used in a Rule.
    title: |-
      NSGroups used in Service Profile
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  ServiceRouterAllocationConfig:
    properties:
      allocation_pool:
        $ref: '#/definitions/EdgeClusterMemberAllocationPool'
        description: |
          Logical router allocation can be tracked for specific services and
          services may have their own hard limits and allocation sizes. For
          example load balancer pool should be specified if load balancer
          service will be attached to logical router.
        title: |-
          Edge Cluster Member Allocation Pool for logical router
      edge_cluster_id:
        description: |
          To reallocate TIER1 logical router on new or existing edge cluster
        title: |-
          Edge cluster id to re allocate members
        type: string
      edge_cluster_member_indices:
        description: |
          For TIER 1 logical router, for manual placement of service router
          within the cluster, edge cluster member indices needs to be provided
          else same will be auto-allocated. You can provide maximum two indices
          for HA ACTIVE_STANDBY.
        items:
          format: int64
          type: integer
        title: |-
          Member indices of the edge node on the cluster
        type: array
    required:
    - edge_cluster_id
    type: object
    x-vmw-nsx-module: LogicalRouter
  SessionLoginCredential:
    allOf:
    - $ref: '#/definitions/LoginCredential'
    - properties:
        session_id:
          description: |-
            The session_id to login to server.
          readOnly: false
          title: |-
            The session_id to login to server
          type: string
        thumbprint:
          description: |-
            Thumbprint of the login server.
          readOnly: false
          title: |-
            Thumbprint of the login server
          type: string
      type: object
      x-vmw-nsx-module: Types
    description: |-
      Details of session based login credential to login to server.
    title: |-
      A login credential specifying session_id
    x-vmw-nsx-module: Types
  SetPrincipalIdentityCertificateForFederationRequest:
    description: |-
      Data for setting a principal identity certificate
    properties:
      cert_id:
        description: |-
          Id of the certificate
        readOnly: true
        type: string
      service_type:
        description: |-
          Service type for which the certificate should be used.
        enum:
        - LOCAL_MANAGER
        - GLOBAL_MANAGER
        readOnly: true
        type: string
    title: |-
      Data for setting a principal identity certificate
    type: object
    x-vmw-nsx-module: CertificateManager
  SftpProtocol:
    allOf:
    - $ref: '#/definitions/Protocol'
    - properties:
        authentication_scheme:
          $ref: '#/definitions/PasswordAuthenticationScheme'
          description: |-
            Scheme to authenticate if required
          title: |-
            Scheme to authenticate if required
        ssh_fingerprint:
          description: |-
            SSH fingerprint of server
          title: |-
            SSH fingerprint of server
          type: string
      required:
      - ssh_fingerprint
      - authentication_scheme
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  SnmpProperties:
    description: |-
      This object contains SNMP v2c and SNMP v3 properties.
    properties:
      v2c:
        $ref: '#/definitions/Snmpv2cProperties'
        description: |-
          SNMP v2c properties
        title: |-
          SNMP v2c properties
      v3:
        $ref: '#/definitions/Snmpv3Properties'
        description: |-
          SNMP v3 properties
        title: |-
          SNMP v3 properties
    title: |-
      SNMP Service properties
    type: object
    x-vmw-nsx-module: CentralConfig
  SnmpServiceProperties:
    description: |-
      SNMP Service properties
    properties:
      communities:
        description: |-
          SNMP v1, v2c community strings
        items:
          type: string
        maxItems: 1
        title: |-
          SNMP v1, v2c community strings
        type: array
      start_on_boot:
        description: |-
          Start when system boots
        title: |-
          Start when system boots
        type: boolean
      v2_configured:
        description: |-
          SNMP v2 is configured or not
        readOnly: true
        title: |-
          SNMP v2 is configured or not
        type: boolean
      v3_auth_protocol:
        default: SHA1
        description: |-
          SNMP v3 auth protocol
        enum:
        - SHA1
        title: |-
          SNMP v3 auth protocol
        type: string
      v3_configured:
        description: |-
          SNMP v3 is configured or not
        readOnly: true
        title: |-
          SNMP v3 is configured or not
        type: boolean
      v3_priv_protocol:
        default: AES128
        description: |-
          SNMP v3 private protocol
        enum:
        - AES128
        title: |-
          SNMP v3 private protocol
        type: string
      v3_users:
        description: |-
          SNMP v3 users information
        items:
          $ref: '#/definitions/SnmpV3User'
        maxItems: 1
        title: |-
          V3 users
        type: array
    required:
    - v3_auth_protocol
    - v3_priv_protocol
    - start_on_boot
    title: |-
      SNMP Service properties
    type: object
    x-vmw-nsx-module: CentralNodeConfig
  SnmpV3User:
    description: |-
      SNMP v3 user properties
    properties:
      auth_password:
        description: |-
          SNMP v3 user auth password
        title: |-
          Auth password
        type: string
      priv_password:
        description: |-
          SNMP v3 user private password
        title: |-
          Private password
        type: string
      user_id:
        description: |-
          SNMP v3 user ID
        title: |-
          User ID
        type: string
    required:
    - user_id
    title: |-
      SNMP v3 user
    type: object
    x-vmw-nsx-module: CentralNodeConfig
  Snmpv2cCommunity:
    description: |-
      This object contains SNMP v2c community identifier, shared secret and access properties.
    properties:
      access:
        default: READ_ONLY
        description: |-
          Access permissions for polling NSX nodes over SNMP v2c.
        enum:
        - READ_ONLY
        title: |-
          Type of access
        type: string
      community_name:
        description: |-
          Unique, non-sensitive community name to identify community.
        maxLength: 64
        minLength: 1
        title: |-
          Community name
        type: string
      community_string:
        description: |-
          Community string. This is considered a shared secret and therefore sensitive information. This field is required when adding a community. When updating a community, do not include this field in the request. If this field is present in an update request, it will be considered as a new value for community string.
        maxLength: 64
        minLength: 1
        title: |-
          Community string
        type: string
    required:
    - community_name
    title: |-
      SNMP v2c community
    type: object
    x-vmw-nsx-module: CentralConfig
  Snmpv2cProperties:
    description: |-
      This object contains list of SNMP v2c communities used to poll NSX nodes over SNMP and list of SNMP v2c targets used to receive SNMP traps/notifications from NSX nodes.
    properties:
      communities:
        description: |-
          List of SNMP v2c communities allowed to poll NSX nodes over SNMP v2c.
        items:
          $ref: '#/definitions/Snmpv2cCommunity'
        maxItems: 10
        title: |-
          SNMP v2c communities
        type: array
      targets:
        description: |-
          List of SNMP v2c targets/receivers where SNMP v2c traps/notifications will be sent from NSX nodes.
        items:
          $ref: '#/definitions/Snmpv2cTarget'
        maxItems: 3
        title: |-
          SNMP v2c targets
        type: array
    title: |-
      SNMP v2c properties
    type: object
    x-vmw-nsx-module: CentralConfig
  Snmpv2cTarget:
    description: |-
      This object contains SNMP v2c target/receiver where SNMP traps/notifications will be sent.
    properties:
      community_name:
        description: |-
          Unique non-sensitive community name to identify community.
        maxLength: 64
        minLength: 1
        title: |-
          Community name
        type: string
      community_string:
        description: |-
          Community string (shared secret). This field is required when adding a community target. When updating a community target, do not include this field in the request. If this field is present in an update request, it will be considered as a new value for community string.
        maxLength: 64
        minLength: 1
        title: |-
          Community string
        type: string
      port:
        default: 162
        description: |-
          SNMP v2c target server's port number.
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          SNMP v2c target server port
        type: integer
      server:
        description: |-
          SNMP v2c target server's IP or FQDN.
        format: hostname-or-ipv4
        type: string
    required:
    - community_name
    - server
    title: |-
      SNMP v2c target
    type: object
    x-vmw-nsx-module: CentralConfig
  Snmpv3Properties:
    description: |-
      This object contains list of SNMP v3 users used to poll NSX nodes over SNMP and list of SNMP v3 targets used to receive SNMP traps/notifications from NSX nodes. Users specified in a SNMP v3 target must exist in the list of SNMP v3 users.
    properties:
      auth_protocol:
        default: SHA1
        description: |-
          Authentication protocol used for SNMP v3 communication.
        enum:
        - SHA1
        title: |-
          Authentication protocol
        type: string
      priv_protocol:
        default: AES128
        description: |-
          Privacy protocol used for SNMP v3 communication.
        enum:
        - AES128
        title: |-
          Privacy protocol
        type: string
      targets:
        description: |-
          List of SNMP v3 targets/receivers where SNMP v3 traps/notifications will be sent from NSX nodes.
        items:
          $ref: '#/definitions/Snmpv3Target'
        maxItems: 3
        title: |-
          SNMP v3 targets
        type: array
      users:
        description: |-
          List of SNMP v3 users allowed to poll NSX nodes over SNMP. Also, users specified in a SNMP v3 target must exist in this list.
        items:
          $ref: '#/definitions/Snmpv3User'
        maxItems: 5
        title: |-
          SNMP v3 users
        type: array
    title: |-
      SNMP v3 properties
    type: object
    x-vmw-nsx-module: CentralConfig
  Snmpv3Target:
    description: |-
      This object contains SNMP v3 target/receiver where SNMP traps/notifications will be sent.
    properties:
      port:
        default: 162
        description: |-
          SNMP v3 target server's port.
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          SNMP v3 target server port
        type: integer
      security_level:
        default: AUTH_PRIV
        description: |-
          Security level indicates whether SNMP communication involves authentication and privacy protocols for this user. Value "AUTH_PRIV" indicates both authentication and privacy protocols will be used for SNMP communication.
        enum:
        - AUTH_PRIV
        title: |-
          Security level
        type: string
      server:
        description: |-
          SNMP v3 target server's IP or FQDN.
        format: hostname-or-ipv4
        type: string
      user_id:
        description: |-
          SNMP v3 user id used to notify target server. This SNMP v3 user should already be added in this profile.
        maxLength: 32
        minLength: 1
        title: |-
          Existing SNMP v3 user id
        type: string
    required:
    - user_id
    - server
    title: |-
      SNMP v3 target
    type: object
    x-vmw-nsx-module: CentralConfig
  Snmpv3User:
    description: |-
      This object contains properties for a SNMP v3 user that can be used to receive SNMP traps/notifications from NSX and/or poll NSX nodes over SNMP.
    properties:
      access:
        default: READ_ONLY
        description: |-
          Access permissions for polling NSX nodes over SNMP v3.
        enum:
        - READ_ONLY
        title: |-
          Type of access
        type: string
      auth_password:
        description: |-
          Authentication password used for SNMP v3 communication. This field is required when adding a user. When updating a user, do not include this field in the request. If this field is present in an update request, it will be considered as a new value for authentication password.
        title: |-
          Authentication password
        type: string
      priv_password:
        description: |-
          Privacy password used for SNMP v3 communication. This field is required when adding a user. When updating a user, do not include this field in the request. If this field is present in an update request, it will be considered as a new value for privacy password.
        title: |-
          Privacy password
        type: string
      security_level:
        default: AUTH_PRIV
        description: |-
          Security level indicates whether SNMP communication involves authentication and privacy protocols for this user. Value "AUTH_PRIV" indicates both authentication and privacy protocols will be used for SNMP communication.
        enum:
        - AUTH_PRIV
        title: |-
          Security level
        type: string
      user_id:
        description: |-
          Unique SNMP v3 user id.
        maxLength: 32
        minLength: 1
        title: |-
          User ID
        type: string
    required:
    - user_id
    title: |-
      SNMP v3 user
    type: object
    x-vmw-nsx-module: CentralConfig
  SoftwareModule:
    description: |-
      Software module details
    properties:
      module_name:
        description: |-
          Name of the module in the node
        title: |-
          Name of the module in the node
        type: string
      module_version:
        description: |-
          Version of the module in the node
        title: |-
          Version of the module in the node
        type: string
    required:
    - module_name
    - module_version
    title: |-
      Software module details
    type: object
    x-vmw-nsx-module: FabricNode
  SoftwareModuleResult:
    description: |-
      Software module result
    properties:
      software_modules:
        description: |-
          Software module results
        items:
          $ref: '#/definitions/SoftwareModule'
        title: |-
          Software module results
        type: array
    required:
    - software_modules
    title: |-
      Software module result
    type: object
    x-vmw-nsx-module: FabricNode
  SolutionConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        control_ip:
          description: |-
            Partner needs to specify their assigned control IP with which they have configured their OVFs.
          format: ipv4
          readOnly: false
          type: string
        listen_port:
          description: |-
            Partner needs to specify their port on which their solution application which consumes NXGI EPSec library listens.
          format: int32
          maximum: 48655
          minimum: 48651
          readOnly: false
          title: |-
            Port
          type: integer
        service_id:
          description: |-
            The service to which the service profile belongs.
          readOnly: true
          title: |-
            Service Id
          type: string
        solution_id:
          description: |-
            Partner needs to specify Solution Id assigned by VMware.
          readOnly: false
          title: |-
            Solution Id
          type: string
      required:
      - solution_id
      - listen_port
      - control_ip
      type: object
      x-vmw-nsx-module: Nxgi
    description: |-
      Solution Config would contain Vendor specific information required for configuring the NXGI partner Service after deployment.
    title: |-
      Solution Configuration Info
    x-vmw-nsx-module: Nxgi
  SolutionConfigListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Solution Config.
          items:
            $ref: '#/definitions/SolutionConfig'
          readOnly: true
          title: |-
            Solution Config List
          type: array
      type: object
      x-vmw-nsx-module: Nxgi
    description: |-
      Solution Config List
    title: |-
      Solution Config List
    x-vmw-nsx-module: Nxgi
  SourceEntity:
    description: |-
      Service insertion data path inserts unique 'source node id' value into each packet before it received by Service VM. This value can be resolved to multiple Source Entities. It represents source of the packets.
    properties:
      source_entity_id:
        description: |-
          UUID of Source entity
        readOnly: true
        title: |-
          Source entity ID
        type: string
      source_entity_type:
        description: |-
          Type of source entity. Currently source value can be resolved to VIF and Virtual Machine.
        enum:
        - VIRTUAL_NETWORK_INTERFACE
        - VIRTUAL_MACHINE
        readOnly: true
        title: |-
          Source entity type
        type: string
    title: |-
      Source entity
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  SourceEntityResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service Entities
          items:
            $ref: '#/definitions/SourceEntity'
          readOnly: true
          title: |-
            Service Entity List
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Service Entity List
    title: |-
      Service Entity List
    x-vmw-nsx-module: ServiceInsertion
  SourceNsxApiEndpoint:
    description: |-
      Details about an existing NSX manager to be migrated
    properties:
      auth_token:
        description: |-
          Auth token used to make REST calls to source NSX API endpoint. This field is not applicable in case of vSphere network migration.
        readOnly: false
        title: |-
          Source NSX auth token
        type: string
      ip:
        description: |-
          IP address or hostname of a source NSX API endpoint. This field is not applicable in case of vSphere network migration.
        format: hostname-or-ip
        readOnly: false
        title: |-
          Source NSX API endpoint IP address
        type: string
      nsx_password:
        description: |-
          Password for connecting to NSX manager. This field is not applicable in case of vSphere network migration.
        readOnly: false
        title: |-
          Password for NSX manager
        type: string
      nsx_syncrole:
        description: |-
          Signifies Universal Sync role status (STANDALONE, PRIMARY, SECONDARY) of a source NSX API endpoint.
        readOnly: true
        title: |-
          Source NSX API endpoint Universal Sync role
        type: string
      nsx_username:
        description: |-
          Username for connecting to NSX manager. This field is not applicable in case of vSphere network migration.
        readOnly: false
        title: |-
          Username for NSX manager
        type: string
      nsx_version:
        description: |-
          Build version (major, minor, patch) of a source NSX API endpoint.
        readOnly: true
        title: |-
          Source NSX API endpoint build version
        type: string
      vc_ip:
        description: |-
          IP address or host name of VC.
        format: hostname-or-ip
        readOnly: false
        title: |-
          VC IP address or host name
        type: string
      vc_password:
        description: |-
          Password for connecting to VC.
        readOnly: false
        title: |-
          Password for VC
        type: string
      vc_port:
        default: 443
        description: |-
          VC port that will be used to fetch details.
        format: int32
        readOnly: false
        title: |-
          VC port
        type: integer
      vc_username:
        description: |-
          Username for connecting to VC.
        readOnly: false
        title: |-
          Username for VC
        type: string
      vc_version:
        description: |-
          Build version of VC.
        readOnly: true
        title: |-
          VC build version
        type: string
    required:
    - vc_ip
    - vc_username
    title: |-
      Source NSX manager details
    type: object
    x-vmw-nsx-module: Migration
  SpoofGuardSwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        white_list_providers:
          description: |-
            List of providers for white listed address bindings.
          items:
            description: |-
              Ways to provide white listed addresses for SpoofGuard
            enum:
            - LPORT_BINDINGS
            - LSWITCH_BINDINGS
            type: string
          readOnly: false
          title: |-
            List of providers for white listed address bindings.
          type: array
      required:
      - white_list_providers
      type: object
      x-vmw-nsx-module: SpoofGuardSwitchingProfile
    description: |-
      SpoofGuard configuration
    title: |-
      SpoofGuard configuration
    x-vmw-nsx-module: SpoofGuardSwitchingProfile
  SshKeyBaseProperties:
    properties:
      label:
        description: |-
          SSH key label (used to identify the key)
        title: |-
          SSH key label (used to identify the key)
        type: string
      password:
        description: |-
          Current password for user (required for users root and admin)
        title: |-
          Current password for user (required for users root and admin)
        type: string
    required:
    - label
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SshKeyProperties:
    allOf:
    - $ref: '#/definitions/SshKeyBaseProperties'
    - properties:
        type:
          description: |-
            SSH key type
          title: |-
            SSH key type
          type: string
        value:
          description: |-
            SSH key value
          title: |-
            SSH key value
          type: string
      required:
      - type
      - value
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    x-vmw-nsx-module: MISSING_MODULE
  SshKeyPropertiesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            SSH key properties query results
          items:
            $ref: '#/definitions/SshKeyProperties'
          title: |-
            SSH key properties query results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: MISSING_MODULE
    description: |-
      SSH key properties query results
    title: |-
      SSH key properties query results
    x-vmw-nsx-module: MISSING_MODULE
  SshServiceProperties:
    description: |-
      SSH Service properties
    properties:
      start_on_boot:
        description: |-
          Start service when system boots
        title: |-
          Start service when system boots
        type: boolean
    required:
    - start_on_boot
    title: |-
      SSH Service properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  StandardHostSwitch:
    description: |-
      Standard host switch specification
    properties:
      cpu_config:
        description: |-
          CPU configuration specifies number of Logical cpu cores (Lcores) per Non Uniform Memory Access (NUMA) node dedicated to Enhanced Networking Stack enabled HostSwitch to get the best performance.
        items:
          $ref: '#/definitions/CpuCoreConfigForEnhancedNetworkingStackSwitch'
        readOnly: false
        title: |-
          Enhanced Networking Stack enabled HostSwitch CPU configuration
        type: array
      host_switch_id:
        description: |-
          This field is writable only in case of VDS type HostSwitch and system generated for NVDS type. For VDS type host switch, This field is used to lookup a VDS from corresponding Compute Manager and then can be configured for logical networking. For NVDS type host switch, This field is system generated and if provided will be overwritten.
        title: |-
          The host switch id. This ID will be used to reference a host switch.
        type: string
      host_switch_mode:
        description: |-
          STANDARD - This mode applies to all the hypervisors. ENS - This is the Enhanced Data Path switch mode. This mode provides accelerated networking performances but also introduces additional prerequisites. In order to benefit from this mode, workloads will be need to be compiled with DPDK and will use VMXNET3 for their vNIC. This mode is only available on ESX hypervisor (6.7 and above, recommended 6.7 U2 and above) and unavailable on KVM, EDGE and Public Cloud Gateway. Not all NSX features are available in this mode, please consult the documentation. ENS_INTERRUPT - This is an interrupt driven variant of the Enhanced Data Path mode. Please, consult your account representative for applicability. This mode is available only on ESX hypervisor (7.0 and above).
          If this property is specified, transport_zone_endpoints must be specified at StandardHostSwitch level.
        enum:
        - STANDARD
        - ENS
        - ENS_INTERRUPT
        readOnly: false
        title: |-
          Operational mode of a HostSwitch.
        type: string
      host_switch_name:
        default: nsxDefaultHostSwitch
        description: |-
          This field is writable only in case of NVDS type HostSwitch and system generated for VDS type. For NVDS type host switch, If this name is unset or empty then the default host switch name will be used. The name must be unique among all host switches specified in a given transport node; unset name, empty name and the default host switch name are considered the same in terms of uniqueness. For VDS type host switch, Manager fetches VDS name from corresponding Compute Manager and populates this field. If VDS name is given (correct or incorrect) it is ignored and overwritten with correct one.
        title: |-
          host switch name. This name will be used to reference a host switch.
        type: string
      host_switch_profile_ids:
        description: |-
          Host switch profiles bound to this host switch. If a profile ID is not provided for any HostSwitchProfileType that is supported by the transport node, the corresponding default profile will be bound to the host switch.
        items:
          $ref: '#/definitions/HostSwitchProfileTypeIdEntry'
        title: |-
          Identifiers of host switch profiles to be associated with this host switch.
        type: array
      host_switch_type:
        default: NVDS
        description: |-
          VDS represents VMware vSphere Distributed Switch from vSphere that is used as HostSwitch through TransportNode or TransportNodeProfile configuration. When VDS is used as a HostSwitch, Hosts have to be added to VDS from vSphere and VDS instance is created on Hosts. To configure NSX on such hosts, you can use this VDS as a HostSwitch from NSX manager. vCenter has the ownership of MTU, LAG, NIOC and LLDP configuration of such VDS backed HostSwitch. Remaining configuration (e.g. UplinkHostswitchProfile) will be managed by NSX.
          NVDS represents NSX Virtual Switch which is NSX native HostSwitch. All configurations of NVDS will be managed by NSX.
        enum:
        - NVDS
        - VDS
        title: |-
          Type of HostSwitch
        type: string
      ip_assignment_spec:
        $ref: '#/definitions/IpAssignmentSpec'
        description: |-
          IPs can come from either a static IP pool or an explicitly specified IP list or DHCP. In case a list of IP is specified, the number of IPs provided should be sufficient as per teaming policy associated with host switch uplink profile.
        readOnly: false
        title: |-
          Specification for IPs to be used with host switch virtual tunnel endpoints
      is_migrate_pnics:
        default: false
        description: |-
          If the pnics specified in the pnics field are used by a single Vsphere Standard Switch or DVS, then migrate the pnics to N-VDS. If any two pnics are not used by the same Vsphere Standard Switch or DVS, it is not supported. In such cases, please migrate them in multiple steps, one Vsphere Standard Switch or DVS at a time.
        title: |-
          Migrate any pnics which are in use
        type: boolean
      pnics:
        description: |-
          Pnics are specified when HostSwitch is of type NVDS. When using the Quick Start workflow on 7.0 clusters, pnic information will be populated by the recommendation when providing a VDS HostSwitch based on a VSS HostSwitch.
        items:
          $ref: '#/definitions/Pnic'
        title: |-
          Physical NICs connected to the host switch
        type: array
      pnics_uninstall_migration:
        description: |-
          This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The pnics to be migrated out to a non N-VDS switch during transport node deletion.
        items:
          $ref: '#/definitions/Pnic'
        title: |-
          Physical NICs connected to a switch
        type: array
      transport_zone_endpoints:
        description: |-
          List of TransportZones that are to be associated with specified host switch.
          If this property is specified, host_switch_mode at StandardHostSwitch level must be specified.
        items:
          $ref: '#/definitions/TransportZoneEndPoint'
        readOnly: false
        title: |-
          Transport zone endpoints.
        type: array
      uplinks:
        description: |-
          If VDS is used as a HostSwitch this attribute must be specified. You can associate uplinks from UplinkHostSwitchProfile to either VDS uplink or LAG. VDS uplink or LAG will inherit the global VDS level teaming policy from vSphere. NSX managed uplink or LAG will have NSX teaming policy configured through UplinkHostSwitchProfile.
        items:
          $ref: '#/definitions/VdsUplink'
        title: |-
          Uplink/LAG of VMware vSphere Distributed Switch connected to the HostSwitch
        type: array
      vmk_install_migration:
        description: |-
          This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The vmk interfaces and the associated logical switches on the host switch. The state of this field is realized on the transport node during creation and update.
        items:
          $ref: '#/definitions/VmknicNetwork'
        title: |-
          The vmknic and logical switch mappings
        type: array
      vmk_uninstall_migration:
        description: |-
          This is only supported for NVDS type of host switch. If this is specified for VDS type of host switch, an error will be returned to user. The vmk interfaces and the associated portgroups on the VSS/DVS. This field is realized on the host during transport node deletion or NSX uninstallation to specify the destination for all vmks on N-VDS switches.
        items:
          $ref: '#/definitions/VmknicNetwork'
        title: |-
          The vmknic and portgroup mappings
        type: array
    title: |-
      Standard host switch specification
    type: object
    x-vmw-nsx-module: TransportNode
  StandardHostSwitchSpec:
    allOf:
    - $ref: '#/definitions/HostSwitchSpec'
    - properties:
        host_switches:
          description: |-
            Transport Node host switches
          items:
            $ref: '#/definitions/StandardHostSwitch'
          minItems: 0
          title: |-
            Transport Node host switches
          type: array
      required:
      - host_switches
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Standard host switch specification is used for NSX configured transport node.
    title: |-
      Specification of transport node standard host switch
    x-vmw-nsx-module: TransportNode
  StandbyRelocationConfig:
    description: |-
      Standby service contexts relocation setting
    properties:
      standby_relocation_threshold:
        default: 30
        description: |
          The time interval (in minutes) to wait before starting the standby
          service context relocation process.
        format: int64
        maximum: 20000
        minimum: 10
        title: |-
          Standby service context relocation wait time
        type: integer
    title: |-
      Standby service contexts relocation setting
    type: object
    x-vmw-nsx-module: EdgeHighAvailabilityProfile
  StatItem:
    description: |-
      Displayed as a single number. It can be used to show the characteristics of entities such as Logical Switches, Firewall Rules, and so on. For example, number of logical switches and their admin states.
    properties:
      drilldown_id:
        description: |-
          Id of drilldown widget, if any. Id should be a valid id of an existing widget.
        title: |-
          Id of drilldown widget
        type: string
      tooltip:
        description: |-
          Multi-line text to be shown on tooltip while hovering over the stat.
        items:
          $ref: '#/definitions/Tooltip'
        minItems: 0
        title: |-
          Multi-line tooltip
        type: array
      total:
        description: |-
          If expression for total is specified, it evaluates it. Total can be omitted if not needed to be shown.
        title: |-
          Total
        type: string
      value:
        description: |-
          Expression for stat to be displayed.
        maxLength: 1024
        title: |-
          Stat
        type: string
    required:
    - value
    title: |-
      Statistic of an entity
    type: object
    x-vmw-nsx-module: NsxDashboard
  StaticFilter:
    description: |-
      Static filters
    properties:
      display_name:
        description: |-
          display name to be shown in the drop down for static filter.
        maxLength: 1024
        title: |-
          Display name for static filter
        type: string
      value:
        description: |-
          Value of static filter inside dropdown filter.
        title: |-
          Value of static filter
        type: string
    title: |-
      Static filters
    type: object
    x-vmw-nsx-module: NsxDashboard
  StaticHopBfdPeer:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        bfd_config:
          $ref: '#/definitions/BfdConfigParameters'
          description: |-
            If not specified then BFD peer will inherit configuration from the BFD global config.
          title: |-
            Configuration for the BFD peer
        enabled:
          default: true
          description: |-
            Indicate BFD peer is enabled or disabled. Default is true.
          title: |-
            status of BFD peer
          type: boolean
        peer_ip_address:
          description: |-
            IP address of BFD peer. This should be same as next hop IP address.
          format: ip
          type: string
        source_addresses:
          description: |-
            BFD peers will be created from all these source addresses to this neighbour.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 8
          title: |-
            Array of Logical Router Uplink IP Addresses
          type: array
      required:
      - peer_ip_address
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  StaticHopBfdPeerListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            static hop BFD peer list results
          items:
            $ref: '#/definitions/StaticHopBfdPeer'
          readOnly: true
          title: |-
            static hop BFD peer list results
          type: array
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  StaticIpListSpec:
    allOf:
    - $ref: '#/definitions/IpAssignmentSpec'
    - properties:
        default_gateway:
          description: |-
            Gateway IP
          format: ip
          readOnly: false
          type: string
        ip_list:
          description: |-
            List of IPs for transport node host switch virtual tunnel endpoints
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 32
          readOnly: false
          title: |-
            List of IPs for transport node host switch virtual tunnel endpoints
          type: array
        subnet_mask:
          description: |-
            Subnet mask
          format: ip
          readOnly: false
          type: string
      required:
      - subnet_mask
      - ip_list
      - default_gateway
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      IP assignment specification for Static IP List.
    title: |-
      IP assignment specification for Static IP List.
    x-vmw-nsx-module: TransportNode
  StaticIpMacListSpec:
    allOf:
    - $ref: '#/definitions/IpAssignmentSpec'
    - properties:
        default_gateway:
          description: |-
            Gateway IP
          format: ip
          readOnly: false
          type: string
        ip_mac_list:
          description: |-
            List of IPs and MACs for transport node host switch virtual tunnel endpoints
          items:
            $ref: '#/definitions/IpMacPair'
          maxItems: 32
          readOnly: false
          title: |-
            List of IPs and MACs for transport node host switch virtual tunnel endpoints
          type: array
        subnet_mask:
          description: |-
            Subnet mask
          format: ip
          readOnly: false
          type: string
      required:
      - subnet_mask
      - ip_mac_list
      - default_gateway
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      IP and MAC assignment specification for Static IP List.
    title: |-
      IP and MAC assignment specification for Static IP List.
    x-vmw-nsx-module: TransportNode
  StaticIpPoolSpec:
    allOf:
    - $ref: '#/definitions/IpAssignmentSpec'
    - properties:
        ip_pool_id:
          readOnly: false
          type: string
      required:
      - ip_pool_id
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      IP assignment specification for Static IP Pool.
    title: |-
      IP assignment specification for Static IP Pool.
    x-vmw-nsx-module: TransportNode
  StaticRoute:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        logical_router_id:
          description: |-
            Logical router id
          readOnly: true
          title: |-
            Logical router id
          type: string
        network:
          description: |-
            CIDR
          format: ip-cidr-block
          type: string
        next_hops:
          description: |-
            Next Hops
          items:
            $ref: '#/definitions/StaticRouteNextHop'
          minItems: 1
          title: |-
            Next Hops
          type: array
      required:
      - next_hops
      - network
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  StaticRouteListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paginated list of static routes
          items:
            $ref: '#/definitions/StaticRoute'
          title: |-
            Paginated list of static routes
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Routing
    x-vmw-nsx-module: Routing
  StaticRouteNextHop:
    properties:
      administrative_distance:
        default: 1
        description: |-
          Administrative Distance for the next hop IP
        format: int64
        maximum: 255
        minimum: 1
        title: |-
          Administrative Distance for the next hop IP
        type: integer
      bfd_enabled:
        default: false
        description: |-
          Status of bfd for this next hop where bfd_enabled = true indicate bfd is enabled for this next hop and bfd_enabled = false indicate bfd peer is disabled or not configured for this next hop.
        readOnly: true
        title: |-
          Status of bfd for this next hop where bfd_enabled = true indicate bfd is enabled for this next hop and bfd_enabled = false indicate bfd peer is disabled or not configured for this next hop.
        type: boolean
      blackhole_action:
        description: |-
          Action to be taken on matching packets for NULL routes.
        enum:
        - DISCARD
        readOnly: true
        type: string
      ip_address:
        description: |-
          Next Hop IP
        format: ip
        type: string
      logical_router_port_id:
        $ref: '#/definitions/ResourceReference'
        description: |-
          Reference of logical router port to be used for next hop
        title: |-
          Reference of logical router port to be used for next hop
    type: object
    x-vmw-nsx-module: Routing
  StatsConfiguration:
    allOf:
    - $ref: '#/definitions/WidgetConfiguration'
    - properties:
        label:
          $ref: '#/definitions/Label'
          description: |-
            Displayed at the sections, by default. It labels the entities of sections. If label is not provided, the sections are not labelled.
          title: |-
            Label of the Stats Configuration
        navigation:
          description: |-
            Hyperlink of the specified UI page that provides details.
          maxLength: 1024
          title: |-
            Navigation to a specified UI page
          type: string
        sections:
          description: |-
            Sections
          items:
            $ref: '#/definitions/DonutSection'
          minItems: 0
          title: |-
            Sections
          type: array
        stat:
          $ref: '#/definitions/StatItem'
          description: |-
            Expression that fetches statistic. It can be used to show the characteristics of entities such as Logical Switches, Firewall Rules, and so on. For example, number of logical switches and their admin states. If stat is not provided, then it will not be displayed.
          title: |-
            Expression for feching statistic of an entity
        sub_type:
          description: |-
            A sub-type of StatsConfiguration. If sub-type is not specified the parent type is rendered. The COMPACT sub_type, conserves the space for the widget. The statistic is placed on the right side on top of the status bar and the title of the widget is placed on the left side on the top of the status bar. The COMPACT style aligns itself horizontally as per the width of the container. If multiple widgets are placed insided the container then the widgets are placed one below the other to conserve the space.
          enum:
          - COMPACT
          title: |-
            Sub-type of the StatsConfiguration
          type: string
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Represents configuration of a statistic for an entity. Example, number of logical switches and their admin states.
    title: |-
      Stats Configuration
    x-vmw-nsx-module: NsxDashboard
  StatusCount:
    properties:
      degraded_count:
        description: |-
          Degraded count
        format: int32
        title: |-
          Degraded count
        type: integer
      down_count:
        description: |-
          Down count
        format: int32
        title: |-
          Down count
        type: integer
      status:
        description: |-
          Roll-up status
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        title: |-
          Roll-up status
        type: string
      up_count:
        description: |-
          Up count
        format: int32
        title: |-
          Up count
        type: integer
    type: object
    x-vmw-nsx-module: Heatmap
  StructuredData:
    description: |-
      Structured data entry in RFC5424 log format
    properties:
      audit:
        description: |-
          Audit flag of the log
        title: |-
          Audit flag of the log
        type: string
      comp:
        description: |-
          Component value of the log
        title: |-
          Component value of the log
        type: string
      ent_id:
        description: |-
          Entity Id value of the log
        title: |-
          Entity Id value of the log
        type: string
      ereq_id:
        description: |-
          External request Id value of the log
        title: |-
          External request Id value of the log
        type: string
      error_code:
        description: |-
          Error Code value of the log
        title: |-
          Error Code value of the log
        type: string
      level:
        description: |-
          Level value of the log
        title: |-
          Level value of the log
        type: string
      req_id:
        description: |-
          Request Id value of the log
        title: |-
          Request Id value of the log
        type: string
      s2comp:
        description: |-
          Sub-subcomponent value of the log
        title: |-
          Sub-subcomponent value of the log
        type: string
      security:
        description: |-
          Security flag of the log
        title: |-
          Security flag of the log
        type: string
      subcomp:
        description: |-
          Subcomponent value of the log
        title: |-
          Subcomponent value of the log
        type: string
      username:
        description: |-
          Username value of the log
        title: |-
          Username value of the log
        type: string
    required:
    - audit
    - comp
    - subcomp
    title: |-
      Structured data entry in RFC5424 log format
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SubPool:
    properties:
      remaining_credit_number:
        description: |
          Credits remaining on the sub-pool that can be used to deploy services of
          corresponding sub-pool type.
        format: int32
        readOnly: true
        title: |-
          Remaining credit number of the sub-pool
        type: integer
      sub_pool_type:
        description: |-
          Type of the sub-pool configured on edge node.
        readOnly: true
        title: |-
          Sub-pool Type
        type: string
      usage_percentage:
        description: |
          Percentage utlization of sub-pool based on the number of services
          configured and the hard limits, if any.
        readOnly: true
        title: |-
          Percentage utlization of sub-pool
        type: number
    type: object
    x-vmw-nsx-module: EdgeClusters
  SuccessNodeSupportBundleResult:
    properties:
      bundle_name:
        description: |-
          Name of support bundle, e.g. nsx_NODETYPE_UUID_YYYYMMDD_HHMMSS.tgz
        readOnly: true
        title: |-
          Name of support bundle, e.g. nsx_NODETYPE_UUID_YYYYMMDD_HHMMSS.tgz
        type: string
      bundle_size:
        description: |-
          Size of support bundle in bytes
        format: int64
        readOnly: true
        title: |-
          Size of support bundle in bytes
        type: integer
      node_display_name:
        description: |-
          Display name of node
        readOnly: true
        title: |-
          Display name of node
        type: string
      node_id:
        description: |-
          UUID of node
        readOnly: true
        title: |-
          UUID of node
        type: string
      sha256_thumbprint:
        description: |-
          File's SHA256 thumbprint
        readOnly: true
        title: |-
          File's SHA256 thumbprint
        type: string
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SummaryMigrationFeedbackRequest:
    description: |-
      Minimal description of feedback requests.
    properties:
      details:
        description: |-
          Details about this specific feedback request.
        readOnly: true
        title: |-
          Details about this specific feedback request
        type: string
      id:
        description: |-
          Identifier of the feedback request.
        readOnly: true
        title: |-
          UUID of the feedback request
        type: string
      object_id:
        description: |-
          Identifier of the object for which feedback is requested.
        readOnly: true
        title: |-
          UUID of the object
        type: string
      rejected:
        description: |-
          Indicates if previous response was invalid. Please provide a valid response.
        readOnly: true
        title: |-
          Indicates if the previous feedback response was rejected
        type: boolean
      resolution:
        description: |-
          If the feedback request was resolved earlier, provides details about the previous resolution.
        readOnly: true
        title: |-
          Previous resolution details for this feedback request
        type: string
      resolved:
        description: |-
          Indicates if a valid response already exist for this feedback request.
        readOnly: true
        title: |-
          Indicates if this feedback request has already been resolved
        type: boolean
      v_object_id:
        description: |-
          Identifier for this object in the source NSX endpoint.
        readOnly: true
        title: |-
          Id of this object in the source NSX endpoint
        type: string
      v_object_name:
        description: |-
          Name of this object in the source NSX endpoint.
        readOnly: true
        title: |-
          Name of this object in the source NSX endpoint
        type: string
    title: |-
      Feedback detail required for Migration
    type: object
    x-vmw-nsx-module: Migration
  SupportBundleFileTransferAuthenticationScheme:
    properties:
      password:
        description: |-
          Password to authenticate with
        title: |-
          Password to authenticate with
        type: string
      scheme_name:
        description: |-
          Authentication scheme name
        enum:
        - PASSWORD
        title: |-
          Authentication scheme name
        type: string
      username:
        description: |-
          User name to authenticate with
        title: |-
          User name to authenticate with
        type: string
    required:
    - username
    - scheme_name
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SupportBundleFileTransferProtocol:
    properties:
      authentication_scheme:
        $ref: '#/definitions/SupportBundleFileTransferAuthenticationScheme'
        description: |-
          Scheme to authenticate if required
        title: |-
          Scheme to authenticate if required
      name:
        description: |-
          Protocol name
        enum:
        - SCP
        - SFTP
        title: |-
          Protocol name
        type: string
      ssh_fingerprint:
        description: |-
          SSH fingerprint of server
        title: |-
          SSH fingerprint of server
        type: string
    required:
    - ssh_fingerprint
    - name
    - authentication_scheme
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SupportBundleRemoteFileServer:
    description: |-
      Remote file server
    properties:
      directory_path:
        description: |-
          Remote server directory to copy bundle files to
        title: |-
          Remote server directory to copy bundle files to
        type: string
      manager_upload_only:
        default: false
        description: |-
          Uploads to the remote file server performed by the manager
        title: |-
          Uploads to the remote file server performed by the manager
        type: boolean
      port:
        default: 22
        description: |-
          Server port
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Server port
        type: integer
      protocol:
        $ref: '#/definitions/SupportBundleFileTransferProtocol'
        description: |-
          Protocol to use to copy file
        title: |-
          Protocol to use to copy file
      server:
        description: |-
          Remote server hostname or IP address
        title: |-
          Remote server hostname or IP address
        type: string
    required:
    - directory_path
    - protocol
    - server
    title: |-
      Remote file server
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SupportBundleRequest:
    properties:
      content_filters:
        default:
        - DEFAULT
        description: |-
          Bundle should include content of specified type
        items:
          description: |-
            Support bundle content filter allowed values
          enum:
          - ALL
          - DEFAULT
          type: string
        minItems: 1
        title: |-
          Bundle should include content of specified type
        type: array
      log_age_limit:
        description: |-
          Include log files with modified times not past the age limit in days
        format: int64
        minimum: 1
        title: |-
          Include log files with modified times not past the age limit in days
        type: integer
      nodes:
        description: |-
          List of cluster/fabric node UUIDs processed in specified order
        items:
          type: string
        minItems: 1
        title: |-
          List of cluster/fabric node UUIDs processed in specified order
        type: array
      remote_file_server:
        $ref: '#/definitions/SupportBundleRemoteFileServer'
        description: |-
          Remote file server to copy bundles to, bundle in response body if not specified
        title: |-
          Remote file server to copy bundles to, bundle in response body if not specified
    required:
    - nodes
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SupportBundleResult:
    properties:
      failed_nodes:
        description: |-
          Nodes where bundles were not generated or not copied to remote server
        items:
          $ref: '#/definitions/FailedNodeSupportBundleResult'
        readOnly: true
        title: |-
          Nodes where bundles were not generated or not copied to remote server
        type: array
      remaining_nodes:
        description: |-
          Nodes where bundle generation is pending or in progress
        items:
          $ref: '#/definitions/RemainingSupportBundleNode'
        title: |-
          Nodes where bundle generation is pending or in progress
        type: array
      request_properties:
        $ref: '#/definitions/SupportBundleRequest'
        description: |-
          Request properties
        readOnly: true
        title: |-
          Request properties
      success_nodes:
        description: |-
          Nodes whose bundles were successfully copied to remote file server
        items:
          $ref: '#/definitions/SuccessNodeSupportBundleResult'
        readOnly: true
        title: |-
          Nodes whose bundles were successfully copied to remote file server
        type: array
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  SupportedHostOSListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Supported host OS list results
          items:
            type: string
          readOnly: true
          title: |-
            Supported host OS list results
          type: array
      type: object
      x-vmw-nsx-module: HostPrepServiceFabric
    description: |-
      REST interface for supported host OS types.
    title: |-
      Supported host OS list result
    x-vmw-nsx-module: HostPrepServiceFabric
  SwitchSecuritySwitchingProfile:
    allOf:
    - $ref: '#/definitions/BaseSwitchingProfile'
    - properties:
        block_non_ip_traffic:
          default: false
          description: |-
            A flag to block all traffic except IP/(G)ARP/BPDU
          readOnly: false
          title: |-
            A flag to block all traffic except IP/(G)ARP/BPDU
          type: boolean
        bpdu_filter:
          $ref: '#/definitions/BpduFilter'
          description: |
            BPDU filtering is enabled by default. A pre-defined list of MAC addresses
            are automatically excluded from BPDU filtering.
          readOnly: false
          title: |-
            Enables or disables BPDU filtering
        dhcp_filter:
          $ref: '#/definitions/DhcpFilter'
          description: |-
            DHCP server blocking is enabled and client blocking is disabled by default
          readOnly: false
          title: |-
            Filters DHCP server and/or client traffic.
        ra_guard_enabled:
          default: true
          description: |-
            RA Guard when enabled blocks unauthorized/rogue Router Advertisement (RA) packets.
          readOnly: false
          title: |-
            Indicates whether ra guard should be enabled
          type: boolean
        rate_limits:
          $ref: '#/definitions/RateLimits'
          description: |-
            Rate limiting is disabled by default
          readOnly: false
          title: |-
            Allows configuration of rate limits for broadcast and multicast traffic
      type: object
      x-vmw-nsx-module: SwitchSecuritySwitchingProfile
    x-vmw-nsx-module: SwitchSecuritySwitchingProfile
  SwitchingGlobalConfig:
    allOf:
    - $ref: '#/definitions/GlobalConfigs'
    - properties:
        arp_limit_per_lr:
          default: 50000
          description: |
            This is a global max ARP limit per logical router per transport
            node. It is applied to all the logical routers present on all types
            of transport nodes in the NSX domain. Updates to the field are
            allowed only through /policy/api/v1/infra/global-config API.
          format: int32
          maximum: 50000
          minimum: 5000
          title: |-
            ARP limit per logical router per transport node
          type: integer
        global_replication_mode_enabled:
          default: false
          description: |-
            When this flag is set true, certain types of BUM packets will be sent to all VTEPs in the global VTEP table, ignoring the logical switching span.
          title: |-
            A flag to indicate if global replication mode is enabled
          type: boolean
        physical_uplink_mtu:
          default: 1700
          description: |-
            This is the global default MTU for all the physical uplinks in a NSX domain. This is the default value for the optional uplink profile MTU field. When the MTU value is not specified in the uplink profile, this global value will be used. This value can be overridden by providing a value for the optional MTU field in the uplink profile. Whenever this value is updated, the updated value will only be propagated to the uplinks that don't have the MTU value in their uplink profiles. If this value is not set, the default value of 1700 will be used. The Transport Node state can be monitored to confirm if the updated MTU value has been realized.
          format: int32
          readOnly: false
          title: |-
            MTU for the physical uplinks
          type: integer
        remote_tunnel_physical_mtu:
          default: 1700
          description: |-
            This is the global default MTU for all the physical remote tunnel endpoints in an NSX domain. Please consider intersite link MTU minus any external overhead when defining the MTU. If this value is not set, the default value of 1500 will be used.
          format: int32
          readOnly: false
          title: |-
            The physical MTU for the remote tunnel endpoints
          type: integer
        uplink_mtu_threshold:
          default: 9000
          description: |-
            This value defines the upper threshold for the MTU value that can be configured at a physical uplink level or a logical routing uplink level in a NSX domain. All Uplink profiles validate against this value so that the MTU specified in an Uplink profile does not exceed this global upper threshold. Similarly, when this value is modified, the new value must be greater than or equal to any existing Uplink profile's MTU. This value is also validated to be greater than or equal to physical_uplink_mtu in SwitchingGlobalConfig and logical_uplink_mtu in RoutingGlobalConfig.
          format: int32
          readOnly: false
          title: |-
            Upper threshold for MTU on physical and logical uplinks
          type: integer
      type: object
      x-vmw-nsx-module: GlobalConfigs
    description: |-
      NSX global configs for switching
    title: |-
      NSX global configs for switching
    x-vmw-nsx-module: GlobalConfigs
  SwitchingProfileStatus:
    properties:
      num_logical_ports:
        description: |-
          Number of logical ports using a switching profile
        format: int64
        readOnly: true
        title: |-
          Number of logical ports using a switching profile
        type: integer
      num_logical_switches:
        description: |-
          Number of logical switches using a switching profile
        format: int64
        readOnly: true
        title: |-
          Number of logical switches using a switching profile
        type: integer
      switching_profile_id:
        description: |-
          Identifier for the switching profile
        title: |-
          Identifier for the switching profile
        type: string
    type: object
    x-vmw-nsx-module: BaseSwitchingProfile
  SwitchingProfileTypeIdEntry:
    properties:
      key:
        description: |
          Supported switching profiles.
          'PortMirroringSwitchingProfile' is deprecated, please turn to
          "Troubleshooting And Monitoring: Portmirroring" and use
          PortMirroringSession API for port mirror function.
        enum:
        - QosSwitchingProfile
        - PortMirroringSwitchingProfile
        - IpDiscoverySwitchingProfile
        - SpoofGuardSwitchingProfile
        - SwitchSecuritySwitchingProfile
        - MacManagementSwitchingProfile
        type: string
      value:
        description: |-
          key value
        readOnly: false
        type: string
    required:
    - value
    type: object
    x-vmw-nsx-module: BaseSwitchingProfile
  SwitchingProfilesListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Switching Profile Results
          items:
            $ref: '#/definitions/BaseSwitchingProfile'
          readOnly: true
          title: |-
            Switching Profile Results
          type: array
      type: object
      x-vmw-nsx-module: BaseSwitchingProfile
    description: |-
      Switching Profile queries result
    title: |-
      Switching Profile queries result
    x-vmw-nsx-module: BaseSwitchingProfile
  SwitchingToVmcModeParameters:
    allOf:
    - $ref: '#/definitions/NodeMode'
    - properties:
        auth_code:
          $ref: '#/definitions/Oauth2Credentials'
          description: |-
            Client's credentials.
          title: |-
            Auth Code
        base_url:
          description: |-
            Protocol and domain name (or IP address) of a CSP server, like "https://console-stg.cloud.vmware.com".
          title: |-
            CSP base URL
          type: string
        basic_auth_whitelist_ips:
          description: |-
            List of whitelist IPs for basic auth
          items:
            type: string
          title: |-
            Whitelist IPs
          type: array
        csp_client_credential:
          $ref: '#/definitions/Oauth2Credentials'
          description: |-
            Client's credentials on CSP server
          title: |-
            CSP Client Credential
        csp_client_incoming_credentials:
          description: |-
            List of incoming client IDs
          items:
            type: string
          title: |-
            CSP client incoming credentials
          type: array
        csp_org_uri:
          description: |-
            Relative path on CSP server to the Org location. Can be "/csp/gateway/am/api/orgs/".
          title: |-
            Relative path to CSP Org
          type: string
        csp_time_drift:
          description: |-
            CSP time drift in milliseconds
          format: int64
          title: |-
            CSP time drift
          type: integer
        default_org_id:
          description: |-
            Org ID of a Client - commonly UUID.
          title: |-
            Org ID of a Client
          type: string
        ea_org:
          $ref: '#/definitions/OrgInfo'
          description: |-
            Org ID and role of "Site Reliability Engineer"
          title: |-
            Org Info for "Site Reliability Engineer"
        gss_org:
          $ref: '#/definitions/OrgInfo'
          description: |-
            Org ID and role of "Global Support Services"
          title: |-
            Org Info for "Global Support Services"
        mode_change_only:
          description: |-
            When this parameter is set to true, only a change of the node mode happens without any update to the auth properties. When this param is not set to true i.e. set to false or not provided, mode change and update to the auth properties will both happen.
          title: |-
            Only change node  mode
          type: boolean
        proxy_host:
          description: |-
            IP/host of PoP (Point-of-Presence) HTTP proxy server
          format: hostname-or-ipv4
          type: string
        proxy_port:
          description: |-
            Port of PoP (Point-of-Presence) Http proxy server
          format: int64
          maximum: 65535
          minimum: 1
          title: |-
            Port of PoP (Point-of-Presence) Http proxy server
          type: integer
        resource_type:
          default: SwitchingToVmcModeParameters
          description: |-
            Node Mode type
          enum:
          - SwitchingToVmcModeParameters
          title: |-
            Node Mode type
          type: string
        sddc_id:
          description: |-
            SDDC id
          title: |-
            SDDC id
          type: string
        service_definition_id:
          description: |-
            Service definition id
          title: |-
            Service definition id
          type: string
        sre_org:
          $ref: '#/definitions/OrgInfo'
          description: |-
            Org ID and role of "Enterprise Admin"
          title: |-
            Org Info for "Enterprise Admin"
      type: object
      x-vmw-nsx-module: ApplianceModes
    description: |-
      Possible values of a mode in a "/config/nsx_appliance_mode" file
    title: |-
      Parameters required to switch to VMC nsx node mode
    x-vmw-nsx-module: ApplianceModes
  SyslogConfiguration:
    description: |-
      Syslog server configuration parameters
    properties:
      log_level:
        default: INFO
        description: |
          Log level that needs to be redirected.
        enum:
        - EMERGENCY
        - ALERT
        - CRITICAL
        - ERROR
        - WARNING
        - NOTICE
        - INFO
        - DEBUG
        title: |-
          Log level to be redirected
        type: string
      name:
        description: |-
          Display name of the syslog server
        title: |-
          Display name of the syslog server
        type: string
      port:
        default: '514'
        description: |
          Syslog server listening port.
        format: port-or-range
        type: string
      protocol:
        default: UDP
        description: |
          Supported Syslog protocol.
        enum:
        - TCP
        - UDP
        - TLS
        - LI
        - LI_TLS
        title: |-
          Syslog protocol
        type: string
      server:
        description: |
          Syslog server Ip or fqdn.
        title: |-
          Server Ip or fqdn
        type: string
    required:
    - server
    title: |-
      Syslog server configuration
    type: object
    x-vmw-nsx-module: FabricNode
  SyslogExporter:
    description: |-
      This object specifies what, where and how logs on NSX nodes are forwarded.
    properties:
      max_log_level:
        description: |-
          Maximum logging level for messages to be exported.
        enum:
        - EMERG
        - ALERT
        - CRIT
        - ERR
        - WARNING
        - NOTICE
        - INFO
        - DEBUG
        title: |-
          LogLevel
        type: string
      port:
        default: 514
        description: |-
          Server port on which syslog listener is listening.
        format: int64
        maximum: 65535
        minimum: 1
        title: |-
          Syslog port
        type: integer
      protocol:
        description: |-
          Protocol to be used to export logs to syslog server.
        enum:
        - TCP
        - UDP
        - LI
        title: |-
          Protocol
        type: string
      server:
        description: |-
          Syslog server IP address or hostname.
        format: hostname-or-ipv4
        type: string
    required:
    - max_log_level
    - protocol
    - server
    title: |-
      Syslog exporter properties
    type: object
    x-vmw-nsx-module: CentralConfig
  SyslogProperties:
    description: |-
      This object contains list of syslog exporters used by NSX nodes.
    properties:
      exporters:
        description: |-
          List of syslog exporters.
        items:
          $ref: '#/definitions/SyslogExporter'
        title: |-
          Syslog exporters
        type: array
    required:
    - exporters
    title: |-
      Syslog service properties
    type: object
    x-vmw-nsx-module: CentralConfig
  SystemHealthAgentProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        config:
          description: |-
            The config content of System Health Agent
          title: |-
            Profile Content
          type: string
        enabled:
          description: |-
            The on-off switch of System Health Agent
          title: |-
            Profile Enablement Flag
          type: boolean
        plugin_id:
          description: |-
            The id of System Health Agent plugin
          title: |-
            Plugin id
          type: string
        type:
          description: |
            The type of System Health Agent.
            The System Health Agent plugin associated with given plugin id has already defined the profile type.
            So the backend can obtain the type by the plugin definition directly. Mark this field as optional.
            If need to check the type value by given plugin id, please call /systemhealth/plugins/<plugin-id>.
          enum:
          - COMPUTE
          - STORAGE
          - NETWORK
          - HYPERBUS
          - NCP
          - NODEAGENT
          - VSAN
          - TNAGENT
          - UPLINK
          type: string
      required:
      - plugin_id
      - config
      type: object
      x-vmw-nsx-module: SystemHealthAgent
    description: |
      Describes a profile to define a kind of system health agent.
    title: |-
      System Health Agent Profile Entity
    x-vmw-nsx-module: SystemHealthAgent
  SystemHealthAgentProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            System Health Profile List
          items:
            $ref: '#/definitions/SystemHealthAgentProfile'
          readOnly: true
          title: |-
            System Health Profile List
          type: array
      type: object
      x-vmw-nsx-module: SystemHealthAgent
    description: |-
      The list result for query of system health profile entity.
    title: |-
      List of System Health Profiles
    x-vmw-nsx-module: SystemHealthAgent
  SystemHealthPluginProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        config:
          $ref: '#/definitions/SHAPredefinedPluginProfileData'
          description: |
            Display the default config of pre defined plugin.
            The config can be changed by API /systemhealth/profiles.
            To see the effective status on given node, use the status API per node
            /systemhealth/plugins/status/<node-id>.
          readOnly: true
          title: |-
            The pre defind plugin profile
        enabled:
          description: |
            Display the default on-off switch of pre defined plugin.
            The config can be changed by API /systemhealth/profiles.
            To see the effective status on given node, use the status API per node
            /systemhealth/plugins/status/<node-id>.
          readOnly: true
          title: |-
            Plugin Enablement Flag
          type: boolean
        node_types:
          description: |
            Display the running node types of pre-defined plugin.
            The config can be changed by API /systemhealth/profiles.
            To see the effective status on given node, use the status API per node
            /systemhealth/plugins/status/<node-id>.
          items:
            description: |-
              Valid NSX node type
            enum:
            - NSX_ESX
            - NSX_KVM
            - NSX_BAREMETAL_SERVER
            - NSX_EDGE
            - NSX_PUBLIC_CLOUD_GATEWAY
            - NSX_MANAGER
            - NSX_POLICY_MANAGER
            - NSX_CONTROLLER
            - GLOBAL_MANAGER
            type: string
          readOnly: true
          title: |-
            The supported node types
          type: array
        publisher:
          description: |-
            The publisher of System Health Agent plugin
          title: |-
            Plugin publisher
          type: string
        type:
          default: NETWORK
          description: |-
            The type of System Health Agent plugin
          enum:
          - COMPUTE
          - STORAGE
          - NETWORK
          - HYPERBUS
          - NCP
          - NODEAGENT
          - VSAN
          - TNAGENT
          - UPLINK
          type: string
      type: object
      x-vmw-nsx-module: SystemHealthPlugin
    description: |
      Describes a profile to define a kind of system health plugin.
    title: |-
      System Health Plugin Profile
    x-vmw-nsx-module: SystemHealthPlugin
  SystemHealthPluginProfileList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        result_count:
          description: |-
            Total plugin count
          format: int64
          title: |-
            Total plugin count
          type: integer
        results:
          description: |-
            System Health plugin list
          items:
            $ref: '#/definitions/SystemHealthPluginProfile'
          title: |-
            System Health plugin list
          type: array
      required:
      - result_count
      type: object
      x-vmw-nsx-module: SystemHealthPlugin
    x-vmw-nsx-module: SystemHealthPlugin
  Tag:
    description: |-
      Arbitrary key-value pairs that may be attached to an entity
    properties:
      scope:
        default: ''
        description: |-
          Tag searches may optionally be restricted by scope
        maxLength: 128
        readOnly: false
        title: |-
          Tag scope
        type: string
      tag:
        default: ''
        description: |-
          Identifier meaningful to user with maximum length of 256 characters
        readOnly: false
        title: |-
          Tag value
        type: string
    title: |-
      Arbitrary key-value pairs that may be attached to an entity
    type: object
    x-vmw-nsx-module: Common
  TargetResourceStatus:
    description: |-
      Holds status of target resource in firewall context.
    properties:
      target_id:
        description: |-
          Identifier of the NSX resource.
        maxLength: 64
        readOnly: false
        title: |-
          Target ID
        type: string
      target_status:
        description: |-
          Firewall status on a target logical resource.
        enum:
        - DISABLED
        - ENABLED
        readOnly: false
        type: string
    required:
    - target_status
    type: object
    x-vmw-nsx-module: FirewallStatus
  TaskListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Task property results
          items:
            $ref: '#/definitions/TaskProperties'
          title: |-
            Task property results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Tasks
    description: |-
      Task query results
    title: |-
      Task query results
    x-vmw-nsx-module: Tasks
  TaskProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        async_response_available:
          description: |-
            True if response for asynchronous request is available
          readOnly: true
          title: |-
            True if response for asynchronous request is available
          type: boolean
        cancelable:
          description: |-
            True if this task can be canceled
          readOnly: true
          title: |-
            True if this task can be canceled
          type: boolean
        description:
          description: |-
            Description of the task
          readOnly: true
          title: |-
            Description of the task
          type: string
        end_time:
          description: |-
            The end time of the task in epoch milliseconds
          format: int64
          readOnly: true
          type: integer
        id:
          description: |-
            Identifier for this task
          readOnly: true
          title: |-
            Identifier for this task
          type: string
        message:
          description: |-
            A message describing the disposition of the task
          readOnly: true
          title: |-
            A message describing the disposition of the task
          type: string
        progress:
          description: |-
            Task progress if known, from 0 to 100
          format: int64
          maximum: 100
          minimum: 0
          readOnly: true
          title: |-
            Task progress if known, from 0 to 100
          type: integer
        request_method:
          description: |-
            HTTP request method
          readOnly: true
          title: |-
            HTTP request method
          type: string
        request_uri:
          description: |-
            URI of the method invocation that spawned this task
          readOnly: true
          title: |-
            URI of the method invocation that spawned this task
          type: string
        start_time:
          description: |-
            The start time of the task in epoch milliseconds
          format: int64
          readOnly: true
          type: integer
        status:
          description: |-
            Current status of the task
          enum:
          - running
          - error
          - success
          - canceling
          - canceled
          - killed
          readOnly: true
          type: string
        user:
          description: |-
            Name of the user who created this task
          readOnly: true
          title: |-
            Name of the user who created this task
          type: string
      type: object
      x-vmw-nsx-module: Common
    description: |-
      Task properties
    title: |-
      Task properties
    x-vmw-nsx-module: Common
  TcpHeader:
    properties:
      dst_port:
        description: |-
          Destination port of tcp header
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Destination port of tcp header
        type: integer
      src_port:
        description: |-
          Source port of tcp header
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Source port of tcp header
        type: integer
      tcp_flags:
        description: |-
          TCP flags (9bits)
        format: int64
        maximum: 511
        minimum: 0
        title: |-
          TCP flags (9bits)
        type: integer
    type: object
    x-vmw-nsx-module: Traceflow
  TcpMssClamping:
    description: |-
      Tcp Mss Clamping Direction and value
    properties:
      direction:
        default: NONE
        description: |-
          Specifies the traffic direction for which to apply MSS Clamping.
        enum:
        - NONE
        - INBOUND_CONNECTION
        - OUTBOUND_CONNECTION
        - BOTH
        title: |-
          MSS Clamping direction
        type: string
      max_segment_size:
        description: |-
          It defines the maximum amount of data that a host is willing to accept in a single TCP segment. This field is set in TCP header during connection establishment. To avoid packet fragmentation, you can set this field depending on uplink MTU and VPN overhead. This is optional field and in case it is left unconfigured, best possible MSS value will be calculated based on effective mtu of uplink interface. Supported MSS range is 108 to 8852.
        format: int64
        maximum: 8852
        minimum: 108
        title: |-
          Maximum Segment Size value
        type: integer
    title: |-
      Tcp Mss Clamping Object
    type: object
    x-vmw-nsx-module: IPSecVPN
  TeamingPolicy:
    description: |-
      Uplink Teaming Policy
    properties:
      active_list:
        description: |-
          List of Uplinks used in active list
        items:
          $ref: '#/definitions/Uplink'
        title: |-
          List of Uplinks used in active list
        type: array
      policy:
        description: |-
          Teaming policy
        enum:
        - FAILOVER_ORDER
        - LOADBALANCE_SRCID
        - LOADBALANCE_SRC_MAC
        title: |-
          Teaming policy
        type: string
      standby_list:
        description: |-
          List of Uplinks used in standby list
        items:
          $ref: '#/definitions/Uplink'
        title: |-
          List of Uplinks used in standby list
        type: array
    required:
    - policy
    - active_list
    title: |-
      Uplink Teaming Policy
    type: object
    x-vmw-nsx-module: UplinkHostSwitchProfile
  TelemetryAgreement:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        telemetry_agreement_displayed:
          description: |
            Determine if telemetry agreement has been displayed. If false,
            the agreement text will be displayed at login time.
          title: |-
            Flag to indicate if telemetry agreement has been displayed
          type: boolean
      required:
      - telemetry_agreement_displayed
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  TelemetryConfig:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ceip_acceptance:
          description: |
            Enable this flag to participate in the Customer Experience Improvement Program.
          title: |-
            Flag to indicate if CEIP has been accepted
          type: boolean
        proxy_enabled:
          default: false
          description: |-
            Enable this flag to specify a proxy, and provide the proxy settings.
          title: |-
            Flag to indicate if proxy has been configured
          type: boolean
        schedule_enabled:
          description: |
            Enable this to schedule data collection and upload times. If enabled,
            and a schedule is not provided, a default schedule (WEEKLY, Sunday at 2:00 a.m)
            will be applied.
          title: |-
            Flag to indicate if data collection is enabled
          type: boolean
        telemetry_proxy:
          $ref: '#/definitions/TelemetryProxy'
          description: |-
            Specify the proxy configuration (scheme, server, port) here.
          title: |-
            Set config for proxy to be used to send out telemetry data
        telemetry_schedule:
          $ref: '#/definitions/TelemetrySchedule'
          description: |-
            Specify one of Daily, Weekly or Monthly schedules.
          title: |-
            Set schedule for when telemetry data should be collected
      required:
      - schedule_enabled
      - ceip_acceptance
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  TelemetryProxy:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        hostname:
          description: |
            Specify the fully qualified domain name, or ip address, of the proxy server.
          format: hostname-or-ip
          title: |-
            FQDN or IP address of the proxy server
          type: string
        password:
          description: |
            Specify the password used to authenticate with the proxy server, if required.
            A GET call on /telemetry/config returns a non-meaningful password to maintain
            security. To change the password to a new value, issue a PUT call after updating
            this field. To remove the password, issue a PUT call after emptying this field.
            To retain a previously set password, issue a PUT call keeping the non-meaningful
            value obtained from the GET call.
          title: |-
            Password
          type: string
        port:
          description: |-
            Specify the port of the proxy server.
          format: int32
          title: |-
            Configured port for proxy
          type: integer
        scheme:
          description: |
            The scheme accepted by the proxy server. Specify one of HTTP and HTTPS.
          enum:
          - HTTP
          - HTTPS
          title: |-
            The scheme accepted by the proxy server
          type: string
        username:
          description: |
            Specify the user name used to authenticate with the proxy server, if required.
          title: |-
            User name
          type: string
      required:
      - scheme
      - hostname
      - port
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  TelemetrySchedule:
    description: |-
      Abstract base type for telemetry schedule configuration
    discriminator: frequency_type
    properties:
      frequency_type:
        description: |-
          Specify one of DailyTelemetrySchedule, WeeklyTelemetrySchedule, or MonthlyTelemetrySchedule.
        title: |-
          Frequency at which data will be collected
        type: string
    required:
    - frequency_type
    title: |-
      Abstract base type for telemetry schedule configuration
    type: object
    x-vmw-nsx-module: TelemetryConfig
  ThreatStatus:
    properties:
      status:
        description: |-
          Transport node threat status
        enum:
        - NORMAL
        - ABNORMAL
        title: |-
          Transport node threat status
        type: string
    type: object
    x-vmw-nsx-module: Heatmap
  TnHyperbusStatus:
    properties:
      hyperbus_status:
        description: |-
          Display the hyperbus status
        enum:
        - UNKNOWN
        - HEALTHY
        - UNHEALTHY
        - DEGRADED
        type: string
      transport_node_id:
        description: |-
          Transport node id.
        title: |-
          Transport node id
        type: string
    required:
    - hyperbus_status
    - transport_node_id
    type: object
    x-vmw-nsx-module: TnContainerStatus
  TnNodeAgentStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Container agent status
          items:
            $ref: '#/definitions/TnNodeAgentstatus'
          readOnly: true
          title: |-
            Container agent status
          type: array
      type: object
      x-vmw-nsx-module: TnContainerStatus
    description: |-
      Container agent status list result
    title: |-
      Container agent status list result
    x-vmw-nsx-module: TnContainerStatus
  TnNodeAgentstatus:
    properties:
      hyperbus_connection_status:
        description: |-
          Show the Node Agent connected VM vif status.
        enum:
        - UNKNOWN
        - HEALTHY
        - UNHEALTHY
        - DEGRADED
        type: string
      vif_id:
        description: |-
          Connected VM vif id.
        title: |-
          Connected VM VIF id
        type: string
    required:
    - hyperbus_connection_status
    - vif_id
    type: object
    x-vmw-nsx-module: TnContainerStatus
  TnNodeStackSpanStatus:
    description: |
      List all the TNs spaned in L3PortMirrorSession mirror stack health status.
    properties:
      dedicated_stack_status:
        description: |
          Show the dedicated mirror stack health status, if the TN node has the mirror
          stack, it will show SUCCESS or it will show FAILED.
        enum:
        - UNKNOWN
        - SUCCESS
        - FAILED
        type: string
      detail:
        description: |
          Give the detail info for mirror stack and vmknic health status.
          If the stack or vmknic is FAILED, detail info will tell user reason
          why the stauts is FAILED. So that user can correct their configuration.
        title: |-
          give detail info and reason about the vmknic and statck status
        type: string
      last_updated_time:
        description: |
          TN miror stack status will be updated periodically, this item
          indicates the lastest timestamp of TN node stack status is updated.
        format: int64
        type: integer
      tn_node_id:
        description: |
          For L3PortMirrorSession configured mirror stack, show the TN node UUID
          which spaned in L3PortMirrorSession.
        title: |-
          TN node ID that configured L3PortMirrorSession mirror stack
        type: string
      tn_node_name:
        description: |
          For L3PortMirrorSession configured mirror stack, show the TN node friendly
          name which spaned in L3PortMirrorSession.
        title: |-
          TN node name that configured L3SPAN mirror stack
        type: string
      vmknic_status:
        description: |
          Show the vmknic health status, if the vmknic has been bouned to mirror
          stack, it will show SUCCESS or it will show FAILED.
        enum:
        - UNKNOWN
        - SUCCESS
        - FAILED
        type: string
    required:
    - tn_node_name
    - dedicated_stack_status
    - vmknic_status
    - detail
    - last_updated_time
    title: |-
      List all L3PortMirrorSession TN nodes mirror stack health status
    type: object
    x-vmw-nsx-module: PortMirroring
  TokenBasedPrincipalIdentity:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        is_protected:
          description: |-
            Indicator whether the entities created by this principal should be protected.
          readOnly: false
          title: |-
            Protection indicator
          type: boolean
        name:
          description: |-
            Name of the principal. This will be matched to the name provided in the token.
          maxLength: 255
          readOnly: false
          title: |-
            Name
          type: string
        node_id:
          description: |
            Unique node-id of a principal. This is used primarily in the case
            where a cluster of nodes is used to make calls to the NSX Manager and
            the same 'name' is used so that the nodes can access and modify the
            same data while still accessing NSX through their individual secret
            (certificate or JWT). In all other cases this can be any string.
          maxLength: 255
          readOnly: false
          title: |-
            Unique node-id
          type: string
      required:
      - node_id
      - name
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  TokenBasedPrincipalIdentityListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            TokenBasedPrincipalIdentity list.
          items:
            $ref: '#/definitions/TokenBasedPrincipalIdentity'
          readOnly: false
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |-
      Token-based PrincipalIdentity query result
    title: |-
      Token-based PrincipalIdentity query result
    x-vmw-nsx-module: CertificateManager
  Tooltip:
    description: |-
      Tooltip to be shown while hovering over the dashboard UI element.
    properties:
      condition:
        description: |-
          If the condition is met then the tooltip will be applied. If no condition is provided, then the tooltip will be applied unconditionally. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.
        maxLength: 1024
        title: |-
          Expression for evaluating condition
        type: string
      heading:
        description: |-
          If true, displays tooltip text in bold
        title: |-
          Tooltip will be treated as header.
        type: boolean
      text:
        description: |-
          Text to be shown on tooltip while hovering over UI element. The text would be wrapped if it exceeds 80 chars.
        maxLength: 1024
        title: |-
          Textbox shown at tooltip
        type: string
    required:
    - text
    title: |-
      Tooltip
    type: object
    x-vmw-nsx-module: NsxDashboard
  TraceActionArgument:
    properties:
      dest_lport:
        description: |
          Please keep this aligned with pktcap_config, if you
          specify dest_lport at pktcap_config.
        readOnly: true
        title: |-
          Destination logical port for bidirectional trace
        type: string
      reverse_filter:
        $ref: '#/definitions/LiveTraceFilterData'
        description: |
          Please keep this aligned with pktcap_config, if you
          specify reverse_filter at pktcap_config.
        readOnly: true
        title: |-
          Packet filter for flows of interest in reverse direction
      trace_type:
        description: |-
          Type of trace
        enum:
        - UNI_DIRECTIONAL
        - BI_DIRECTIONAL
        readOnly: true
        title: |-
          Type of trace
        type: string
    type: object
    x-vmw-nsx-module: LiveTrace
  TraceActionConfig:
    properties:
      action_argument:
        $ref: '#/definitions/TraceActionArgument'
        description: |-
          Action argument for trace
        readOnly: true
        title: |-
          Action argument for trace
      sampling_argument:
        $ref: '#/definitions/SamplingArgument'
        description: |-
          Sample argument for trace
        readOnly: true
        title: |-
          Sample argument for trace
    type: object
    x-vmw-nsx-module: LiveTrace
  TraceResult:
    properties:
      analysis:
        description: |-
          Trace action result analysis notes
        items:
          type: string
        readOnly: true
        title: |-
          Trace action result analysis notes
        type: array
      counters:
        $ref: '#/definitions/TraceflowObservationCounters'
        description: |-
          Observation counters
        readOnly: true
        title: |-
          Observation counters
      direction:
        description: |-
          Direction of a trace
        enum:
        - FORWARD
        - BACKWARD
        readOnly: true
        title: |-
          Direction of a trace
        type: string
      logical_counters:
        $ref: '#/definitions/TraceflowObservationCounters'
        description: |-
          Observation counters for logical components
        readOnly: true
        title: |-
          Observation counters for logical components
      observations:
        description: |-
          Trace observation list
        items:
          $ref: '#/definitions/TraceflowObservation'
        readOnly: true
        title: |-
          Trace observation list
        type: array
      packet_id:
        description: |-
          Packet ID in the session
        readOnly: true
        title: |-
          Packet ID in the session
        type: string
      result_overflowed:
        description: |-
          Whether some observations were deleted from the result set
        readOnly: true
        title: |-
          Whether some observations were deleted from the result set
        type: boolean
    type: object
    x-vmw-nsx-module: LiveTrace
  Traceflow:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        analysis:
          description: |-
            Traceflow result analysis notes
          items:
            type: string
          readOnly: true
          title: |-
            Traceflow result analysis notes
          type: array
        counters:
          $ref: '#/definitions/TraceflowObservationCounters'
          description: |-
            observation counters
          readOnly: true
          title: |-
            observation counters
        id:
          description: |-
            The id of the traceflow round
          readOnly: true
          title: |-
            The id of the traceflow round
          type: string
        logical_counters:
          $ref: '#/definitions/TraceflowObservationCounters'
          description: |-
            counters of observations from logical components
          readOnly: true
          title: |-
            counters of observations from logical components
        lport_id:
          description: |-
            id of the source logical port used for injecting the traceflow packet
          readOnly: true
          title: |-
            id of the source logical port used for injecting the traceflow packet
          type: string
        operation_state:
          description: |-
            Represents the traceflow operation state
          enum:
          - IN_PROGRESS
          - FINISHED
          - FAILED
          readOnly: true
          title: |-
            Represents the traceflow operation state
          type: string
        request_status:
          description: |-
            The status of the traceflow RPC request. SUCCESS - The traceflow request is sent successfully. TIMEOUT - The traceflow request gets timeout. SOURCE_PORT_NOT_FOUND - The source port of the request cannot be found. DATA_PATH_NOT_READY - The datapath component cannot be ready to receive request. CONNECTION_ERROR - There is connection error on datapath component. UNKNOWN - The status of traceflow request cannot be determined.
          enum:
          - SUCCESS
          - TIMEOUT
          - SOURCE_PORT_NOT_FOUND
          - DATA_PATH_NOT_READY
          - CONNECTION_ERROR
          - UNKNOWN
          readOnly: true
          title: |-
            Traceflow request status
          type: string
        result_overflowed:
          description: |-
            A flag, when set true, indicates some observations were deleted from the result set.
          readOnly: true
          title: |-
            A flag, when set true, indicates some observations were deleted from the result set.
          type: boolean
        timeout:
          description: |-
            Maximum time (in ms) the management plane will be waiting for this traceflow round.
          format: int64
          maximum: 15000
          minimum: 5000
          readOnly: true
          title: |-
            Timeout (in ms) for traceflow observations result list
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Traceflow Results
          items:
            $ref: '#/definitions/Traceflow'
          readOnly: true
          title: |-
            Traceflow Results
          type: array
      type: object
      x-vmw-nsx-module: Traceflow
    description: |-
      Traceflow queries result
    title: |-
      Traceflow queries result
    x-vmw-nsx-module: Traceflow
  TraceflowObservation:
    discriminator: resource_type
    properties:
      component_name:
        description: |-
          The name of the component that issued the observation.
        readOnly: true
        title: |-
          The name of the component that issued the observation.
        type: string
      component_sub_type:
        description: |-
          The sub type of the component that issued the observation.
        enum:
        - LR_TIER0
        - LR_TIER1
        - LR_VRF_TIER0
        - LS_TRANSIT
        - SI_CLASSIFIER
        - SI_PROXY
        - VDR
        - ENI
        - AWS_GATEWAY
        - TGW_ROUTE
        - EDGE_UPLINK
        - DELL_GATEWAY
        - UNKNOWN
        readOnly: true
        type: string
      component_type:
        description: |-
          The type of the component that issued the observation.
        enum:
        - PHYSICAL
        - LR
        - LS
        - DFW
        - BRIDGE
        - EDGE_TUNNEL
        - EDGE_HOSTSWITCH
        - FW_BRIDGE
        - LOAD_BALANCER
        - NAT
        - IPSEC
        - SERVICE_INSERTION
        - VMC
        - SPOOFGUARD
        - EDGE_FW
        - DLB
        - UNKNOWN
        readOnly: true
        type: string
      resource_type:
        enum:
        - TraceflowObservationForwarded
        - TraceflowObservationDropped
        - TraceflowObservationDelivered
        - TraceflowObservationReceived
        - TraceflowObservationForwardedLogical
        - TraceflowObservationDroppedLogical
        - TraceflowObservationReceivedLogical
        - TraceflowObservationReplicationLogical
        - TraceflowObservationRelayedLogical
        type: string
      sequence_no:
        description: |-
          the hop count for observations on the transport node that a traceflow packet is injected in will be 0. The hop count is incremented each time a subsequent transport node receives the traceflow packet. The sequence number of 999 indicates that the hop count could not be determined for the containing observation.
        format: int64
        readOnly: true
        title: |-
          the sequence number is the traceflow observation hop count
        type: integer
      timestamp:
        description: |-
          Timestamp when the observation was created by the transport node (milliseconds epoch)
        format: int64
        readOnly: true
        type: integer
      timestamp_micro:
        description: |-
          Timestamp when the observation was created by the transport node (microseconds epoch)
        format: int64
        readOnly: true
        title: |-
          Timestamp when the observation was created by the transport node
        type: integer
      transport_node_id:
        description: |-
          id of the transport node that observed a traceflow packet
        readOnly: true
        title: |-
          id of the transport node that observed a traceflow packet
        type: string
      transport_node_name:
        description: |-
          name of the transport node that observed a traceflow packet
        readOnly: true
        title: |-
          name of the transport node that observed a traceflow packet
        type: string
      transport_node_type:
        description: |-
          type of the transport node that observed a traceflow packet
        enum:
        - ESX
        - RHELKVM
        - UBUNTUKVM
        - EDGE
        - PUBLIC_CLOUD_GATEWAY_NODE
        - OTHERS
        - HYPERV
        readOnly: true
        type: string
    required:
    - resource_type
    type: object
    x-vmw-nsx-module: Traceflow
  TraceflowObservationCounters:
    properties:
      delivered_count:
        description: |-
          Total number of delivered observations for this traceflow round.
        format: int64
        readOnly: true
        title: |-
          Delivered observation count
        type: integer
      dropped_count:
        description: |-
          Total number of dropped observations for this round.
        format: int64
        readOnly: true
        title: |-
          Dropped observation count
        type: integer
      forwarded_count:
        description: |-
          Total number of forwarded observations for this traceflow round.
        format: int64
        readOnly: true
        title: |-
          Forwarded observation count
        type: integer
      received_count:
        description: |-
          Total number of received observations for this traceflow round.
        format: int64
        readOnly: true
        title: |-
          Received observation count
        type: integer
    type: object
    x-vmw-nsx-module: Traceflow
  TraceflowObservationDelivered:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        lport_id:
          description: |-
            The id of the logical port into which the traceflow packet was delivered
          readOnly: true
          title: |-
            The id of the logical port into which the traceflow packet was delivered
          type: string
        lport_name:
          description: |-
            The name of the logical port into which the traceflow packet was delivered
          readOnly: true
          title: |-
            The name of the logical port into which the traceflow packet was delivered
          type: string
        resolution_type:
          description: |-
            This field specifies the resolution type of ARP ARP_SUPPRESSION_PORT_CACHE - ARP request is suppressed by port DB ARP_SUPPRESSION_TABLE - ARP request is suppressed by ARP table ARP_SUPPRESSION_CP_QUERY - ARP request is suppressed by info derived from CP ARP_VM - No suppression and the ARP request is resolved.
          enum:
          - UNKNOWN
          - ARP_SUPPRESSION_PORT_CACHE
          - ARP_SUPPRESSION_TABLE
          - ARP_SUPPRESSION_CP_QUERY
          - ARP_VM
          readOnly: true
          title: |-
            The resolution type of the delivered message for ARP
          type: string
        target_mac:
          description: |
            The source MAC address of form:
            "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$". For example: 00:00:00:00:00:00.
          readOnly: true
          title: |-
            MAC address of the resolved IP by ARP
          type: string
        vlan_id:
          description: |-
            VLAN on bridged network
          format: int64
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationDropped:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        acl_rule_id:
          description: |-
            The id of the acl rule that was applied to drop the traceflow packet
          format: int64
          readOnly: true
          title: |-
            The id of the acl rule that was applied to drop the traceflow packet
          type: integer
        arp_fail_reason:
          description: |-
            This field specifies the ARP fails reason ARP_TIMEOUT - ARP failure due to query control plane timeout ARP_CPFAIL - ARP failure due post ARP query message to control plane failure ARP_FROMCP - ARP failure due to deleting ARP entry from control plane ARP_PORTDESTROY - ARP failure due to port destruction ARP_TABLEDESTROY - ARP failure due to ARP table destruction ARP_NETDESTROY - ARP failure due to overlay network destruction
          enum:
          - ARP_UNKNOWN
          - ARP_TIMEOUT
          - ARP_CPFAIL
          - ARP_FROMCP
          - ARP_PORTDESTROY
          - ARP_TABLEDESTROY
          - ARP_NETDESTROY
          readOnly: true
          title: |-
            The detailed drop reason of ARP traceflow packet
          type: string
        lport_id:
          description: |-
            The id of the logical port at which the traceflow packet was dropped
          readOnly: true
          title: |-
            The id of the logical port at which the traceflow packet was dropped
          type: string
        lport_name:
          description: |-
            The name of the logical port at which the traceflow packet was dropped
          readOnly: true
          title: |-
            The name of the logical port at which the traceflow packet was dropped
          type: string
        nat_rule_id:
          description: |-
            The ID of the NAT rule that was applied to forward the traceflow packet
          format: int64
          readOnly: true
          title: |-
            The ID of the NAT rule that was applied to forward the traceflow packet
          type: integer
        reason:
          description: |-
            The reason traceflow packet was dropped
          enum:
          - ARP_FAIL
          - BFD
          - DHCP
          - DLB
          - FW_RULE
          - GENEVE
          - GRE
          - IFACE
          - IP
          - IP_REASS
          - IPSEC
          - IPSEC_VTI
          - L2VPN
          - L4PORT
          - LB
          - LROUTER
          - LSERVICE
          - LSWITCH
          - MD_PROXY
          - NAT
          - ND_NS_FAIL
          - NEIGH
          - NO_EIP_FOUND
          - NO_EIP_ASSOCIATION
          - NO_ENI_FOR_IP
          - NO_ENI_FOR_LIF
          - NO_ROUTE
          - NO_ROUTE_TABLE_FOUND
          - NO_UNDERLAY_ROUTE_FOUND
          - NOT_VDR_DOWNLINK,
          - NO_VDR_FOUND
          - NO_VDR_ON_HOST
          - NOT_VDR_UPLINK,
          - SERVICE_INSERT
          - SPOOFGUARD
          - TTL_ZERO
          - TUNNEL
          - VXLAN
          - VXSTT
          - VMC_NO_RESPONSE
          - WRONG_UPLINK
          - UNKNOWN
          readOnly: true
          title: |-
            The reason traceflow packet was dropped
          type: string
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationDroppedLogical:
    allOf:
    - $ref: '#/definitions/TraceflowObservationDropped'
    - properties:
        component_id:
          description: |-
            The id of the component that dropped the traceflow packet.
          readOnly: true
          title: |-
            The id of the component that dropped the traceflow packet.
          type: string
        service_path_index:
          description: |
            The index of service path that is a chain of services
            represents the point where the traceflow packet was dropped.
          format: int64
          readOnly: true
          title: |-
            The index of service path
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationForwarded:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        context:
          description: |-
            The 64bit tunnel context carried on the wire
          format: int64
          title: |-
            The 64bit tunnel context carried on the wire
          type: integer
        dst_transport_node_id:
          description: |-
            This field will not be always available. Use remote_ip_address when this field is not set.
          readOnly: true
          title: |-
            The id of the transport node to which the traceflow packet is forwarded
          type: string
        dst_transport_node_name:
          description: |-
            The name of the transport node to which the traceflow packet is forwarded
          readOnly: true
          title: |-
            The name of the transport node to which the traceflow packet is forwarded
          type: string
        local_ip_address:
          description: |-
            IP address of the source end of the tunnel
          format: ip
          type: string
        remote_ip_address:
          description: |-
            IP address of the destination end of the tunnel
          format: ip
          type: string
        uplink_name:
          description: |-
            The name of the uplink the traceflow packet is forwarded on
          title: |-
            The name of the uplink the traceflow packet is forwarded on
          type: string
        vtep_label:
          description: |-
            The virtual tunnel endpoint label
          format: int64
          title: |-
            The virtual tunnel endpoint label
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationForwardedLogical:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        acl_rule_id:
          description: |-
            The id of the acl rule that was applied to forward the traceflow packet
          format: int64
          readOnly: true
          title: |-
            The id of the acl rule that was applied to forward the traceflow packet
          type: integer
        component_id:
          description: |-
            The id of the component that forwarded the traceflow packet.
          readOnly: true
          title: |-
            The id of the component that forwarded the traceflow packet.
          type: string
        dst_component_id:
          description: |-
            The id of the destination component to which the traceflow packet was forwarded.
          readOnly: true
          title: |-
            The id of the destination component to which the traceflow packet was forwarded.
          type: string
        dst_component_name:
          description: |-
            The name of the destination component to which the traceflow packet was forwarded.
          readOnly: true
          title: |-
            The name of the destination component to which the traceflow packet was forwarded.
          type: string
        dst_component_type:
          description: |-
            The type of the destination component to which the traceflow packet was forwarded.
          enum:
          - PHYSICAL
          - LR
          - LS
          - DFW
          - BRIDGE
          - EDGE_TUNNEL
          - EDGE_HOSTSWITCH
          - FW_BRIDGE
          - LOAD_BALANCER
          - NAT
          - IPSEC
          - SERVICE_INSERTION
          - VMC
          - SPOOFGUARD
          - EDGE_FW
          - DLB
          - UNKNOWN
          readOnly: true
          type: string
        lport_id:
          description: |-
            The id of the logical port through which the traceflow packet was forwarded.
          readOnly: true
          title: |-
            The id of the logical port through which the traceflow packet was forwarded.
          type: string
        lport_name:
          description: |-
            The name of the logical port through which the traceflow packet was forwarded.
          readOnly: true
          title: |-
            The name of the logical port through which the traceflow packet was forwarded.
          type: string
        nat_rule_id:
          description: |-
            The ID of the NAT rule that was applied to forward the traceflow packet
          format: int64
          readOnly: true
          title: |-
            The ID of the NAT rule that was applied to forward the traceflow packet
          type: integer
        resend_type:
          description: |-
            ARP_UNKNOWN_FROM_CP - Unknown ARP query result emitted by control plane ND_NS_UNKNOWN_FROM_CP - Unknown neighbor solicitation query result emitted by control plane UNKNOWN - Unknown resend type
          enum:
          - UNKNOWN
          - ARP_UNKNOWN_FROM_CP
          - ND_NS_UNKNWON_FROM_CP
          readOnly: true
          title: |-
            The type of packet resending
          type: string
        service_index:
          description: |-
            The index of the service insertion component
          format: int64
          readOnly: true
          title: |-
            The index of the service insertion component
          type: integer
        service_path_index:
          description: |-
            The path index of the service insertion component
          format: int64
          readOnly: true
          title: |-
            The path index of the service insertion component
          type: integer
        service_ttl:
          description: |-
            The ttl of the service insertion component
          format: int64
          readOnly: true
          title: |-
            The ttl of the service insertion component
          type: integer
        spoofguard_ip:
          description: |-
            This field specified the prefix IP address a traceflow packet matched in the whitelist in spoofguard.
          format: ip-cidr-block
          readOnly: true
          type: string
        spoofguard_mac:
          description: |
            The source MAC address of form:
            "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$". For example: 00:00:00:00:00:00.
          format: mac-address
          readOnly: true
          type: string
        spoofguard_vlan_id:
          description: |-
            This field specified the VLAN id a traceflow packet matched in the whitelist in spoofguard.
          format: int64
          readOnly: true
          type: integer
        svc_nh_mac:
          description: |
            MAC address of nexthop for service insertion(SI)
            in service VM(SVM) where the traceflow packet was received.
          readOnly: true
          title: |-
            MAC address of nexthop
          type: string
        translated_dst_ip:
          description: |-
            The translated destination IP address of VNP/NAT
          format: ip
          readOnly: true
          type: string
        translated_src_ip:
          description: |-
            The translated source IP address of VPN/NAT
          format: ip
          readOnly: true
          type: string
        vni:
          description: |-
            VNI for the logical network on which the traceflow packet was forwarded.
          format: int32
          readOnly: true
          title: |-
            VNI for the logical network on which the traceflow packet was forwarded.
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            TraceflowObservation list results
          items:
            $ref: '#/definitions/TraceflowObservation'
          title: |-
            TraceflowObservation list results
          type: array
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationReceived:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        local_ip_address:
          description: |-
            IP address of the destination end of the tunnel
          format: ip
          type: string
        remote_ip_address:
          description: |-
            IP address of the source end of the tunnel
          format: ip
          type: string
        uplink_name:
          description: |-
            The name of the uplink the traceflow packet is received on
          title: |-
            The name of the uplink the traceflow packet is received on
          type: string
        vtep_label:
          description: |-
            The virtual tunnel endpoint label
          format: int64
          title: |-
            The virtual tunnel endpoint label
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationReceivedLogical:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        component_id:
          description: |-
            The id of the component that received the traceflow packet.
          readOnly: true
          title: |-
            The id of the component that received the traceflow packet.
          type: string
        lport_id:
          description: |-
            The id of the logical port at which the traceflow packet was received
          readOnly: true
          title: |-
            The id of the logical port at which the traceflow packet was received
          type: string
        lport_name:
          description: |-
            The name of the logical port at which the traceflow packet was received
          readOnly: true
          title: |-
            The name of the logical port at which the traceflow packet was received
          type: string
        src_component_id:
          description: |-
            The id of the source component from which the traceflow packet was received.
          readOnly: true
          title: |-
            The id of the source component from which the traceflow packet was received.
          type: string
        src_component_name:
          description: |-
            The name of source component from which the traceflow packet was received.
          readOnly: true
          title: |-
            The name of source component from which the traceflow packet was received.
          type: string
        src_component_type:
          description: |-
            The type of the source component from which the traceflow packet was received.
          enum:
          - PHYSICAL
          - LR
          - LS
          - DFW
          - BRIDGE
          - EDGE_TUNNEL
          - EDGE_HOSTSWITCH
          - FW_BRIDGE
          - LOAD_BALANCER
          - NAT
          - IPSEC
          - SERVICE_INSERTION
          - VMC
          - SPOOFGUARD
          - EDGE_FW
          - DLB
          - UNKNOWN
          readOnly: true
          type: string
        svc_mac:
          description: |
            MAC address of SAN volume controller for service insertion(SI)
            in service VM(SVM) where the traceflow packet was received.
          readOnly: true
          title: |-
            MAC address of SAN volume controller
          type: string
        vni:
          description: |-
            VNI for the logical network on which the traceflow packet was received.
          format: int32
          readOnly: true
          title: |-
            VNI for the logical network on which the traceflow packet was received.
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationRelayedLogical:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        dst_server_address:
          description: |-
            This field specified the IP address of the destination which the packet will be relayed.
          format: ip
          readOnly: true
          type: string
        logical_comp_uuid:
          description: |-
            This field specified the logical component that relay service located.
          readOnly: true
          title: |-
            The id of the component which relay service located
          type: string
        message_type:
          default: REQUEST
          description: |-
            This field specified the message type of the relay service REQUEST - The relay service will relay a request message to the destination server REPLY - The relay service will relay a reply message to the client
          enum:
          - REQUEST
          - REPLY
          readOnly: true
          title: |-
            The type of the relay service
          type: string
        relay_server_address:
          description: |-
            This field specified the IP address of the relay service.
          format: ip
          readOnly: true
          type: string
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowObservationReplicationLogical:
    allOf:
    - $ref: '#/definitions/TraceflowObservation'
    - properties:
        local_ip_address:
          description: |-
            Local IP address of the component that replicates the packet.
          format: ip
          readOnly: true
          type: string
        replication_type:
          description: |-
            This field specifies the type of replication message TX_VTEP - Transmit replication to all VTEPs TX_MTEP - Transmit replication to all MTEPs RX - Receive replication
          enum:
          - TX_VTEP
          - TX_MTEP
          - RX
          readOnly: true
          title: |-
            The replication type of the message
          type: string
        uplink_name:
          description: |-
            The name of uplink
          readOnly: true
          title: |-
            The name of uplink
          type: string
        vtep_label:
          description: |-
            The label of VTEP
          format: int64
          readOnly: true
          title: |-
            The label of VTEP
          type: integer
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TraceflowRequest:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        lport_id:
          description: |-
            id of the source logical port to inject the traceflow packet into
          title: |-
            id of the source logical port to inject the traceflow packet into
          type: string
        packet:
          $ref: '#/definitions/PacketData'
          description: |-
            Packet configuration
          title: |-
            Packet configuration
        timeout:
          default: 10000
          description: |-
            Maximum time (in ms) the management plane will wait for observation result list to be sent by controller plane.
          format: int64
          maximum: 15000
          minimum: 5000
          title: |-
            Timeout (in ms) for traceflow observations result list
          type: integer
      required:
      - packet
      - lport_id
      type: object
      x-vmw-nsx-module: Traceflow
    x-vmw-nsx-module: Traceflow
  TransportInfo:
    properties:
      dst_port:
        description: |-
          Destination port
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Destination port
        type: integer
      protocol:
        description: |-
          Protocol type over IP layer
        enum:
        - TCP
        - UDP
        - ICMPv4
        - ICMPv6
        title: |-
          Protocol type over IP layer
        type: string
      src_port:
        description: |-
          Source port
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Source port
        type: integer
    type: object
    x-vmw-nsx-module: LiveTrace
  TransportNode:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        failure_domain_id:
          description: |
            Set failure domain of edge transport node which will help in
            auto placement of TIER1 logical routers, DHCP Servers and
            MDProxies, if failure domain based allocation is enabled in
            edge cluster API. It is only supported for edge transport node
            and not for host transport node. In case failure domain is not
            set by user explicitly, it will be always assigned with default
            system created failure domain.
          title: |-
            Id of the failure domain
          type: string
        host_switch_spec:
          $ref: '#/definitions/HostSwitchSpec'
          description: |
            This property is used to either create standard host switches
            or to inform NSX about preconfigured host switches that already
            exist on the transport node.

            Pass an array of either StandardHostSwitchSpec objects or
            PreconfiguredHostSwitchSpec objects. It is an error to pass
            an array containing different types of HostSwitchSpec objects.
          title: |-
            Transport node host switch specification
        is_overridden:
          description: |
            This flag is relevant to only those hosts which are part of a
            compute collection which has transport node profile (TNP)
            applied on it. If you change the transport node configuration
            and it is different than cluster level TNP then this flag will
            be set to true
          readOnly: true
          title: |-
            Indicates if config is different than compute collection.
          type: boolean
        maintenance_mode:
          description: |-
            The property is read-only, used for querying result. User could update transport node maintenance mode by UpdateTransportNodeMaintenanceMode call.
          enum:
          - ENABLED
          - FORCE_ENABLED
          - DISABLED
          readOnly: true
          title: |-
            transport node maintenance mode desired state
          type: string
        node_deployment_info:
          $ref: '#/definitions/Node'
        node_id:
          description: |-
            Unique Id of the fabric node
          title: |-
            Unique Id of the fabric node
          type: string
        remote_tunnel_endpoint:
          $ref: '#/definitions/TransportNodeRemoteTunnelEndpointConfig'
          description: |
            This should be configured only on a single host switch. It is only
            supported for edge transport nodes and not for host transport nodes.
            This configuration will be used by overlay traffic that is meant to
            be sent between NSX intersite domains.
          title: |-
            Configuration for a remote tunnel endpoint
        transport_zone_endpoints:
          description: |
            This is deprecated. TransportZoneEndPoints should be specified
            per host switch at StandardHostSwitch through Transport Node
            or Transport Node Profile configuration.
            This will ONLY include the TransportZoneEndpoints that were
            were specified here during the TransportNode configuration.
            If TransportZoneEndpoints are specified directly in
            {$ref: StandardHostSwitch}, such TransportZoneEndpoints
            will not be populated here.
          items:
            $ref: '#/definitions/TransportZoneEndPoint'
          title: |-
            Transport zone endpoints.
          type: array
          x-deprecated: true
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Transport Node
    title: |-
      Transport Node
    x-vmw-nsx-module: TransportNode
  TransportNodeCollection:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        compute_collection_id:
          description: |-
            Compute collection id
          title: |-
            Compute collection id
          type: string
        has_nvds:
          description: |-
            Flag indicating if applied profile has NVDS
          title: |-
            Flag indicating if applied profile has NVDS
          type: boolean
        transport_node_profile_id:
          description: |-
            Transport Node Profile ID
          title: |-
            Transport Node Profile ID
          type: string
      required:
      - transport_node_profile_id
      - compute_collection_id
      type: object
      x-vmw-nsx-module: TransportNodeCollection
    description: |-
      Entity to indicate relation between Compute collection and Transport node template
    title: |-
      Compute collection transport node template
    x-vmw-nsx-module: TransportNodeCollection
  TransportNodeCollectionListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Transport Node collection results
          items:
            $ref: '#/definitions/TransportNodeCollection'
          readOnly: true
          title: |-
            Transport Node collection results
          type: array
      type: object
      x-vmw-nsx-module: TransportNodeCollection
    description: |-
      Transport Node collections list result
    title: |-
      Transport Node collections list result
    x-vmw-nsx-module: TransportNodeCollection
  TransportNodeCollectionState:
    description: |-
      Realization state of attaching or detaching Transport node profile on compute collection.
    properties:
      aggregate_progress_percentage:
        description: |-
          Average of all transport node deployment progress in a cluster. Applicable only if transport node profile is applied on a cluster.
        format: int64
        readOnly: true
        title: |-
          Aggregate percentage of compute collection deployment
        type: integer
      cluster_level_error:
        description: |-
          Errors while applying transport node profile which need cluster level action to resolve
        title: |-
          Errors which needs cluster level to resolution
        type: string
      state:
        description: |
          If the host preparation or transport node creation is going on for
          any host then state will be "IN_PROGRESS".

          If setting desired state of the transport node failed for any of
          the host then state will be "FAILED_TO_CREATE"

          If realization of transport node failed for any of
          the host then state will be "FAILED_TO_REALIZE"

          If Transport node is successfully created for all of the hosts in
          compute collection then state will be "SUCCESS"

          You can override the configuration for one or more hosts in the
          compute collection by update TN(transport node) request on individual
          TN. If TN is successfully created for all hosts in compute collection
          and one or more hosts have overridden configuration then transport node
          collection state will be "PROFILE_MISMATCH".
        enum:
        - FAILED_TO_CREATE
        - FAILED_TO_REALIZE
        - IN_PROGRESS
        - PROFILE_MISMATCH
        - SUCCESS
        readOnly: true
        title: |-
          Application state of transport node template on compute collection
        type: string
      validation_errors:
        description: |-
          Transport node profile(TNP) will not be applied to a discovered node(DN) if some validations are not passed. In this case transport node is not created or existing transport node is not updated with TNP configurations.
        items:
          $ref: '#/definitions/ValidationError'
        title: |-
          Errors while applying transport node profile on discovered node
        type: array
      vlcm_transition_error:
        description: |-
          When vLCM is enabled on a compute collection in vSphere the transition workflow is triggered. This field indicates error in this special case.
        readOnly: true
        title: |-
          Errors while enabling vLCM on the compute collection
        type: string
    title: |-
      Transport node template application state
    type: object
    x-vmw-nsx-module: TransportNodeCollection
  TransportNodeDeploymentProgressState:
    description: |-
      Deployment progress state of transport node. Object has current deployment step title and progress in percentage.
    properties:
      current_step_title:
        description: |-
          Deployment step title
        readOnly: true
        title: |-
          Deployment step title
        type: string
      progress:
        description: |-
          Percentage of deployment completed
        format: int64
        readOnly: true
        title: |-
          Percentage of deployment completed
        type: integer
    title: |-
      Deployment progress of transport node
    type: object
    x-vmw-nsx-module: TransportNode
  TransportNodeListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            TransportNode Results
          items:
            $ref: '#/definitions/TransportNode'
          readOnly: true
          title: |-
            TransportNode Results
          type: array
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Transport Node queries result
    title: |-
      Transport Node queries result
    x-vmw-nsx-module: TransportNode
  TransportNodeMemberInfo:
    description: |-
      Information about participating transport nodes
    properties:
      compute_collection_id:
        description: |-
          Id of the compute collection to which this transport node belongs. Empty if this is standalone transport node or non ESX type node.
        readOnly: true
        title: |-
          Id of the compute collection to which this transport node belongs. Empty if this is standalone transport node or non ESX type node.
        type: string
      host_switches:
        description: |-
          List of host switches using the transport zone
        items:
          $ref: '#/definitions/HostSwitchInfo'
        readOnly: true
        title: |-
          List of host switches using the transport zone
        type: array
      transport_node_display_name:
        description: |-
          Display name of the transport node which has one or more host switches which belong to associated transport zone.
        readOnly: true
        title: |-
          Display name of the transport node which has one or more host switches which belong to associated transport zone.
        type: string
      transport_node_id:
        description: |-
          Id of the transport node which has one or more host switches which belong to associated transport zone.
        readOnly: true
        title: |-
          Id of the transport node which has one or more host switches which belong to associated transport zone.
        type: string
    title: |-
      Information about participating transport nodes
    type: object
    x-vmw-nsx-module: TransportZone
  TransportNodeProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        host_switch_spec:
          $ref: '#/definitions/HostSwitchSpec'
          description: |
            The HostSwitchSpec is the base class for standard and preconfigured
            host switch specifications. Only standard host switches are supported
            in the transport node profile.
          title: |-
            Transport node host switch specification
        ignore_overridden_hosts:
          default: false
          description: |
            Transport Node Profiles specify the configuration that is applied to all
            hosts in a cluster. The user has the ability to update the configuration
            on individual hosts within a cluster which will cause the host configuration
            to differ from the Transport Node Profile and results in the host to be
            marked as overridden. If a Transport Node Profile is edited or a new
            Transport Node Profile is applied on a Transport Node Collection, by default,
            the host configuration will be overwritten with the Transport Node Profile
            configuration and the overridden flag will be reset to false. This flag
            should be used when hosts that are set as overridden should not adopt the
            Transport Node Profile configuration when it is being updated or a new one
            is applied to the Transport Node Collection. In other words, when this flag is
            set to the default value of false and configuration is applied at the cluster
            level, the configuration will be applied on all hosts regardless if overridden
            or not. When this flag is set to true, all hosts that are set as overridden, i.e.,
            have been updated invidivually, will be ignored and the cluster-level configuration
            will not be applied.
            Note, Transport Node Profiles can be applied on multiple clusters. This field will
            dictate the behavior followed by all clusters using this Transport Node Profile.
          title: |-
            Determines if cluster-level configuration should be applied on overridden hosts
          type: boolean
        transport_zone_endpoints:
          description: |
            This is deprecated. TransportZoneEndPoints should be specified
            per host switch at StandardHostSwitch through Transport Node
            or Transport Node Profile configuration.
            This will ONLY include the TransportZoneEndpoints that were
            were specified here during the TransportNode configuration.
            If TransportZoneEndpoints are specified directly in
            {$ref: StandardHostSwitch}, such TransportZoneEndpoints
            will not be populated here.
          items:
            $ref: '#/definitions/TransportZoneEndPoint'
          title: |-
            Transport zone endpoints.
          type: array
          x-deprecated: true
      type: object
      x-vmw-nsx-module: TransportNodeProfile
    description: |-
      Transport Node Profile
    title: |-
      Transport Node Profile
    x-vmw-nsx-module: TransportNodeProfile
  TransportNodeProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            TransportNodeProfile Results
          items:
            $ref: '#/definitions/TransportNodeProfile'
          readOnly: true
          title: |-
            TransportNodeProfile Results
          type: array
      type: object
      x-vmw-nsx-module: TransportNodeProfile
    description: |-
      Transport Node Profile queries result
    title: |-
      Transport Node Profile queries result
    x-vmw-nsx-module: TransportNodeProfile
  TransportNodeRemoteTunnelEndpointConfig:
    description: |-
      Remote tunnel endpoint configuration
    properties:
      host_switch_name:
        description: |-
          The host switch name should reference an existing host switch specified in the transport node configuration. The name will be used to identify the host switch responsible for processing remote tunnel endpoint traffic.
        readOnly: false
        title: |-
          The host switch name to be used for the remote tunnel endpoint
        type: string
      ip_assignment_spec:
        $ref: '#/definitions/IpAssignmentSpec'
        description: |-
          IPs can come from either a static IP pool or an explicitly specified IP list. Therefore, specifying any other IP assignment type will result in error. In case a list of IPs is specified, the number of IPs provided should be sufficient as per the teaming policy associated with the host switch uplink profile used by the remote tunnel endpoint.
        readOnly: false
        title: |-
          Specification for IPs to be used with host switch remote tunnel endpoints
      named_teaming_policy:
        description: |-
          Specifying this field will override the default teaming policy of the host switch and will be used by remote tunnel endpoint traffic.
        readOnly: false
        title: |-
          The named teaming policy to be used by the remote tunnel endpoint
        type: string
      rtep_vlan:
        description: |-
          The transport VLAN id used for tagging intersite overlay traffic between remote tunnel endpoints.
        format: int64
        readOnly: false
        type: integer
    required:
    - host_switch_name
    - rtep_vlan
    - ip_assignment_spec
    title: |-
      Remote tunnel endpoint configuration
    type: object
    x-vmw-nsx-module: TransportNode
  TransportNodeState:
    allOf:
    - $ref: '#/definitions/ConfigurationState'
    - properties:
        deployment_progress_state:
          $ref: '#/definitions/TransportNodeDeploymentProgressState'
          description: |-
            Deployment progress state of transport node realization
          readOnly: true
          title: |-
            Deployment progress state of transport node realization
        host_switch_states:
          description: |-
            States of HostSwitches on the host
          items:
            $ref: '#/definitions/HostSwitchState'
          readOnly: true
          title: |-
            States of HostSwitches on the host
          type: array
        maintenance_mode_state:
          description: |-
            the present realized maintenance mode state
          enum:
          - ENTERING
          - ENABLED
          - EXITING
          - DISABLED
          readOnly: true
          type: string
        node_deployment_state:
          $ref: '#/definitions/ConfigurationState'
          description: |-
            Deployment status of installation
          readOnly: true
          title: |-
            Deployment status of installation
        remote_tunnel_endpoint_state:
          $ref: '#/definitions/RemoteTunnelEndpointConfigState'
          description: |-
            Remote tunnel endpoint configuration state
          readOnly: true
          title: |-
            Remote tunnel endpoint configuration state
        transport_node_id:
          description: |-
            Unique Id of the TransportNode
          readOnly: true
          title: |-
            Unique Id of the TransportNode
          type: string
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Transport Node State
    title: |-
      Transport Node State
    x-vmw-nsx-module: TransportNode
  TransportNodeStateListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Transport Node State Results
          items:
            $ref: '#/definitions/TransportNodeState'
          readOnly: true
          title: |-
            Transport Node State Results
          type: array
      type: object
      x-vmw-nsx-module: TransportNode
    description: |-
      Transport node state queries result
    title: |-
      Transport node state queries result
    x-vmw-nsx-module: TransportNode
  TransportNodeStatus:
    properties:
      agent_status:
        $ref: '#/definitions/AgentStatusCount'
        description: |-
          NSX agents status
        title: |-
          NSX agents status
      control_connection_status:
        $ref: '#/definitions/StatusCount'
        description: |-
          Control connection status
        title: |-
          Control connection status
      mgmt_connection_status:
        description: |-
          Management connection status
        enum:
        - UP
        - DOWN
        title: |-
          Management connection status
        type: string
      node_display_name:
        description: |-
          Transport node display name
        title: |-
          Display name
        type: string
      node_status:
        $ref: '#/definitions/NodeStatus'
        description: |-
          Node status
        title: |-
          Node status
      node_uuid:
        description: |-
          Transport node uuid
        title: |-
          Transport node uuid
        type: string
      pnic_status:
        $ref: '#/definitions/StatusCount'
        description: |-
          pNIC status
        title: |-
          pNIC status
      status:
        description: |-
          Roll-up status of pNIC, management connection, control connection, tunnel status, agent status
        enum:
        - UP
        - DOWN
        - DEGRADED
        - UNKNOWN
        title: |-
          Roll-up status of connections
        type: string
      threat_status:
        $ref: '#/definitions/ThreatStatus'
        description: |-
          Threat status
        title: |-
          Threat status
      tunnel_status:
        $ref: '#/definitions/TunnelStatusCount'
        description: |-
          Tunnel Status
        title: |-
          Tunnel Status
    type: object
    x-vmw-nsx-module: Heatmap
  TransportNodeStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of transport node statuses
          items:
            $ref: '#/definitions/TransportNodeStatus'
          title: |-
            List of transport node statuses
          type: array
      type: object
      x-vmw-nsx-module: Heatmap
    x-vmw-nsx-module: Heatmap
  TransportProtocolHeader:
    properties:
      dhcp_header:
        $ref: '#/definitions/DhcpHeader'
        description: |-
          DHCP header
        title: |-
          DHCP header
      dhcpv6_header:
        $ref: '#/definitions/Dhcpv6Header'
        description: |-
          DHCP v6 header
        title: |-
          DHCP v6 header
      dns_header:
        $ref: '#/definitions/DnsHeader'
        description: |-
          DNS header
        title: |-
          DNS header
      icmp_echo_request_header:
        $ref: '#/definitions/IcmpEchoRequestHeader'
        description: |-
          ICMP echo request header
        title: |-
          ICMP echo request header
      ndp_header:
        $ref: '#/definitions/NdpHeader'
        description: |-
          Neighbor discovery protocol header
        title: |-
          Neighbor discovery protocol header
      tcp_header:
        $ref: '#/definitions/TcpHeader'
        description: |-
          TCP header
        title: |-
          TCP header
      udp_header:
        $ref: '#/definitions/UdpHeader'
        description: |-
          UDP header
        title: |-
          UDP header
    type: object
    x-vmw-nsx-module: Traceflow
  TransportZone:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        host_switch_id:
          description: |-
            The host switch id generated by the system.
          readOnly: true
          title: |-
            The host switch id generated by the system.
          type: string
          x-deprecated: true
        host_switch_mode:
          default: STANDARD
          description: |-
            STANDARD mode applies to all the hypervisors. ENS mode stands for Enhanced Networking Stack. This feature is only available for ESX hypervisor. It is not available on KVM, EDGE and Public Cloud Gateway etc. When a Transport Zone mode is set to ENS, only Transport Nodes of type ESX can participate in such a Transport Zone.
          enum:
          - STANDARD
          - ENS
          readOnly: false
          title: |-
            Operational mode of Transport Zone.
          type: string
          x-deprecated: true
        host_switch_name:
          default: nsxDefaultHostSwitch
          description: |-
            If this name is unset or empty then the default host switch name will be used.
          title: |-
            Name of the host switch on all transport nodes in this transport zone that will be used to run NSX network traffic.
          type: string
          x-deprecated: true
        is_default:
          default: false
          description: |-
            Only one transport zone can be the default one for a given transport zone type. APIs that need transport zone can choose to use the default transport zone if a transport zone is not given.
          title: |-
            Flag to indicate if the transport zone is the default one.
          type: boolean
        nested_nsx:
          default: false
          description: |-
            This flag should be set to true in nested NSX environment. When the "allow_changing_vdr_mac_in_use" property in the global config object RoutingGlobalConfig is false, this flag can not be changed if this transport zone is OVERLAY and the change will make any transport node in this transport zone to change the VDR MAC used in any host switch. When this flag is true and this transport zone is OVERLAY, all host switches in this transport zone will use the VDR MAC in the "vdr_mac_nested" property in the global config object RoutingGlobalConfig.
          title: |-
            Flag to indicate if all transport nodes in this transport zone are connected through nested NSX.
          type: boolean
        transport_type:
          description: |-
            The transport type of this transport zone.
          enum:
          - OVERLAY
          - VLAN
          type: string
        transport_zone_profile_ids:
          description: |-
            Identifiers of the transport zone profiles associated with this TransportZone.
          items:
            $ref: '#/definitions/TransportZoneProfileTypeIdEntry'
          title: |-
            Identifiers of the transport zone profiles associated with this TransportZone.
          type: array
        uplink_teaming_policy_names:
          description: |-
            The names of switching uplink teaming policies that all transport nodes in this transport zone must support. An exception will be thrown if a transport node within the transport zone does not support a named teaming policy. The user will need to first ensure all trasnport nodes support the desired named teaming policy before assigning it to the transport zone. If the field is not specified, the host switch's default teaming policy will be used.
          items:
            type: string
          title: |-
            Names of the switching uplink teaming policies that are supported by this transport zone.
          type: array
      required:
      - transport_type
      type: object
      x-vmw-nsx-module: TransportZone
    x-vmw-nsx-module: TransportZone
  TransportZoneEndPoint:
    description: |-
      Specify which HostSwitch from this TransportNode is used handle traffic for given TransportZone
    properties:
      transport_zone_id:
        description: |-
          Unique ID identifying the transport zone for this endpoint
        title: |-
          Unique ID identifying the transport zone for this endpoint
        type: string
      transport_zone_profile_ids:
        description: |-
          Identifiers of the transport zone profiles associated with this transport zone endpoint on this transport node.
        items:
          $ref: '#/definitions/TransportZoneProfileTypeIdEntry'
        title: |-
          Identifiers of the transport zone profiles associated with this transport zone endpoint on this transport node.
        type: array
    required:
    - transport_zone_id
    title: |-
      This object associates TransportNode to a certain TransportZone
    type: object
    x-vmw-nsx-module: TransportNode
  TransportZoneListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Transport Zone Results
          items:
            $ref: '#/definitions/TransportZone'
          title: |-
            Transport Zone Results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: TransportZone
    description: |-
      Transport zone queries result
    title: |-
      Transport zone queries result
    x-vmw-nsx-module: TransportZone
  TransportZoneProfile:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        resource_type:
          enum:
          - BfdHealthMonitoringProfile
          type: string
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: TransportZoneProfile
    x-vmw-nsx-module: TransportZoneProfile
  TransportZoneProfileListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Transport zone profile results
          items:
            $ref: '#/definitions/TransportZoneProfile'
          readOnly: true
          title: |-
            Transport zone profile results
          type: array
      type: object
      x-vmw-nsx-module: TransportZoneProfile
    description: |-
      Transport zone profile queries result
    title: |-
      Transport zone profile queries result
    x-vmw-nsx-module: TransportZoneProfile
  TransportZoneProfileTypeIdEntry:
    properties:
      profile_id:
        description: |-
          profile id of the resource type
        readOnly: false
        type: string
      resource_type:
        description: |-
          Selects the type of the transport zone profile
        enum:
        - BfdHealthMonitoringProfile
        type: string
    required:
    - profile_id
    type: object
    x-vmw-nsx-module: TransportZoneProfile
  TransportZoneStatus:
    description: |-
      Transport zone runtime status information
    properties:
      num_logical_ports:
        description: |-
          Count of logical ports in the transport zone
        format: int32
        readOnly: true
        title: |-
          Count of logical ports in the transport zone
        type: integer
      num_logical_switches:
        description: |-
          Count of logical switches in the transport zone
        format: int32
        readOnly: true
        title: |-
          Count of logical switches in the transport zone
        type: integer
      num_transport_nodes:
        description: |-
          Count of transport nodes in the transport zone
        format: int32
        readOnly: true
        title: |-
          Count of transport nodes in the transport zone
        type: integer
      transport_node_members:
        description: |-
          Information about transport nodes which are part of this transport zone
        items:
          $ref: '#/definitions/TransportNodeMemberInfo'
        readOnly: true
        title: |-
          Information about transport nodes which are part of this transport zone
        type: array
      transport_zone_id:
        description: |-
          Unique ID identifying the transport zone
        readOnly: true
        title: |-
          Unique ID identifying the transport zone
        type: string
    title: |-
      Transport zone runtime status information
    type: object
    x-vmw-nsx-module: TransportZone
  TrunkVlanRange:
    description: |-
      Trunk VLAN id range
    properties:
      end:
        description: |-
          Virtual Local Area Network Identifier
        format: int64
        type: integer
      start:
        description: |-
          Virtual Local Area Network Identifier
        format: int64
        type: integer
    required:
    - start
    - end
    title: |-
      Trunk VLAN id range
    type: object
    x-vmw-nsx-module: LogicalSwitch
  TrustManagementData:
    properties:
      supported_algorithms:
        description: |-
          List of supported algorithms.
        items:
          $ref: '#/definitions/CryptoAlgorithm'
        readOnly: true
        type: array
    type: object
    x-vmw-nsx-module: CertificateManager
  TrustObjectData:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        key_algo:
          description: |-
            Key algorithm contained in this certificate.
          type: string
        passphrase:
          description: |-
            Password for private key encryption.
          readOnly: false
          type: string
        pem_encoded:
          description: |-
            PEM encoded certificate data.
          readOnly: false
          type: string
        private_key:
          description: |-
            Private key data.
          readOnly: false
          type: string
      required:
      - pem_encoded
      type: object
      x-vmw-nsx-module: CertificateManager
    x-vmw-nsx-module: CertificateManager
  TunnelList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        tunnels:
          description: |-
            List of transport node tunnels
          items:
            $ref: '#/definitions/TunnelProperties'
          readOnly: true
          title: |-
            List of transport node tunnels
          type: array
      type: object
      x-vmw-nsx-module: Tunnel
    x-vmw-nsx-module: Tunnel
  TunnelPortConfig:
    description: |-
      IP Tunnel port configuration.
    properties:
      ip_subnets:
        description: |-
          IP Tunnel port  (commonly referred as VTI) subnet.
        items:
          $ref: '#/definitions/IPSubnet'
        maxItems: 1
        title: |-
          IP Tunnel port subnet
        type: array
      tunnel_port_id:
        description: |-
          Logical route port identifier.
        readOnly: true
        title: |-
          Logical route port identifier
        type: string
    required:
    - ip_subnets
    title: |-
      IP Tunnel port configuration
    type: object
    x-vmw-nsx-module: IPSecVPN
  TunnelProperties:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        bfd:
          $ref: '#/definitions/BFDProperties'
          description: |-
            Detailed information about BFD configured on interface
          readOnly: true
          title: |-
            Detailed information about BFD configured on interface
        egress_interface:
          description: |-
            Corresponds to the interface where local_ip_address is routed.
          readOnly: true
          title: |-
            Name of local transport interface carrying tunnel traffic
          type: string
        encap:
          description: |-
            Tunnel encap
          enum:
          - STT
          - VXLAN
          - GENEVE
          - UNKNOWN_ENCAP
          readOnly: true
          title: |-
            Tunnel encap
          type: string
        last_updated_time:
          description: |-
            Time at which the Tunnel status has been fetched last time.
          format: int64
          readOnly: true
          type: integer
        latency_type:
          description: |-
            Latency type.
          enum:
          - UNKNOWN_LATENCY
          - VALID
          - NOT_READY
          - TIMEOUT
          readOnly: true
          title: |-
            Latency type
          type: string
        latency_value:
          description: |-
            The latency value is set only when latency_type is VALID.
          format: int64
          readOnly: true
          title: |-
            Latency value
          type: integer
        local_ip:
          description: |-
            Local IP address of tunnel
          format: ip
          readOnly: true
          title: |-
            Local IP address of tunnel
          type: string
        name:
          description: |-
            Name of tunnel
          readOnly: true
          title: |-
            Name of tunnel
          type: string
        remote_ip:
          description: |-
            Remote IP address of tunnel
          format: ip
          readOnly: true
          title: |-
            Remote IP address of tunnel
          type: string
        remote_node_display_name:
          description: |-
            Represents the display name of the remote transport node at the other end of the tunnel.
          readOnly: true
          title: |-
            Display name of the remote transport node
          type: string
        remote_node_id:
          description: |-
            UUID of the remote transport node
          readOnly: true
          title: |-
            UUID of the remote transport node
          type: string
        status:
          description: |-
            Status of tunnel
          enum:
          - UP
          - DOWN
          - UNKNOWN
          readOnly: true
          title: |-
            Status of tunnel
          type: string
      type: object
      x-vmw-nsx-module: Tunnel
    x-vmw-nsx-module: Tunnel
  TunnelStatusCount:
    allOf:
    - $ref: '#/definitions/StatusCount'
    - properties:
        bfd_diagnostic:
          $ref: '#/definitions/BFDDiagnosticCount'
          description: |-
            BFD Diagnostic
          title: |-
            BFD Diagnostic
        bfd_status:
          $ref: '#/definitions/BFDStatusCount'
          description: |-
            BFD Status
          title: |-
            BFD Status
      type: object
      x-vmw-nsx-module: Heatmap
    x-vmw-nsx-module: Heatmap
  UcFunctionalState:
    description: |-
      Upgrade coordinator Uc functional State.
    properties:
      error_message:
        description: |-
          error message that explains why UC is on standby mode.
        readOnly: true
        title: |-
          error message
        type: string
      state:
        description: |-
          function state of the upgrade coordinator
        enum:
        - RUNNING
        - STANDBY
        readOnly: true
        title: |-
          State of UC UI
        type: string
    title: |-
      Uc Functional State
    type: object
    x-vmw-nsx-module: Upgrade
  UcStateProperties:
    description: |-
      Upgrade Coordinator state properties
    properties:
      update_uc_state_properties:
        default: true
        description: |-
          Flag for updating upgrade-coodinator state properties to database
        title: |-
          Flag for updating upgrade-coodinator state properties to database
        type: boolean
    title: |-
      Upgrade Coordinator state properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  UcUpgradeStatus:
    description: |-
      Upgrade status of upgrade-coordinator
    properties:
      state:
        description: |-
          Current state of UC upgrade
        enum:
        - NOT_STARTED
        - IN_PROGRESS
        - SUCCESS
        - FAILED
        readOnly: true
        title: |-
          State of UC upgrade
        type: string
      status:
        description: |-
          Status of UC upgrade
        readOnly: true
        title: |-
          Status of UC upgrade
        type: string
    title: |-
      UC Upgrade status
    type: object
    x-vmw-nsx-module: Upgrade
  UdpHeader:
    properties:
      dst_port:
        default: 0
        description: |-
          Destination port of udp header
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Destination port of udp header
        type: integer
      src_port:
        default: 0
        description: |-
          Source port of udp header
        format: int64
        maximum: 65535
        minimum: 0
        title: |-
          Source port of udp header
        type: integer
    type: object
    x-vmw-nsx-module: Traceflow
  UnassociatedVMListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp in milliseconds since epoch
          format: int64
          type: integer
        results:
          description: |
            List of VMs which are not associated with any NSGroup
          items:
            $ref: '#/definitions/VirtualMachine'
          title: |
            Unassociated Vitual Machine list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: GroupingObjectsProviders
    x-vmw-nsx-module: GroupingObjectsProviders
  UnboundedKeyValuePair:
    description: |-
      A key-value pair with no limitations on size
    properties:
      key:
        description: |-
          Key
        readOnly: false
        title: |-
          Key
        type: string
      value:
        description: |-
          Value
        readOnly: false
        title: |-
          Value
        type: string
    required:
    - value
    - key
    title: |-
      A key-value pair with no limitations on size
    type: object
    x-vmw-nsx-module: Common
  UnidirectionalServicePath:
    description: |-
      Representing either forward or reverse service path for ingress or egress traffic respectively.
    properties:
      hops:
        description: |-
          List of service path hops that constitutes the forward or reverse service path.
        items:
          $ref: '#/definitions/ServicePathHop'
        readOnly: true
        title: |-
          Forward or reverse service path hops
        type: array
      host_cross_count:
        description: |-
          The number of times the traffic needs to cross hosts for the given forward or reverse service path.
        format: int64
        readOnly: true
        title: |-
          Host crossing count
        type: integer
      in_maintenance_mode:
        description: |-
          Is forward or revserse service path in maintenance mode or not.
        readOnly: true
        title: |-
          Is in maintenance mode
        type: boolean
      is_active:
        description: |-
          Is forward or revserse service path active or not.
        readOnly: true
        title: |-
          Is active
        type: boolean
      unidir_service_path_id:
        description: |-
          Unique identifier of one directional service path.
        format: int64
        readOnly: true
        title: |-
          Unidirectional service path id
        type: integer
    title: |-
      Forward or reverse service path
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  UpdateOidcEndPointThumbprintRequest:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        oidc_uri:
          description: |-
            URI where to download the meta-data of the OIDC end-point.
          maxLength: 255
          readOnly: false
          title: |-
            OpenID Connect end-point URI
          type: string
        thumbprint:
          description: |-
            Thumbprint of the OIDC URI to make an SSL connection.
          readOnly: false
          title: |-
            Thumbprint
          type: string
      required:
      - oidc_uri
      - thumbprint
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |
      Request to update the thumbprint of an OpenID Connect end-point with a new thumbprint.
    title: |-
      Request to update the thumbprint of an OpenId Connect end-point
    x-vmw-nsx-module: CertificateManager
  UpdatePrincipalIdentityCertificateRequest:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        certificate_id:
          description: |-
            Id of the stored certificate.
          readOnly: false
          title: |-
            Id of the stored certificate
          type: string
        principal_identity_id:
          description: |-
            Unique ID of the principal.
          maxLength: 255
          readOnly: false
          title: |-
            Principal Identity ID
          type: string
      required:
      - principal_identity_id
      - certificate_id
      type: object
      x-vmw-nsx-module: CertificateManager
    description: |
      Request to update the certificate of a principal identity with a new
      certificate.
    title: |-
      Request to update the certificate of a principal identity
    x-vmw-nsx-module: CertificateManager
  UpgradeBundleFetchRequest:
    description: |-
      URL and other fetch requests of upgrade bundle
    properties:
      url:
        description: |-
          URL for uploading upgrade bundle
        readOnly: false
        title: |-
          URL of upgrade bundle
        type: string
    required:
    - url
    title: |-
      Fetch request for fetching upgrade bundle
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeBundleId:
    description: |-
      Identifier of the upgrade bundle
    properties:
      bundle_id:
        description: |-
          Identifier of bundle upload
        readOnly: true
        title: |-
          Bundle Id of upgrade bundle uploaded
        type: string
    title: |-
      Bundle id of upgrade bundle
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeBundleInfo:
    description: |-
      Information about the upgrade bundle
    properties:
      bundle_size:
        description: |-
          size of upgrade bundle
        readOnly: true
        title: |-
          size of upgrade bundle
        type: string
      url:
        description: |-
          URL for uploading upgrade bundle
        readOnly: true
        title: |-
          URL of the upgrade bundle
        type: string
    title: |-
      Information about upgrade bundle
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeBundleUploadStatus:
    description: |-
      Upload status of upgrade bundle uploaded from url
    properties:
      detailed_status:
        description: |-
          Detailed status of upgrade bundle upload
        readOnly: true
        title: |-
          Detailed status of bundle upload
        type: string
      percent:
        description: |-
          Percent of bundle uploaded from URL
        readOnly: true
        title: |-
          Percent of upload completed
        type: number
      status:
        description: |-
          Current status of upgrade bundle upload
        enum:
        - UPLOADING
        - VERIFYING
        - SUCCESS
        - FAILED
        readOnly: true
        title: |-
          Status of upgrade bundle upload
        type: string
      url:
        description: |-
          URL for uploading upgrade bundle
        readOnly: true
        title: |-
          URL from which the bundle was uploaded
        type: string
    title: |-
      Upload status of upgrade bundle
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeCheck:
    description: |-
      Check to identify potential pre/post-upgrade issues
    properties:
      component_type:
        description: |-
          Component type
        readOnly: false
        title: |-
          Component type
        type: string
      display_name:
        description: |-
          Name of the pre/post-upgrade check
        readOnly: false
        title: |-
          Name of the pre/post-upgrade check
        type: string
      failure_messages:
        description: |-
          List of failure messages. This field is deprecated now. Please use failures instead.
        items:
          type: string
        readOnly: true
        title: |-
          List of failure messages
        type: array
        x-deprecated: true
      failures:
        description: |-
          List of failures
        items:
          $ref: '#/definitions/UpgradeCheckFailureMessage'
        readOnly: true
        title: |-
          List of failures
        type: array
      status:
        description: |-
          Status of pre/post-upgrade check
        enum:
        - SUCCESS
        - FAILURE
        - WARNING
        readOnly: true
        title: |-
          Status of pre/post-upgrade check
        type: string
    required:
    - component_type
    title: |-
      Pre/post-upgrade check
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeCheckCsvListResult:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        results:
          items:
            $ref: '#/definitions/UpgradeCheckCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeCheckCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        check_description:
          description: |-
            Description of the pre/post-upgrade check
          readOnly: false
          title: |-
            Description of the upgrade check
          type: string
        check_name:
          description: |-
            Display name of the pre/post-upgrade check
          readOnly: false
          title: |-
            Name of the upgrade check
          type: string
        failure_messages:
          description: |-
            Space-separated list of failure messages
          readOnly: true
          title: |-
            Failure messages
          type: string
        status:
          description: |-
            Status of the pre/post-upgrade check
          enum:
          - SUCCESS
          - FAILURE
          - WARNING
          readOnly: true
          title: |-
            Status of the upgrade check
          type: string
        upgrade_unit_id:
          description: |-
            Identifier of the upgrade unit
          readOnly: true
          title: |-
            UUID of the upgrade unit
          type: string
        upgrade_unit_metadata:
          description: |-
            Meta-data of the upgrade-unit
          readOnly: true
          title: |-
            Meta-data of the upgrade-unit
          type: string
        upgrade_unit_type:
          description: |-
            Component type of the upgrade unit
          readOnly: false
          title: |-
            Component type
          type: string
      required:
      - check_name
      - upgrade_unit_type
      type: object
      x-vmw-nsx-module: Upgrade
    description: |-
      CSV record for a pre/post-upgrade check
    title: |-
      CSV record for an upgrade-check
    x-vmw-nsx-module: Upgrade
  UpgradeCheckFailure:
    description: |-
      Pre/post-upgrade check failure
    properties:
      component_type:
        description: |-
          Component type of the origin of failure
        readOnly: true
        title: |-
          Component type
        type: string
      group_name:
        description: |
          Name of the upgrade group of the origin of failure. Only applicable when
          origin_type is UPGRADE_UNIT.
        readOnly: false
        title: |-
          Name of upgrade group
        type: string
      message:
        $ref: '#/definitions/UpgradeCheckFailureMessage'
        description: |-
          Pre/post-upgrade check failure message
        readOnly: true
        title: |-
          Upgrade check failure message
      origin_id:
        description: |-
          Unique id of origin of pre/post-upgrade check failure
        readOnly: true
        title: |-
          Unique id of origin of failure
        type: string
      origin_name:
        description: |-
          Name of origin of pre/post-upgrade check failure
        readOnly: true
        title: |-
          Name of origin of failure
        type: string
      origin_type:
        description: |-
          Type of origin of pre/post-upgrade check failure
        enum:
        - COMPONENT
        - UPGRADE_UNIT
        readOnly: true
        title: |-
          Type of origin of failure
        type: string
      type:
        description: |-
          Type of the pre/post-upgrade check failure
        enum:
        - FAILURE
        - WARNING
        readOnly: true
        title: |-
          Type of failure
        type: string
    title: |-
      Upgrade check failure
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeCheckFailureListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Collection of pre/post-upgrade check failures
          items:
            $ref: '#/definitions/UpgradeCheckFailure'
          title: |-
            Collection of pre/post-upgrade check failures
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeCheckFailureMessage:
    description: |-
      Pre/post-upgrade check failure message
    properties:
      error_code:
        description: |-
          Error code for the error/warning
        format: int64
        readOnly: true
        title: |-
          Error code
        type: integer
      message:
        description: |-
          Error/warning message
        readOnly: true
        title: |-
          Error/warning message
        type: string
    title: |-
      Upgrade check failure message
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeCheckInfo:
    description: |-
      Meta-data of a pre/post-upgrade check
    properties:
      component_type:
        description: |-
          Component type of the pre/post-upgrade check
        readOnly: false
        title: |-
          Component type
        type: string
      description:
        description: |-
          Description of the pre/post-upgrade check
        readOnly: true
        title: |-
          Description
        type: string
      name:
        description: |-
          Display name of the pre/post-upgrade check
        readOnly: true
        title: |-
          Name of the upgrade check
        type: string
    required:
    - component_type
    title: |-
      Meta-data of a pre/post-upgrade check
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeCheckListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        checks:
          description: |-
            Paged Collection of pre/post-upgrade checks
          items:
            $ref: '#/definitions/UpgradeCheck'
          title: |-
            Paged Collection of pre/post-upgrade checks
          type: array
      required:
      - checks
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeCheckListResults:
    properties:
      checks_with_warnings:
        $ref: '#/definitions/UpgradeCheckListResult'
        readOnly: true
      failed_checks:
        $ref: '#/definitions/UpgradeCheckListResult'
        readOnly: true
      successful_checks:
        $ref: '#/definitions/UpgradeCheckListResult'
        readOnly: true
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeChecksExecutionStatus:
    description: |-
      Execution status of pre/post-upgrade checks
    properties:
      details:
        description: |-
          Details about current execution of pre/post-upgrade checks
        readOnly: true
        title: |-
          Details about current execution of pre/post-upgrade checks
        type: string
      end_time:
        description: |
          Time (in milliseconds since epoch) when the execution of
          pre/post-upgrade checks completed
        format: int64
        type: integer
      failure_count:
        description: |
          Total count of generated failures or warnings in last execution of
          pre/post-upgrade checks
        format: int32
        readOnly: true
        title: |-
          Failure count
        type: integer
      node_with_issues_count:
        description: |
          Number of nodes which generated failures or warnings in last execution
          of pre/post-upgrade checks
        format: int32
        readOnly: true
        title: |-
          Number of nodes with failures/warnings
        type: integer
      start_time:
        description: |
          Time (in milliseconds since epoch) when the execution of
          pre/post-upgrade checks started
        format: int64
        type: integer
      status:
        description: |-
          Status of execution of pre/post-upgrade checks
        enum:
        - NOT_STARTED
        - IN_PROGRESS
        - ABORTING
        - ABORTED
        - COMPLETED
        readOnly: true
        title: |-
          Status of execution of pre/post-upgrade checks
        type: string
    title: |-
      Execution status of pre/post-upgrade checks
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeHistory:
    properties:
      initial_version:
        description: |-
          Version before the upgrade started
        title: |-
          Initial Version
        type: string
      target_version:
        description: |-
          Version being upgraded to
        title: |-
          Target Version
        type: string
      timestamp:
        description: |-
          Timestamp (in milliseconds since epoch) when the upgrade was performed
        format: int64
        type: integer
      upgrade_status:
        description: |-
          Status of the upgrade
        enum:
        - STARTED
        - SUCCESS
        - FAILED
        title: |-
          Status of the upgrade
        type: string
    required:
    - timestamp
    - target_version
    - initial_version
    - upgrade_status
    type: object
    x-vmw-nsx-module: UpgradeTypes
  UpgradeHistoryList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Upgrade history list
          items:
            $ref: '#/definitions/UpgradeHistory'
          readOnly: true
          title: |-
            Upgrade history list
          type: array
      type: object
      x-vmw-nsx-module: UpgradeTypes
    x-vmw-nsx-module: UpgradeTypes
  UpgradePlanSettings:
    properties:
      parallel:
        default: true
        description: |-
          Upgrade Method to specify whether the upgrade is to be performed serially or in parallel
        readOnly: false
        title: |-
          Upgrade Method to specify whether the upgrade is to be performed serially or in parallel
        type: boolean
      pause_after_each_group:
        default: false
        description: |-
          Flag to indicate whether to pause the upgrade after upgrade of each group is completed
        readOnly: false
        title: |-
          Flag to indicate whether to pause the upgrade after upgrade of each group is completed
        type: boolean
      pause_on_error:
        default: false
        description: |-
          Flag to indicate whether to pause the upgrade plan execution when an error occurs
        readOnly: false
        title: |-
          Flag to indicate whether to pause the upgrade plan execution when an error occurs
        type: boolean
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeProgressStatus:
    description: |-
      Upgrade progress status
    properties:
      last_upgrade_step_status:
        description: |-
          Status of last upgrade step
        title: |-
          Status of last upgrade step
        type: object
      upgrade_bundle_present:
        description: |-
          True if upgrade bundle is present
        title: |-
          True if upgrade bundle is present
        type: boolean
      upgrade_metadata:
        description: |-
          Meta info of upgrade
        title: |-
          Meta info of upgrade
        type: object
    title: |-
      Upgrade progress status
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  UpgradeStatus:
    properties:
      ccp_status:
        $ref: '#/definitions/CCPUpgradeStatus'
        description: |-
          CCP upgrade status
        readOnly: true
        title: |-
          CCP upgrade status
      component_status:
        description: |-
          List of component statuses
        items:
          $ref: '#/definitions/ComponentUpgradeStatus'
        readOnly: true
        title: |-
          List of component statuses
        type: array
      edge_status:
        $ref: '#/definitions/EdgeUpgradeStatus'
        description: |-
          Edge upgrade status
        readOnly: true
        title: |-
          Edge upgrade status
      host_status:
        $ref: '#/definitions/HostUpgradeStatus'
        description: |-
          Host upgrade status
        readOnly: true
        title: |-
          Host upgrade status
      overall_upgrade_status:
        description: |-
          Status of upgrade
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSING
        - PAUSED
        readOnly: true
        title: |-
          Status of upgrade
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeStatusSummary:
    description: |-
      Upgrade status summry
    properties:
      upgrade_bundle_present:
        description: |-
          True if upgrade bundle is present
        title: |-
          True if upgrade bundle is present
        type: boolean
      upgrade_metadata:
        description: |-
          Meta info of upgrade
        title: |-
          Meta info of upgrade
        type: object
      upgrade_steps:
        description: |-
          List of all upgrade steps performed
        items:
          type: object
        title: |-
          List of all upgrade steps performed
        type: array
    title: |-
      Upgrade status summry
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  UpgradeSummary:
    properties:
      component_target_versions:
        items:
          $ref: '#/definitions/ComponentTargetVersion'
        readOnly: true
        type: array
      system_version:
        description: |-
          Current system version
        readOnly: true
        title: |-
          Current system version
        type: string
      target_version:
        description: |-
          Target system version
        readOnly: true
        title: |-
          Target system version
        type: string
      upgrade_bundle_file_name:
        description: |-
          Name of the last successfully uploaded upgrade bundle file
        readOnly: true
        title: |-
          Name of the last successfully uploaded upgrade bundle file
        type: string
      upgrade_coordinator_updated:
        description: |-
          Has upgrade coordinator been updated after upload of upgrade bundle file
        readOnly: true
        title: |-
          Has upgrade coordinator been updated after upload of upgrade bundle file
        type: boolean
      upgrade_coordinator_version:
        description: |-
          Current version of upgrade coordinator
        readOnly: true
        title: |-
          Current version of upgrade coordinator
        type: string
      upgrade_status:
        description: |-
          Status of upgrade
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSING
        - PAUSED
        readOnly: true
        title: |-
          Status of upgrade
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeTaskProperties:
    description: |-
      Task properties
    properties:
      bundle_name:
        description: |-
          Name of Bundle
        title: |-
          Name of Bundle
        type: string
      parameters:
        description: |-
          Bundle arguments
        readOnly: true
        title: |-
          Bundle arguments
        type: object
      step:
        description: |-
          Step name
        title: |-
          Step name
        type: string
    required:
    - bundle_name
    title: |-
      Task properties
    type: object
    x-vmw-nsx-module: MISSING_MODULE
  UpgradeTopology:
    description: |-
      Recommended topology for migrating NVDS to VDS
    properties:
      topology:
        description: |-
          All resultant VDS mapping for a NVDS after the migration
        items:
          $ref: '#/definitions/NvdsUpgradeTopology'
        title: |-
          All resultant VDS mapping for a NVDS after the migration
        type: array
    required:
    - topology
    title: |-
      Recommended topology for migrating NVDS to VDS
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  UpgradeUnit:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        current_version:
          description: |-
            This is component version e.g. if upgrade unit is of type edge, then this is edge version.
          readOnly: true
          title: |-
            Current version of upgrade unit
          type: string
        display_name:
          description: |-
            Name of the upgrade unit
          readOnly: false
          title: |-
            Name of the upgrade unit
          type: string
        group:
          $ref: '#/definitions/UpgradeUnitGroupInfo'
          description: |-
            Info of the group to which this upgrade unit belongs
          readOnly: true
          title: |-
            Info of the group to which this upgrade unit belongs
        id:
          description: |-
            Identifier of the upgrade unit
          readOnly: true
          title: |-
            UUID of the upgrade unit
          type: string
        metadata:
          description: |-
            Metadata about upgrade unit
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |-
            Metadata about upgrade unit
          type: array
        type:
          description: |-
            Upgrade unit type
          readOnly: false
          title: |-
            Upgrade unit type
          type: string
        warnings:
          description: |-
            List of warnings indicating issues with the upgrade unit that may result in upgrade failure
          items:
            type: string
          readOnly: true
          title: |-
            List of warnings indicating issues with the upgrade unit that may result in upgrade failure
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitAggregateInfo:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        current_version:
          description: |-
            This is component version e.g. if upgrade unit is of type edge, then this is edge version.
          readOnly: true
          title: |-
            Current version of upgrade unit
          type: string
        display_name:
          description: |-
            Name of the upgrade unit
          readOnly: false
          title: |-
            Name of the upgrade unit
          type: string
        errors:
          description: |-
            List of errors occurred during upgrade of this upgrade unit
          items:
            type: string
          readOnly: true
          title: |-
            List of errors occurred during upgrade of this upgrade unit
          type: array
        group:
          $ref: '#/definitions/UpgradeUnitGroupInfo'
          description: |-
            Info of the group to which this upgrade unit belongs
          readOnly: true
          title: |-
            Info of the group to which this upgrade unit belongs
        id:
          description: |-
            Identifier of the upgrade unit
          readOnly: true
          title: |-
            Identifier of the upgrade unit
          type: string
        metadata:
          description: |-
            Metadata about upgrade unit
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: true
          title: |-
            Metadata about upgrade unit
          type: array
        percent_complete:
          description: |-
            Indicator of upgrade progress in percentage
          readOnly: true
          title: |-
            Indicator of upgrade progress in percentage
          type: number
        post_upgrade_checks:
          $ref: '#/definitions/UpgradeCheckListResults'
          readOnly: true
        pre_upgrade_checks:
          $ref: '#/definitions/UpgradeCheckListResults'
          readOnly: true
        status:
          description: |-
            Status of upgrade unit
          enum:
          - SUCCESS
          - FAILED
          - IN_PROGRESS
          - NOT_STARTED
          - PAUSING
          - PAUSED
          readOnly: true
          title: |-
            Status of upgrade unit
          type: string
        type:
          description: |-
            Upgrade unit type
          readOnly: false
          title: |-
            Upgrade unit type
          type: string
        warnings:
          description: |-
            List of warnings indicating issues with the upgrade unit that may result in upgrade failure
          items:
            type: string
          readOnly: true
          title: |-
            List of warnings indicating issues with the upgrade unit that may result in upgrade failure
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitAggregateInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of UpgradeUnit AggregateInfo
          items:
            $ref: '#/definitions/UpgradeUnitAggregateInfo'
          readOnly: true
          title: |-
            Paged collection of UpgradeUnit AggregateInfo
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroup:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          default: true
          description: |-
            Flag to indicate whether upgrade of this group is enabled or not
          readOnly: false
          title: |-
            Flag to indicate whether upgrade of this group is enabled or not
          type: boolean
        extended_configuration:
          description: |-
            Extended configuration for the group
          items:
            $ref: '#/definitions/KeyValuePair'
          maxItems: 100
          readOnly: false
          title: |-
            Extended configuration for the group
          type: array
        parallel:
          default: true
          description: |-
            Upgrade method to specify whether the upgrade is to be performed in parallel or serially
          readOnly: false
          title: |-
            Upgrade method to specify whether the upgrade is to be performed in parallel or serially
          type: boolean
        type:
          description: |-
            Component type
          readOnly: false
          title: |-
            Component type
          type: string
        upgrade_unit_count:
          description: |-
            Number of upgrade units in the group
          format: int32
          readOnly: true
          title: |-
            Count of upgrade units in the group
          type: integer
        upgrade_units:
          description: |-
            List of upgrade units in the group
          items:
            $ref: '#/definitions/UpgradeUnit'
          maxItems: 100
          readOnly: false
          title: |-
            List of upgrade units in the group
          type: array
      required:
      - type
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupAggregateInfo:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        enabled:
          default: true
          description: |-
            Flag to indicate whether upgrade of this group is enabled or not
          readOnly: false
          title: |-
            Flag to indicate whether upgrade of this group is enabled or not
          type: boolean
        extended_configuration:
          description: |-
            Extended configuration for the group
          items:
            $ref: '#/definitions/KeyValuePair'
          maxItems: 100
          readOnly: false
          title: |-
            Extended configuration for the group
          type: array
        failed_count:
          description: |-
            Number of nodes in the upgrade unit group that failed upgrade
          format: int32
          readOnly: true
          title: |-
            Number of nodes in the upgrade unit group that failed upgrade
          type: integer
        group_level_failure:
          description: |-
            Reports failures that occured at the group or cluster level.
          items:
            type: string
          readOnly: true
          title: |-
            Reports failures that occured at the group or cluster level.
          type: array
        parallel:
          default: true
          description: |-
            Upgrade method to specify whether the upgrade is to be performed in parallel or serially
          readOnly: false
          title: |-
            Upgrade method to specify whether the upgrade is to be performed in parallel or serially
          type: boolean
        percent_complete:
          description: |-
            Indicator of upgrade progress in percentage
          readOnly: true
          title: |-
            Indicator of upgrade progress in percentage
          type: number
        post_upgrade_status:
          $ref: '#/definitions/UpgradeChecksExecutionStatus'
          description: |-
            Post-upgrade status of group
          readOnly: true
          title: |-
            Post-upgrade status of group
        status:
          description: |-
            Upgrade status of upgrade unit group
          enum:
          - SUCCESS
          - FAILED
          - IN_PROGRESS
          - NOT_STARTED
          - PAUSING
          - PAUSED
          readOnly: true
          title: |-
            Upgrade status of upgrade unit group
          type: string
        type:
          description: |-
            Component type
          readOnly: false
          title: |-
            Component type
          type: string
        upgrade_unit_count:
          description: |-
            Number of upgrade units in the group
          format: int32
          readOnly: true
          title: |-
            Count of upgrade units in the group
          type: integer
        upgrade_units:
          description: |-
            List of upgrade units in the group
          items:
            $ref: '#/definitions/UpgradeUnit'
          maxItems: 100
          readOnly: false
          title: |-
            List of upgrade units in the group
          type: array
      required:
      - type
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupAggregateInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of upgrade status for upgrade unit groups
          items:
            $ref: '#/definitions/UpgradeUnitGroupAggregateInfo'
          readOnly: true
          title: |-
            Paged collection of upgrade status for upgrade unit groups
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupInfo:
    properties:
      display_name:
        description: |-
          Name of the group
        readOnly: true
        title: |-
          Name of the group
        type: string
      id:
        description: |-
          Identifier of group
        readOnly: true
        title: |-
          UUID of group
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of Upgrade unit groups
          items:
            $ref: '#/definitions/UpgradeUnitGroup'
          title: |-
            Paged Collection of Upgrade unit groups
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupStatus:
    properties:
      failed_count:
        description: |-
          Number of nodes in the upgrade unit group that failed upgrade
        format: int32
        readOnly: true
        title: |-
          Number of nodes in the upgrade unit group that failed upgrade
        type: integer
      group_id:
        description: |-
          Identifier for upgrade unit group
        readOnly: true
        title: |-
          UUID of upgrade unit group
        type: string
      group_name:
        description: |-
          Name of the upgrade unit group
        readOnly: true
        title: |-
          Upgrade unit group Name
        type: string
      percent_complete:
        description: |-
          Indicator of upgrade progress in percentage
        readOnly: true
        title: |-
          Indicator of upgrade progress in percentage
        type: number
      status:
        description: |-
          Upgrade status of upgrade unit group
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSING
        - PAUSED
        readOnly: true
        title: |-
          Upgrade status of upgrade unit group
        type: string
      upgrade_unit_count:
        description: |-
          Number of upgrade units in the group
        format: int32
        readOnly: true
        title: |-
          Number of upgrade units in the group
        type: integer
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeUnitGroupStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged collection of upgrade status for upgrade unit groups
          items:
            $ref: '#/definitions/UpgradeUnitGroupStatus'
          readOnly: true
          title: |-
            Paged collection of upgrade status for upgrade unit groups
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitList:
    properties:
      list:
        description: |-
          Collection of Upgrade units
        items:
          $ref: '#/definitions/UpgradeUnit'
        title: |-
          Collection of Upgrade units
        type: array
    required:
    - list
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeUnitListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of Upgrade units
          items:
            $ref: '#/definitions/UpgradeUnit'
          title: |-
            Paged Collection of Upgrade units
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitStatus:
    properties:
      display_name:
        description: |-
          Name of upgrade unit
        readOnly: true
        title: |-
          Name of upgrade unit
        type: string
      errors:
        description: |-
          List of errors occurred during upgrade of this upgrade unit
        items:
          type: string
        readOnly: true
        title: |-
          List of errors occurred during upgrade of this upgrade unit
        type: array
      id:
        description: |-
          Identifier of upgrade unit
        readOnly: true
        title: |-
          UUID of upgrade unit
        type: string
      metadata:
        description: |-
          Metadata about upgrade unit
        items:
          $ref: '#/definitions/KeyValuePair'
        readOnly: true
        title: |-
          Metadata about upgrade unit
        type: array
      percent_complete:
        description: |-
          Indicator of upgrade progress in percentage
        readOnly: true
        title: |-
          Indicator of upgrade progress in percentage
        type: number
      status:
        description: |-
          Status of upgrade unit
        enum:
        - SUCCESS
        - FAILED
        - IN_PROGRESS
        - NOT_STARTED
        - PAUSING
        - PAUSED
        readOnly: true
        title: |-
          Status of upgrade unit
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeUnitStatusListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Paged Collection of upgrade units status
          items:
            $ref: '#/definitions/UpgradeUnitStatus'
          title: |-
            Paged Collection of upgrade units status
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  UpgradeUnitTypeStats:
    properties:
      node_count:
        description: |-
          Number of nodes
        format: int32
        readOnly: true
        title: |-
          Number of nodes
        type: integer
      node_with_issues_count:
        description: |-
          Number of nodes with issues that may cause upgrade failure
        format: int32
        readOnly: true
        title: |-
          Number of nodes with issues that may cause upgrade failure
        type: integer
      type:
        description: |-
          Type of upgrade unit
        readOnly: true
        title: |-
          Type of upgrade unit
        type: string
      version:
        description: |-
          Version of the upgrade unit
        readOnly: true
        title: |-
          Version of the upgrade unit
        type: string
    type: object
    x-vmw-nsx-module: Upgrade
  UpgradeUnitTypeStatsList:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of upgrade unit type stats
          items:
            $ref: '#/definitions/UpgradeUnitTypeStats'
          readOnly: true
          title: |-
            List of upgrade unit type stats
          type: array
      type: object
      x-vmw-nsx-module: Upgrade
    x-vmw-nsx-module: Upgrade
  Uplink:
    description: |-
      Object to identify an uplink based on its type and name
    properties:
      uplink_name:
        description: |-
          Name of this uplink
        title: |-
          Name of this uplink
        type: string
      uplink_type:
        description: |-
          Type of the uplink
        enum:
        - PNIC
        - LAG
        title: |-
          Type of the uplink
        type: string
    required:
    - uplink_name
    - uplink_type
    title: |-
      Object to identify an uplink based on its type and name
    type: object
    x-vmw-nsx-module: UplinkHostSwitchProfile
  UplinkHostSwitchProfile:
    allOf:
    - $ref: '#/definitions/BaseHostSwitchProfile'
    - properties:
        lags:
          description: |-
            list of LACP group
          items:
            $ref: '#/definitions/Lag'
          maxItems: 64
          title: |-
            list of LACP group
          type: array
        mtu:
          description: |-
            Maximum Transmission Unit used for uplinks
          format: int32
          minimum: 1280
          title: |-
            Maximum Transmission Unit used for uplinks
          type: integer
        named_teamings:
          description: |-
            List of named uplink teaming policies that can be used by logical switches
          items:
            $ref: '#/definitions/NamedTeamingPolicy'
          maxItems: 32
          title: |-
            List of named uplink teaming policies that can be used by logical switches
          type: array
        overlay_encap:
          default: GENEVE
          description: |-
            The protocol used to encapsulate overlay traffic
          enum:
          - VXLAN
          - GENEVE
          title: |-
            The protocol used to encapsulate overlay traffic
          type: string
        teaming:
          $ref: '#/definitions/TeamingPolicy'
          description: |-
            Default TeamingPolicy associated with this UplinkProfile
          title: |-
            Default TeamingPolicy associated with this UplinkProfile
        transport_vlan:
          default: 0
          description: |-
            VLAN used for tagging Overlay traffic of associated HostSwitch
          format: int64
          type: integer
      required:
      - teaming
      type: object
      x-vmw-nsx-module: UplinkHostSwitchProfile
    description: |-
      Profile for uplink policies
    title: |-
      Profile for uplink policies
    x-vmw-nsx-module: UplinkHostSwitchProfile
  UrlAlias:
    description: |-
      Short name or alias of a url. It is used to represent the url.
    properties:
      alias:
        description: |-
          Short name or alias of url, if any. If not specified, the url can be referenced by its index in the array of urls of the datasource instance as $<index> (for example, $0).
        maxLength: 255
        title: |-
          Url Alias Name
        type: string
      query:
        description: |-
          Search query to be applied, if any. If query string is not provided, it will be ignored.
        maxLength: 1024
        title: |-
          Search query of the search api, if any
        type: string
      url:
        description: |-
          Url to fetch data from.
        maxLength: 1024
        title: |-
          Url
        type: string
    required:
    - url
    title: |-
      Url Alias
    type: object
    x-vmw-nsx-module: NsxDashboard
  UserInfo:
    description: |-
      Authenticated User Info
    properties:
      roles:
        description: |-
          Permissions
        items:
          $ref: '#/definitions/NsxRole'
        readOnly: true
        title: |-
          Permissions
        type: array
      user_name:
        description: |-
          User Name
        readOnly: true
        title: |-
          User Name
        type: string
    title: |-
      Authenticated User Info
    type: object
    x-vmw-nsx-module: AAA
  UsernamePasswordLoginCredential:
    allOf:
    - $ref: '#/definitions/LoginCredential'
    - properties:
        password:
          description: |-
            The authentication password for login
          title: |-
            The authentication password for login
          type: string
        thumbprint:
          description: |-
            Thumbprint of the login server
          title: |-
            Thumbprint of the login server
          type: string
        username:
          description: |-
            The username for login
          title: |-
            The username for login
          type: string
      type: object
      x-vmw-nsx-module: Types
    description: |-
      A login credential specifying a username and password
    title: |-
      A login credential specifying a username and password
    x-vmw-nsx-module: Types
  VIPSubnet:
    properties:
      active_vip_addresses:
        description: |-
          Array of IP address subnets which will be used as floating IP addresses. | These IPs will move and will be owned by Active node.
        items:
          description: |-
            IPv4 or IPv6 address
          format: ip
          type: string
        maxItems: 1
        minItems: 1
        title: |-
          IP Addresses which will be owned by uplink on active node.
        type: array
      prefix_length:
        description: |-
          Subnet Prefix Length
        format: int64
        maximum: 128
        minimum: 1
        title: |-
          Subnet Prefix Length
        type: integer
    required:
    - prefix_length
    - active_vip_addresses
    type: object
    x-vmw-nsx-module: LogicalRouter
  VMDeploymentProgressState:
    description: |-
      Deployment progress state of node VM. This Object contains name of current deployment step and overall progress percentage.
    properties:
      current_step_title:
        description: |-
          Name of the current running step of deployment
        readOnly: true
        title: |-
          Name of the current step
        type: string
      progress:
        description: |-
          Overall progress percentage of deployment completed
        format: int64
        readOnly: true
        title: |-
          Progress percentage
        type: integer
    title: |-
      Deployment progress of node VM
    type: object
    x-vmw-nsx-module: HostPrepServiceFabric
  ValidationError:
    description: |-
      Error while applying transport node profile on discovered node
    properties:
      discovered_node_id:
        description: |-
          Discovered Node Id
        readOnly: true
        title: |-
          Discovered Node Id
        type: string
      error_message:
        description: |-
          Validation error message
        readOnly: true
        title: |-
          Validation error message
        type: string
    title: |-
      Validation Error
    type: object
    x-vmw-nsx-module: TransportNodeCollection
  VdsTopology:
    description: |-
      VDS details where NVDS will be migrated to
    properties:
      data_center_id:
        description: |-
          Identifier of datacenter where VDS will be created
        title: |-
          Identifier of datacenter where VDS will be created
        type: string
      status_details:
        description: |-
          Details of the VDS configuration status
        items:
          type: string
        readOnly: true
        title: |-
          Details of the VDS configuration status
        type: array
      transport_node_id:
        description: |-
          Transport node identifiers on which NVDS(s) being upgraded to VDS
        items:
          type: string
        title: |-
          Transport node identifiers on which NVDS(s) being upgraded to VDS
        type: array
      vds_config:
        $ref: '#/definitions/DVSConfig'
        description: |-
          VDS configuration
        readOnly: true
        title: |-
          VDS configuration
      vds_name:
        description: |-
          VDS name that will be created under above datacenter
        title: |-
          VDS name that will be created under above datacenter
        type: string
      vds_status:
        description: |-
          Status of the VDS configuration
        enum:
        - PENDING_TOPOLOGY
        - APPLYING_TOPOLOGY
        - APPLY_TOPOLOGY_FAILED
        - READY
        readOnly: true
        title: |-
          Status of the VDS configuration
        type: string
      vmknic:
        description: |-
          Virtual network interfaces that will be moved from VLAN Logical switch to Distributed Virtual PortGroup
        items:
          type: string
        title: |-
          Virtual network interfaces that will be moved from VLAN Logical switch to Distributed Virtual PortGroup
        type: array
    required:
    - data_center_id
    - vds_name
    - transport_node_id
    title: |-
      VDS details where NVDS will be migrated to
    type: object
    x-vmw-nsx-module: NvdsUpgradeReadinessCheck
  VdsUplink:
    description: |-
      If Virtual Distributed Switch is used as a HostSwitch to configure TransportNode or TransportNodeProfie, this mapping should be specified. You can either use vds_uplink_name or vds_lag_name to associate with uplink_name from UplinkHostSwitch profile.
    properties:
      uplink_name:
        description: |-
          This name is from UplinkHostSwitch profile that is associated with the HostSwitch specified in TransportNode or TransportNodeProfile configuration. This name will be used as an alias to either VDS uplink or lag in other configuration.
        readOnly: false
        title: |-
          Uplink name from UplinkHostSwitch profile
        type: string
      vds_lag_name:
        description: |-
          LAG name that is connected to Physical NIC on a host from vSphere.
        readOnly: false
        title: |-
          Link Aggregation Group (LAG) name of Virtual Distributed Switch
        type: string
      vds_uplink_name:
        description: |-
          Uplink name of VDS that is connected to Physical NIC on a host from vSphere.
        readOnly: false
        title: |-
          Uplink name of VMware vSphere Distributed Switch (VDS)
        type: string
    required:
    - uplink_name
    title: |-
      VMware vSphere Distributed Switch (VDS) uplink/LAG mapping
    type: object
    x-vmw-nsx-module: TransportNode
  VendorTemplate:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        attributes:
          description: |-
            List of attributes specific to a partner for which the vendor template is created. There attributes are passed on to the partner appliance and is opaque to the NSX Manager. Attributes are not supported by guest introspection service.
          items:
            $ref: '#/definitions/Attribute'
          maxItems: 128
          readOnly: false
          title: |-
            Vendor Template attributes
          type: array
        functionality:
          description: |-
            The capabilities provided by the services. Needs to be one of the following | NG_FW - Next Generation Firewall | IDS_IPS - Intrusion detection System / Intrusion Prevention System | NET_MON - Network Monitoring | HCX - Hybrid Cloud Exchange | BYOD - Bring Your Own Device | EPP - Endpoint Protection.(Third party AntiVirus partners using NXGI should use this functionality for the service)
          enum:
          - NG_FW
          - IDS_IPS
          - NET_MON
          - HCX
          - BYOD
          - EPP
          readOnly: false
          title: |-
            Functionality Type
          type: string
        redirection_action:
          default: PUNT
          description: |-
            The redirection action represents if the packet is exclusively redirected to the service, or if a copy is forwarded to the service. Service profile inherits the redirection action specified at the vendor template and cannot override the action specified at the vendor template. Redirection action is not applicable to guest introspection service.
          enum:
          - PUNT
          - COPY
          readOnly: false
          title: |-
            Redirection action
          type: string
        service_id:
          description: |-
            The service to which the vendor template belongs.
          readOnly: true
          title: |-
            Service Id
          type: string
        vendor_template_key:
          description: |-
            Different VMs in data center can have Different protection levels as specified by administrator in the policy. The identifier for the policy with which the partner appliance identifies this policy. This identifier will be passed to the partner appliance at runtime to specify which protection level is applicable for the VM being protected.
          readOnly: false
          title: |-
            Vendor template key
          type: string
      type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      Vendor Templates are registered by the partner service manager to be used in the service profile. They contain named (k-v) pairs.
    title: |-
      Vendor Template registered for a service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  VendorTemplateListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List of the Service-Insertion Services. The list has to be homogenous.
          items:
            $ref: '#/definitions/VendorTemplate'
          readOnly: true
          title: |-
            Service list
          type: array
      type: object
      x-vmw-nsx-module: ServiceInsertion
    description: |-
      Vendor Template List
    title: |-
      Vendor Template List
    x-vmw-nsx-module: ServiceInsertion
  VerifiableAsymmetricLoginCredential:
    allOf:
    - $ref: '#/definitions/LoginCredential'
    - properties:
        asymmetric_credential:
          description: |-
            Asymmetric login credential
          title: |-
            Asymmetric login credential
          type: string
        credential_key:
          description: |-
            Credential key
          title: |-
            Credential key
          type: string
        credential_verifier:
          description: |-
            Credential verifier
          title: |-
            Credential verifier
          type: string
      type: object
      x-vmw-nsx-module: Types
    x-vmw-nsx-module: Types
  VersionList:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        acceptable_versions:
          description: |-
            List of component versions
          items:
            type: string
          title: |-
            List of component versions
          type: array
      required:
      - acceptable_versions
      type: object
      x-vmw-nsx-module: VersionWhitelist
    x-vmw-nsx-module: VersionWhitelist
  VidmInfo:
    description: |-
      Vidm Info
    properties:
      display_name:
        description: |-
          User's Full Name Or User Group's Display Name
        readOnly: true
        title: |-
          User's Full Name Or User Group's Display Name
        type: string
      name:
        description: |-
          Username Or Groupname
        readOnly: true
        title: |-
          Username Or Groupname
        type: string
      type:
        description: |-
          Type
        enum:
        - remote_user
        - remote_group
        readOnly: true
        title: |-
          Type
        type: string
    title: |-
      Vidm Info
    type: object
    x-vmw-nsx-module: AAA
  VidmInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            List results
          items:
            $ref: '#/definitions/VidmInfo'
          title: |-
            List results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: AAA
    x-vmw-nsx-module: AAA
  View:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        display_name:
          description: |-
            Title of the widget.
          maxLength: 255
          title: |-
            Widget Title
          type: string
        exclude_roles:
          description: |-
            Comma separated list of roles to which the shared view is not visible. Allows user to prevent the visibility of a shared view to the specified roles. User defined roles can also be specified in the list. The roles can be obtained via GET /api/v1/aaa/roles. Please visit API documentation for details about roles. If include_roles is specified then exclude_roles cannot be specified.
          maxLength: 1024
          title: |-
            Roles to which the shared view is not visible
          type: string
        include_roles:
          description: |-
            Comma separated list of roles to which the shared view is visible. Allows user to specify the visibility of a shared view to the specified roles. User defined roles can also be specified in the list. The roles can be obtained via GET /api/v1/aaa/roles. Please visit API documentation for details about roles.
          maxLength: 1024
          title: |-
            Roles to which the shared view is visible
          type: string
        shared:
          default: false
          description: |-
            Defaults to false. Set to true to publish the view to other users. The widgets of a shared view are visible to other users.
          title: |-
            Share the view with other users
          type: boolean
        weight:
          default: 10000
          description: |-
            Determines placement of view relative to other views. The lower the weight, the higher it is in the placement order.
          format: int32
          title: |-
            Weightage or placement of the view
          type: integer
        widgets:
          description: |-
            Array of widgets that are part of the view.
          items:
            $ref: '#/definitions/WidgetItem'
          minItems: 0
          title: |-
            Widgets
          type: array
      required:
      - widgets
      - display_name
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Describes the configuration of a view to be displayed on the dashboard.
    title: |-
      Dashboard View
    x-vmw-nsx-module: NsxDashboard
  ViewList:
    description: |-
      Represents a list of views.
    properties:
      views:
        description: |-
          Array of views
        items:
          $ref: '#/definitions/View'
        readOnly: true
        title: |-
          Array of views
        type: array
    title: |-
      List of Views
    type: object
    x-vmw-nsx-module: NsxDashboard
  VifAttachmentContext:
    allOf:
    - $ref: '#/definitions/AttachmentContext'
    - properties:
        app_id:
          description: |
            An application ID used to identify / look up a child VIF
            behind a parent VIF. Only effective when vif_type is CHILD.
          title: |-
            ID used to identify/look up a child VIF behind a parent VIF
          type: string
        bms_interface_config:
          $ref: '#/definitions/AttachedInterface'
          description: |
            Indicate application interface configuration for Bare Metal Server. Only
            effective when vif_type is INDEPENDENT.
          title: |-
            Application interface configuration for Bare metal server
        parent_vif_id:
          description: |-
            VIF ID of the parent VIF if vif_type is CHILD
          title: |-
            VIF ID of the parent VIF if vif_type is CHILD
          type: string
        traffic_tag:
          description: |
            Current we use VLAN id as the traffic tag.
            Only effective when vif_type is CHILD.
            Each logical port inside a container must have a
            unique traffic tag. If the traffic_tag is not
            unique, no error is generated, but traffic will
            not be delivered to any port with a non-unique tag.
          format: int32
          title: |-
            Tag used for the traffic between this VIF and parent VIF
          type: integer
        transport_node_uuid:
          description: |
            Only effective when vif_type is INDEPENDENT.
            Each logical port inside a bare metal server
            or container must have a transport node UUID.
            We use transport node ID as transport node UUID.
          title: |-
            The UUID of the transport node
          type: string
        vif_type:
          description: |-
            Type of the VIF attached to logical port
          enum:
          - PARENT
          - CHILD
          - INDEPENDENT
          title: |-
            Type of the VIF attached to logical port
          type: string
      required:
      - vif_type
      type: object
      x-vmw-nsx-module: LogicalPort
    x-vmw-nsx-module: LogicalPort
  VirtualMachine:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        compute_ids:
          description: |-
            List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']
          items:
            type: string
          title: |-
            List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']
          type: array
        external_id:
          description: |-
            Current external id of this virtual machine in the system.
          title: |-
            Current external id of this virtual machine in the system.
          type: string
        guest_info:
          $ref: '#/definitions/GuestInfo'
          description: |
            Guest virtual machine details include OS name, computer name of guest VM. Currently
            this is supported for guests on ESXi that have VMware Tools installed.
          title: |-
            Guest virtual machine details
        host_id:
          description: |-
            Id of the host in which this virtual machine exists.
          title: |-
            Id of the host in which this virtual machine exists.
          type: string
        local_id_on_host:
          description: |-
            Id of the vm unique within the host.
          title: |-
            Id of the vm unique within the host.
          type: string
        power_state:
          description: |-
            Current power state of this virtual machine in the system.
          enum:
          - VM_RUNNING
          - VM_STOPPED
          - VM_SUSPENDED
          - UNKNOWN
          title: |-
            Current power state of this virtual machine in the system.
          type: string
        source:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference of the Host or Public Cloud Gateway that reported the VM
          title: |-
            Reference of the Host or Public Cloud Gateway that reported the VM
        type:
          description: |-
            Virtual Machine type; Edge, Service VM or other.
          enum:
          - EDGE
          - SERVICE
          - REGULAR
          readOnly: true
          title: |-
            Virtual Machine type; Edge, Service VM or other.
          type: string
      required:
      - local_id_on_host
      - external_id
      - power_state
      - compute_ids
      type: object
      x-vmw-nsx-module: Inventory
    x-vmw-nsx-module: Inventory
  VirtualMachineListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            VirtualMachine list results
          items:
            $ref: '#/definitions/VirtualMachine'
          title: |-
            VirtualMachine list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Inventory
    x-vmw-nsx-module: Inventory
  VirtualMachineTagUpdate:
    properties:
      external_id:
        description: |-
          External id of the virtual machine to which tags are to be applied
        title: |-
          External id of the virtual machine to which tags are to be applied
        type: string
      tags:
        description: |-
          List of tags to be applied to the virtual machine
        items:
          $ref: '#/definitions/Tag'
        title: |-
          List of tags to be applied to the virtual machine
        type: array
    required:
    - external_id
    - tags
    type: object
    x-vmw-nsx-module: Inventory
  VirtualNetworkInterface:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        device_key:
          description: |-
            Device key of the virtual network interface.
          title: |-
            Device key of the virtual network interface.
          type: string
        device_name:
          description: |-
            Device name of the virtual network interface.
          title: |-
            Device name of the virtual network interface.
          type: string
        external_id:
          description: |-
            External Id of the virtual network inferface.
          title: |-
            External Id of the virtual network inferface.
          type: string
        host_id:
          description: |-
            Id of the host on which the vm exists.
          title: |-
            Id of the host on which the vm exists.
          type: string
        ip_address_info:
          description: |-
            IP Addresses of the the virtual network interface, from various sources.
          items:
            $ref: '#/definitions/IpAddressInfo'
          title: |-
            IP Addresses of the the virtual network interface, from various sources.
          type: array
        lport_attachment_id:
          description: |-
            LPort Attachment Id of the virtual network interface.
          title: |-
            LPort Attachment Id of the virtual network interface.
          type: string
        mac_address:
          description: |-
            MAC address of the virtual network interface.
          title: |-
            MAC address of the virtual network interface.
          type: string
        owner_vm_id:
          description: |-
            Id of the vm to which this virtual network interface belongs.
          title: |-
            Id of the vm to which this virtual network interface belongs.
          type: string
        owner_vm_type:
          description: |-
            Owner virtual machine type; Edge, Service VM or other.
          enum:
          - EDGE
          - SERVICE
          - REGULAR
          readOnly: true
          title: |-
            Owner virtual machine type; Edge, Service VM or other.
          type: string
        vm_local_id_on_host:
          description: |-
            Id of the vm unique within the host.
          title: |-
            Id of the vm unique within the host.
          type: string
      required:
      - device_key
      - owner_vm_id
      - vm_local_id_on_host
      - mac_address
      - host_id
      - external_id
      type: object
      x-vmw-nsx-module: Inventory
    x-vmw-nsx-module: Inventory
  VirtualNetworkInterfaceListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            VirtualNetworkInterface list results
          items:
            $ref: '#/definitions/VirtualNetworkInterface'
          title: |-
            VirtualNetworkInterface list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Inventory
    x-vmw-nsx-module: Inventory
  VirtualPortgroup:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        cm_local_id:
          description: |-
            Id of the portgroup, eg. a mo-ref from VC.
          readOnly: true
          title: |-
            Id of the portgroup in compute manager
          type: string
        external_id:
          description: |-
            External id of the virtual portgroup
          readOnly: true
          title: |-
            External id of the virtual portgroup
          type: string
        origin_type:
          description: |-
            Portgroup type like DistributedVirtualPortgroup
          readOnly: true
          title: |-
            Portgroup type like DistributedVirtualPortgroup
          type: string
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Virtual portgroup on a virtual switch
    title: |-
      Virtual portgroup on a virtual switch
    x-vmw-nsx-module: InventoryCmObj
  VirtualServiceInstance:
    allOf:
    - $ref: '#/definitions/BaseServiceInstance'
    - type: object
      x-vmw-nsx-module: ServiceInsertionCommonTypes
    description: |-
      VirtualServiceInstance is a custom instance to be used when NSX is not handling the lifecycles of appliance/s and the user is not bringing their own appliance (BYOD).
    title: |-
      Custom Instance of a service
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  VirtualSwitch:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        cm_local_id:
          description: |-
            ID of the virtual switch in compute manager
          readOnly: true
          title: |-
            ID of the virtual switch in compute manager
          type: string
        external_id:
          description: |-
            External id of the virtual switch
          readOnly: true
          title: |-
            External id of the virtual switch
          type: string
        origin_id:
          description: |
            ID of the compute manager where this virtual switch is discovered.
          readOnly: true
          title: |-
            ID of the compute manager
          type: string
        origin_type:
          description: |-
            Switch type like VmwareDistributedVirtualSwitch
          readOnly: true
          title: |-
            Switch type like VmwareDistributedVirtualSwitch
          type: string
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Virtual switch on a compute manager
    title: |-
      Virtual switch on a compute manager
    x-vmw-nsx-module: InventoryCmObj
  VirtualSwitchListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Virtual switch list results
          items:
            $ref: '#/definitions/VirtualSwitch'
          title: |-
            Virtual switch list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: InventoryCmObj
    description: |-
      Virtual switch list result
    title: |-
      Virtual switch list result
    x-vmw-nsx-module: InventoryCmObj
  VlanMirrorSource:
    allOf:
    - $ref: '#/definitions/MirrorSource'
    - properties:
        vlan_ids:
          description: |-
            Source VLAN ID list
          items:
            description: |-
              Virtual Local Area Network Identifier
            format: int64
            type: integer
          minItems: 1
          title: |-
            Source VLAN ID list
          type: array
      required:
      - vlan_ids
      type: object
      x-vmw-nsx-module: PortMirroring
    x-vmw-nsx-module: PortMirroring
  VlanTrunkSpec:
    description: |-
      VlanTrunkspec is used for specifying trunk VLAN id ranges.
    properties:
      vlan_ranges:
        description: |-
          Trunk VLAN id ranges
        items:
          $ref: '#/definitions/TrunkVlanRange'
        title: |-
          Trunk VLAN id ranges
        type: array
    required:
    - vlan_ranges
    title: |-
      VLAN trunk range specification
    type: object
    x-vmw-nsx-module: LogicalSwitch
  VmNicInfo:
    description: |-
      Contains a set of information of a VM on the network interfaces present on the partner appliance that needs to be configured by the NSX Manager.
    properties:
      nic_infos:
        description: |-
          Set of information of a VM on the network interfaces present on the partner appliance that needs to be configured by the NSX Manager.
        items:
          $ref: '#/definitions/NicInfo'
        readOnly: false
        title: |-
          Set of NIC information of a VM
        type: array
    required:
    - nic_infos
    title: |-
      Set of NIC information of a VM
    type: object
    x-vmw-nsx-module: ServiceInsertionCommonTypes
  VmToolsInfo:
    allOf:
    - $ref: '#/definitions/DiscoveredResource'
    - properties:
        external_id:
          description: |-
            Current external id of this virtual machine in the system.
          readOnly: true
          title: |-
            VM external ID
          type: string
        file_agent_version:
          description: |-
            Version of file agent on the VM of a third party partner solution.
          readOnly: true
          title: |-
            File agent version on the VM
          type: string
        host_local_id:
          description: |-
            Id of the VM which is assigned locally by the host. It is the VM-moref on ESXi hosts, in other environments it is VM UUID.
          readOnly: true
          title: |-
            VM ID given by the host
          type: string
        network_agent_version:
          description: |-
            Version of network agent on the VM of a third party partner solution.
          readOnly: true
          title: |-
            Network agent version on the VM
          type: string
        source:
          $ref: '#/definitions/ResourceReference'
          description: |-
            Reference of the Host or Public Cloud Gateway that reported the VM.
          readOnly: true
          title: |-
            Reference of the Host or Public Cloud Gateway that reported the VM.
        svm_connectivity:
          description: |-
            Endpoint Protection (Third party AV partner using NXGI) status on the VM. TRUE  - VM is configured and protected by EPP Service VM. FALSE - VM is either not configured for protection or VM is disconnected from EPP Service VM.
          readOnly: true
          title: |-
            Endpoint Protection status on the VM
          type: boolean
        tools_version:
          description: |-
            Version of VMTools installed on the VM.
          readOnly: true
          title: |-
            VM tools version on the VM
          type: string
        vm_type:
          description: |-
            Type of VM - Edge, Service or other.
          enum:
          - EDGE
          - SERVICE
          - REGULAR
          readOnly: true
          title: |-
            Virtual Machine type
          type: string
      type: object
      x-vmw-nsx-module: VmToolsInfo
    x-vmw-nsx-module: VmToolsInfo
  VmToolsInfoListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            VmToolsInfo list results.
          items:
            $ref: '#/definitions/VmToolsInfo'
          title: |-
            VmToolsInfo list results.
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: VmToolsInfo
    x-vmw-nsx-module: VmToolsInfo
  VmknicNetwork:
    description: |-
      Mapping of all vmk interfaces to destination networks
    properties:
      destination_network:
        description: |-
          When migrating vmks to N-VDS/logical switches, the id is the logical switch id. When migrating out of N-VDS/logical switches, the id is the vSphere Switch portgroup name in a single vSphere Standard Switch (VSS), or distributed virtual portgroup name in a single distributed virtual switch (DVS).
        readOnly: false
        title: |-
          The network id to which the ESX vmk interface will be migrated.
        type: string
      device_name:
        description: |-
          The vmk interface name, e.g., vmk0, vmk1; the id assigned by vCenter.
        readOnly: false
        title: |-
          ESX vmk interface name
        type: string
    required:
    - destination_network
    - device_name
    title: |-
      Vmknic network specification
    type: object
    x-vmw-nsx-module: TransportNode
  VniPool:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        ranges:
          description: |-
            VNI range list results
          items:
            $ref: '#/definitions/VniRange'
          title: |-
            VNI range list results
          type: array
      required:
      - ranges
      type: object
      x-vmw-nsx-module: Vnim
    x-vmw-nsx-module: Vnim
  VniPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            VNI pool list results
          items:
            $ref: '#/definitions/VniPool'
          title: |-
            VNI pool list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: Vnim
    x-vmw-nsx-module: Vnim
  VniRange:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        end:
          description: |-
            End value for vni range to be used for virtual networks
          format: int64
          maximum: 16777215
          minimum: 5000
          readOnly: false
          title: |-
            End value of vni range
          type: integer
        start:
          description: |-
            Start value for vni range to be used for virtual networks
          format: int64
          maximum: 16777215
          minimum: 5000
          readOnly: false
          title: |-
            Start value of vni range
          type: integer
      required:
      - start
      - end
      type: object
      x-vmw-nsx-module: Vnim
    description: |-
      A range of virtual network identifiers (VNIs)
    x-vmw-nsx-module: Vnim
  VsphereClusterNodeVMDeploymentConfig:
    allOf:
    - $ref: '#/definitions/ClusterNodeVMDeploymentConfig'
    - properties:
        allow_ssh_root_login:
          default: false
          description: |
            If true, the root user will be allowed to log into the VM.
            Allowing root SSH logins is not recommended for security reasons.
          title: |-
            Allow root SSH logins
          type: boolean
        compute_id:
          description: |
            The cluster node VM will be deployed on the specified cluster or
            resourcepool for specified VC server.
          title: |-
            Cluster identifier or resourcepool identifier
          type: string
        default_gateway_addresses:
          description: |
            The default gateway for the VM to be deployed must be specified if all
            the other VMs it communicates with are not in the same subnet.
            Do not specify this field and management_port_subnets to use DHCP.
            Note: only single IPv4 default gateway address is supported and it
            must belong to management network.
            IMPORTANT: VMs deployed using DHCP are currently not supported,
            so this parameter should be specified.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 1
          minItems: 1
          title: |-
            Default gateway for the VM
          type: array
        disk_provisioning:
          default: THIN
          description: |
            Specifies the disk provisioning type of the VM.
          enum:
          - THIN
          - LAZY_ZEROED_THICK
          - EAGER_ZEROED_THICK
          type: string
        dns_servers:
          description: |
            List of DNS servers.
            If DHCP is used, the default DNS servers associated with
            the DHCP server will be used instead.
            Required if using static IP.
          items:
            description: |-
              IPv4 address
            format: ipv4
            type: string
          minItems: 1
          title: |-
            DNS servers
          type: array
        enable_ssh:
          default: false
          description: |
            If true, the SSH service will automatically be started on the VM.
            Enabling SSH service is not recommended for security reasons.
          title: |-
            Enable SSH
          type: boolean
        host_id:
          description: |
            The cluster node VM will be deployed on the specified host in the
            specified VC server within the cluster if host_id is specified.
            Note: User must ensure that storage and specified networks are
            accessible by this host.
          title: |-
            Host identifier
          type: string
        hostname:
          description: |-
            Desired host name/FQDN for the VM to be deployed
          title: |-
            Host name or FQDN for the VM
          type: string
        management_network_id:
          description: |
            Distributed portgroup identifier to which the management vnic of
            cluster node VM will be connected.
          title: |-
            Portgroup identifier for management network connectivity
          type: string
        management_port_subnets:
          description: |
            IP Address and subnet configuration for the management port.
            Do not specify this field and default_gateway_addresses to use DHCP.
            Note: only one IPv4 address is supported for the management port.
            IMPORTANT: VMs deployed using DHCP are currently not supported,
            so this parameter should be specified.
          items:
            $ref: '#/definitions/IPSubnet'
          maxItems: 1
          minItems: 1
          title: |-
            Port subnets for management port
          type: array
        ntp_servers:
          description: |
            List of NTP servers.
            To use hostnames, a DNS server must be defined. If not using DHCP,
            a DNS server should be specified under dns_servers.
          items:
            description: |-
              Hostname or IPv4 address
            format: hostname-or-ipv4
            type: string
          title: |-
            NTP servers
          type: array
        search_domains:
          description: |
            List of domain names that are used to complete unqualified host names.
          items:
            type: string
          title: |-
            DNS search domain names
          type: array
        storage_id:
          description: |
            The cluster node VM will be deployed on the specified datastore in
            the specified VC server. User must ensure that storage is accessible
            by the specified cluster/host.
          title: |-
            Storage/datastore identifier
          type: string
        vc_id:
          description: |
            The VC-specific identifiers will be resolved on this VC, so all other
            identifiers specified in the config must belong to this vCenter server.
          title: |-
            Vsphere compute identifier for identifying VC server
          type: string
      required:
      - storage_id
      - management_network_id
      - hostname
      - vc_id
      - compute_id
      type: object
      x-vmw-nsx-module: ClusterNodeVMDeployment
    description: |
      The Vsphere deployment configuration determines where to deploy the
      cluster node VM through a vCenter server. It contains settings that are
      applied during install time.
      If using DHCP, the following fields must be left unset - dns_servers,
      management_port_subnets, and default_gateway_addresses
    title: |-
      Deployment config on the Vsphere platform
    x-vmw-nsx-module: ClusterNodeVMDeployment
  VsphereDeploymentConfig:
    allOf:
    - $ref: '#/definitions/DeploymentConfig'
    - properties:
        advanced_configuration:
          description: |
            Array of additional specific properties for advanced or cloud-
            specific deployments in key-value format.
          items:
            $ref: '#/definitions/KeyValuePair'
          readOnly: false
          title: |-
            Advanced configuration
          type: array
        allow_ssh_root_login:
          default: false
          description: |
            Allowing root SSH logins is not recommended for security reasons.
            This field is deprecated. Use allow_ssh_root_login property in EdgeNodeSettings
            section when creating transport nodes.
          title: |-
            Allow root SSH logins.
          type: boolean
          x-deprecated: true
        compute_folder_id:
          description: |
            The edge node vm will be deployed on the specified compute folder created in a datacenter,
            if compute folder is specified.
            Note - User must ensure that compute folder is accessible by specified cluster/host.
          title: |-
            Compute folder identifier in the specified vcenter server.
          type: string
        compute_id:
          description: |
            The edge node vm will be deployed on the specified cluster or resourcepool.
            Note - all the hosts must have nsx fabric prepared in the specified cluster.
          title: |-
            Cluster identifier or resourcepool identifier for specified vcenter server.
          type: string
        data_network_ids:
          description: |
            List of distributed portgroup or VLAN logical identifiers to which the
            datapath serving vnics of edge node vm will be connected.
          items:
            type: string
          maxItems: 3
          minItems: 1
          title: |-
            Portgroup or logical switch identifiers for datapath connectivity.
          type: array
        default_gateway_addresses:
          description: |
            The default gateway for edge node must be specified if all the nodes it
            communicates with are not in the same subnet.
            Note: Only single IPv4 default gateway address is supported and it must
            belong to management network.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          maxItems: 1
          minItems: 1
          title: |-
            Default gateway for the node.
          type: array
        dns_servers:
          description: |
            List of DNS servers.
            This field is deprecated. Use dns_servers property in EdgeNodeSettings
            section when creating or updating transport nodes.
          items:
            description: |-
              IPv4 or IPv6 address
            format: ip
            type: string
          title: |-
            DNS servers.
          type: array
          x-deprecated: true
        enable_ssh:
          default: false
          description: |
            Enabling SSH service is not recommended for security reasons.
            This field is deprecated. Use enable_ssh property in EdgeNodeSettings
            section when creating or updating transport nodes.
          title: |-
            Enable SSH.
          type: boolean
          x-deprecated: true
        host_id:
          description: |
            The edge node vm will be deployed on the specified Host within the cluster
            if host_id is specified.
            Note - User must ensure that storage and specified networks are accessible by this host.
          title: |-
            Host identifier in the specified vcenter server.
          type: string
        hostname:
          description: |-
            Host name or FQDN for edge node.
          title: |-
            Host name or FQDN for edge node.
          type: string
          x-deprecated: true
        management_network_id:
          description: |
            Distributed portgroup identifier to which the management vnic of edge node vm
            will be connected. This portgroup must have connectivity with MP and CCP. A
            VLAN logical switch identifier may also be specified.
          title: |-
            Portgroup or logical switch identifier for management network connectivity.
          type: string
        management_port_subnets:
          description: |
            IP Address and subnet configuration for the management port. Note:
            only one IPv4 address is supported for the management port.
          items:
            $ref: '#/definitions/IPSubnet'
          maxItems: 1
          minItems: 1
          title: |-
            Port subnets for management port. Only one IPv4 Address is supported.
          type: array
        ntp_servers:
          description: |
            List of NTP servers.
            This field is deprecated. Use ntp_servers property in EdgeNodeSettings
            section when creating or updating transport nodes.
          items:
            description: |-
              Hostname or IPv4 address
            format: hostname-or-ipv4
            type: string
          title: |-
            NTP servers.
          type: array
          x-deprecated: true
        reservation_info:
          $ref: '#/definitions/ReservationInfo'
          description: |
            Resource reservation for memory and CPU resources.
          title: |-
            Resource reservation settings.
        resource_allocation:
          $ref: '#/definitions/ResourceAssignment'
          description: |
            Allocation for memory and CPU resources.
          title: |-
            Current resource allocation.
        search_domains:
          description: |
            List of domain names that are used to complete unqualified host names.
            This field is deprecated. Use search_domains property in EdgeNodeSettings
            section when creating or updating transport nodes.
          items:
            type: string
          title: |-
            Search domain names.
          type: array
          x-deprecated: true
        storage_id:
          description: |
            The edge node vm will be deployed on the specified datastore. User must ensure
            that storage is accessible by the specified cluster/host.
          title: |-
            Storage/datastore identifier in the specified vcenter server.
          type: string
        vc_id:
          description: |
            The vc specific identifiers will be resolved on this VC.
            So all other identifiers specified here must belong to this vcenter server.
          title: |-
            Vsphere compute identifier for identifying the vcenter server.
          type: string
      required:
      - data_network_ids
      - storage_id
      - management_network_id
      - vc_id
      - compute_id
      type: object
      x-vmw-nsx-module: FabricNode
    description: |
      The Vsphere deployment configuration determines where to deploy the edge
      node. It contains settings that are applied during install time.
      If using DHCP, you must leave the following fields unset: search_domains,
      management_port_subnets, dns_servers and default_gateway_addresses.
      Use EdgeNodeSettings to specify host name, SSH, NTP and DNS settings for
      both deployment and consequent update. These settings are editable for
      manually deployed edge nodes as well.
      EdgeNodeSettings reports current values configured on the edge node.
      The following fields are deprecated Hostname, SSH, NTP and DNS settings.
    x-vmw-nsx-module: FabricNode
  VtepCsvListResult:
    allOf:
    - $ref: '#/definitions/CsvListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        results:
          items:
            $ref: '#/definitions/VtepTableCsvRecord'
          type: array
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  VtepLabelPool:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - properties:
        pool_usage:
          $ref: '#/definitions/VtepLabelPoolUsage'
          description: |-
            Pool usage statistics
          readOnly: true
          title: |-
            Pool usage statistics
        ranges:
          description: |-
            Array of ranges for virtual tunnel endpoint labels
          items:
            $ref: '#/definitions/VtepLabelRange'
          title: |-
            Array of ranges for virtual tunnel endpoint labels
          type: array
      required:
      - ranges
      type: object
      x-vmw-nsx-module: VtepLabel
    description: |-
      A collection of ranges of virtual tunnel endpoint labels
    x-vmw-nsx-module: VtepLabel
  VtepLabelPoolListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        results:
          description: |-
            Virtual tunnel endpoint label pool list results
          items:
            $ref: '#/definitions/VtepLabelPool'
          title: |-
            Virtual tunnel endpoint label pool list results
          type: array
      required:
      - results
      type: object
      x-vmw-nsx-module: VtepLabel
    x-vmw-nsx-module: VtepLabel
  VtepLabelPoolUsage:
    description: |-
      Pool usage statistics in a pool
    properties:
      allocated_ids:
        description: |-
          Total number of allocated IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of allocated IDs in a pool
        type: integer
      free_ids:
        description: |-
          Total number of free IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of free IDs in a pool
        type: integer
      total_ids:
        description: |-
          Total number of IDs in a pool
        format: int64
        readOnly: true
        title: |-
          Total number of IDs in a pool
        type: integer
    type: object
    x-vmw-nsx-module: VtepLabel
  VtepLabelRange:
    allOf:
    - $ref: '#/definitions/Resource'
    - properties:
        end:
          description: |-
            End value for virtual tunnel endpoint label range
          format: int64
          maximum: 131071
          minimum: 1
          readOnly: false
          title: |-
            Virtual tunnel endpoint label range end
          type: integer
        start:
          description: |-
            Start value for virtual tunnel endpoint label range
          format: int64
          maximum: 131071
          minimum: 1
          readOnly: false
          title: |-
            Virtual tunnel endpoint label range start
          type: integer
      required:
      - start
      - end
      type: object
      x-vmw-nsx-module: VtepLabel
    x-vmw-nsx-module: VtepLabel
  VtepListResult:
    allOf:
    - $ref: '#/definitions/ListResult'
    - properties:
        last_update_timestamp:
          description: |-
            Timestamp when the data was last updated; unset if data source has never updated the data.
          format: int64
          readOnly: true
          type: integer
        logical_switch_id:
          description: |-
            The id of the logical Switch
          readOnly: true
          title: |-
            The id of the logical Switch
          type: string
        results:
          items:
            $ref: '#/definitions/VtepTableEntry'
          type: array
        transport_node_id:
          description: |-
            Transport node identifier
          readOnly: true
          title: |-
            Transport node identifier
          type: string
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  VtepTableCsvRecord:
    allOf:
    - $ref: '#/definitions/CsvRecord'
    - properties:
        segment_id:
          description: |-
            The segment Id
          title: |-
            The segment Id
          type: string
        vtep_ip:
          description: |-
            The virtual tunnel endpoint IP address
          format: ip
          type: string
        vtep_label:
          description: |-
            The virtual tunnel endpoint label
          format: int64
          title: |-
            The virtual tunnel endpoint label
          type: integer
        vtep_mac_address:
          description: |-
            The virtual tunnel endpoint MAC address
          title: |-
            The virtual tunnel endpoint MAC address
          type: string
      required:
      - vtep_label
      - vtep_mac_address
      type: object
      x-vmw-nsx-module: AggSvcLogicalSwitch
    x-vmw-nsx-module: AggSvcLogicalSwitch
  VtepTableEntry:
    properties:
      segment_id:
        description: |-
          The segment Id
        title: |-
          The segment Id
        type: string
      vtep_ip:
        description: |-
          The virtual tunnel endpoint IP address
        format: ip
        type: string
      vtep_label:
        description: |-
          The virtual tunnel endpoint label
        format: int64
        title: |-
          The virtual tunnel endpoint label
        type: integer
      vtep_mac_address:
        description: |-
          The virtual tunnel endpoint MAC address
        title: |-
          The virtual tunnel endpoint MAC address
        type: string
    type: object
    x-vmw-nsx-module: AggSvcLogicalSwitch
  WeeklyBackupSchedule:
    allOf:
    - $ref: '#/definitions/BackupSchedule'
    - properties:
        days_of_week:
          description: |-
            Days of week when backup is taken. 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday ...
          items:
            format: int64
            type: integer
          maxItems: 7
          minItems: 1
          title: |-
            Days of week when backup is taken. 0 - Sunday, 1 - Monday, 2 - Tuesday, 3 - Wednesday ...
          type: array
          uniqueItems: true
        hour_of_day:
          description: |-
            Time of day when backup is taken
          format: int64
          maximum: 23
          minimum: 0
          title: |-
            Time of day when backup is taken
          type: integer
        minute_of_day:
          description: |-
            Time of day when backup is taken
          format: int64
          maximum: 59
          minimum: 0
          title: |-
            Time of day when backup is taken
          type: integer
      required:
      - days_of_week
      - minute_of_day
      - hour_of_day
      type: object
      x-vmw-nsx-module: BackupConfiguration
    description: |-
      Schedule to specify day of the week and time to take automated backup
    title: |-
      Schedule to specify day of the week and time to take automated backup
    x-vmw-nsx-module: BackupConfiguration
  WeeklyTelemetrySchedule:
    allOf:
    - $ref: '#/definitions/TelemetrySchedule'
    - properties:
        day_of_week:
          description: |
            Day of week on which data will be collected. Specify one of SUNDAY through SATURDAY.
          enum:
          - SUNDAY
          - MONDAY
          - TUESDAY
          - WEDNESDAY
          - THURSDAY
          - FRIDAY
          - SATURDAY
          title: |-
            Day of week on which data will be collected
          type: string
        hour_of_day:
          description: |
            Hour at which data will be collected. Specify a value between 0 through 23.
          format: int64
          maximum: 23
          minimum: 0
          title: |-
            Hour at which data will be collected
          type: integer
        minutes:
          default: 0
          description: |
            Minute at which data will be collected. Specify a value between 0 through 59.
          format: int64
          maximum: 59
          minimum: 0
          title: |-
            Minute at which data will be collected
          type: integer
      required:
      - hour_of_day
      - day_of_week
      type: object
      x-vmw-nsx-module: TelemetryConfig
    x-vmw-nsx-module: TelemetryConfig
  WidgetConfiguration:
    allOf:
    - $ref: '#/definitions/ManagedResource'
    - discriminator: resource_type
      properties:
        datasources:
          description: |-
            The 'datasources' represent the sources from which data will be fetched. Currently, only NSX-API is supported as a 'default' datasource. An example of specifying 'default' datasource along with the urls to fetch data from is given at 'example_request' section of 'CreateWidgetConfiguration' API.
          items:
            $ref: '#/definitions/Datasource'
          minItems: 0
          title: |-
            Array of Datasource Instances with their relative urls
          type: array
        default_filter_value:
          description: |-
            Default filter values to be passed to datasources. This will be used when the report is requested without filter values.
          items:
            $ref: '#/definitions/DefaultFilterValue'
          title: |-
            Default filter value to be passed to datasources
          type: array
        display_name:
          description: |-
            Title of the widget. If display_name is omitted, the widget will be shown without a title.
          maxLength: 255
          title: |-
            Widget Title
          type: string
        drilldown_id:
          description: |-
            Id of drilldown widget, if any. Id should be a valid id of an existing widget. A widget is considered as drilldown widget when it is associated with any other widget and provides more detailed information about any data item from the parent widget.
          maxLength: 255
          title: |-
            Id of drilldown widget
          type: string
        feature_set:
          $ref: '#/definitions/FeatureSet'
          description: |-
            Features required to view the widget.
          title: |-
            Features required to view the widget
        filter:
          description: |-
            Id of filter widget for subscription, if any. Id should be a valid id of an existing filter widget. Filter widget should be from the same view. Datasource URLs should have placeholder values equal to filter alias to accept the filter value on filter change.
          title: |-
            Id of filter widget for subscription
          type: string
        filter_value_required:
          default: true
          description: |-
            Flag to indicate that widget will continue to work without filter value. If this flag is set to false then default_filter_value is manadatory.
          title: |-
            Flag to indicate if filter value is necessary
          type: boolean
        footer:
          $ref: '#/definitions/Footer'
        icons:
          description: |-
            Icons to be applied at dashboard for widgets and UI elements.
          items:
            $ref: '#/definitions/Icon'
          title: |-
            Icons
          type: array
        is_drilldown:
          default: false
          description: |-
            Set to true if this widget should be used as a drilldown.
          title: |-
            Set as a drilldown widget
          type: boolean
        legend:
          $ref: '#/definitions/Legend'
          description: |-
            Legend to be displayed. If legend is not needed, do not include it.
          title: |-
            Legend for the widget
        resource_type:
          description: |-
            Supported visualization types are LabelValueConfiguration, DonutConfiguration, GridConfiguration, StatsConfiguration, MultiWidgetConfiguration, GraphConfiguration, ContainerConfiguration, CustomWidgetConfiguration and DropdownFilterWidgetConfiguration.
          enum:
          - LabelValueConfiguration
          - DonutConfiguration
          - MultiWidgetConfiguration
          - ContainerConfiguration
          - StatsConfiguration
          - GridConfiguration
          - GraphConfiguration
          - CustomWidgetConfiguration
          - DropdownFilterWidgetConfiguration
          maxLength: 255
          readOnly: true
          title: |-
            Widget visualization type
          type: string
        shared:
          description: |-
            Please use the property 'shared' of View instead of this. The widgets of a shared view are visible to other users.
          title: |-
            Visiblity of widgets to other users
          type: boolean
          x-deprecated: true
        span:
          description: |-
            Represents the horizontal span of the widget / container.
          format: int32
          maximum: 12
          minimum: 1
          title: |-
            Horizontal span
          type: integer
        weight:
          description: |-
            Specify relavite weight in WidgetItem for placement in a view. Please see WidgetItem for details.
          format: int32
          title: |-
            Weightage or placement of the widget or container
          type: integer
          x-deprecated: true
      required:
      - resource_type
      type: object
      x-vmw-nsx-module: NsxDashboard
    description: |-
      Describes the configuration of a widget to be displayed on the dashboard. WidgetConfiguration is a base type that provides attributes of a widget in-general.
    title: |-
      Dashboard Widget Configuration
    x-vmw-nsx-module: NsxDashboard
  WidgetConfigurationList:
    description: |-
      Represents a list of widget configurations.
    properties:
      widgetconfigurations:
        description: |-
          Array of widget configurations
        items:
          $ref: '#/definitions/WidgetConfiguration'
        readOnly: true
        title: |-
          Array of widget configurations
        type: array
    title: |-
      List of Widget Configurations
    type: object
    x-vmw-nsx-module: NsxDashboard
  WidgetItem:
    description: |-
      Represents a reference to a widget that is held by a container or a multi-widget or a View.
    properties:
      alignment:
        default: LEFT
        description: |-
          Aligns widget either left or right.
        enum:
        - LEFT
        - RIGHT
        title: |-
          Alignment of widget inside container
        type: string
      label:
        $ref: '#/definitions/Label'
        description: |-
          Applicable for 'DonutConfiguration' and 'StatsConfiguration' reports only. If label is not specified, then it defaults to the label of the donut or stats report.
        title: |-
          Label of the the report
      separator:
        default: false
        description: |-
          If true, separates this widget in a container.
        title: |-
          A separator after this widget
        type: boolean
      weight:
        default: 10000
        description: |-
          Determines placement of widget or container relative to other widgets and containers. The lower the weight, the higher it is in the placement order.
        format: int32
        title: |-
          Weightage or placement of the widget or container
        type: integer
      widget_id:
        description: |-
          Id of the widget configuration that is held by a multi-widget or a container or a view.
        maxLength: 255
        title: |-
          Id of the widget configuration
        type: string
    required:
    - widget_id
    title: |-
      Widget held by MultiWidgetConfiguration or Container or a View
    type: object
    x-vmw-nsx-module: NsxDashboard
  X509Certificate:
    properties:
      dsa_public_key_g:
        description: |-
          One of the DSA cryptogaphic algorithm's strength parameters, base.
        readOnly: true
        type: string
      dsa_public_key_p:
        description: |-
          One of the DSA cryptogaphic algorithm's strength parameters, prime.
        readOnly: true
        type: string
      dsa_public_key_q:
        description: |-
          One of the DSA cryptogaphic algorithm's strength parameters, sub-prime.
        readOnly: true
        type: string
      dsa_public_key_y:
        description: |-
          One of the DSA cryptogaphic algorithm's strength parameters.
        readOnly: true
        type: string
      ecdsa_curve_name:
        description: |-
          The Curve name for the ECDSA certificate.
        readOnly: true
        title: |-
          ECDSA Curve Name
        type: string
      ecdsa_ec_field:
        description: |-
          Represents an elliptic curve (EC) finite field in ECDSA.
        enum:
        - F2M
        - FP
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Finite Field
        type: string
      ecdsa_ec_field_f2mks:
        description: |-
          The order of the middle term(s) of the reduction polynomial in elliptic curve (EC) | characteristic 2 finite field.| Contents of this array are copied to protect against subsequent modification in ECDSA.
        items:
          format: int64
          type: integer
        readOnly: true
        title: |-
          ECDSA Elliptic Curve F2MKS
        type: array
      ecdsa_ec_field_f2mm:
        description: |-
          The first coefficient of this elliptic curve in elliptic curve (EC) | characteristic 2 finite field for ECDSA.
        format: int64
        readOnly: true
        title: |-
          ECDSA Elliptic Curve F2MM
        type: integer
      ecdsa_ec_field_f2mrp:
        description: |-
          The value whose i-th bit corresponds to the i-th coefficient of the reduction polynomial | in elliptic curve (EC) characteristic 2 finite field for ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve F2MRP
        type: string
      ecdsa_ec_field_f2pp:
        description: |-
          The specified prime for the elliptic curve prime finite field in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve F2PP
        type: string
      ecdsa_public_key_a:
        description: |-
          The first coefficient of this elliptic curve in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key A
        type: string
      ecdsa_public_key_b:
        description: |-
          The second coefficient of this elliptic curve in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key B
        type: string
      ecdsa_public_key_cofactor:
        description: |-
          The co-factor in ECDSA.
        format: int64
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key Cofactor
        type: integer
      ecdsa_public_key_generator_x:
        description: |-
          X co-ordinate of G (the generator which is also known as the base point) in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key X
        type: string
      ecdsa_public_key_generator_y:
        description: |-
          Y co-ordinate of G (the generator which is also known as the base point) in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key Y
        type: string
      ecdsa_public_key_order:
        description: |-
          The order of generator G in ECDSA.
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key Order
        type: string
      ecdsa_public_key_seed:
        description: |-
          The bytes used during curve generation for later validation in ECDSA.| Contents of this array are copied to protect against subsequent modification.
        items:
          type: string
        readOnly: true
        title: |-
          ECDSA Elliptic Curve Public Key Seed
        type: array
      is_ca:
        description: |-
          True if this is a CA certificate.
        readOnly: true
        type: boolean
      is_valid:
        description: |-
          True if this certificate is valid.
        readOnly: true
        type: boolean
      issuer:
        description: |-
          The certificate issuers complete distinguished name.
        readOnly: true
        type: string
      issuer_cn:
        description: |-
          The certificate issuer's common name.
        readOnly: true
        type: string
      not_after:
        description: |-
          The time in epoch milliseconds at which the certificate becomes invalid.
        format: int64
        readOnly: true
        type: integer
      not_before:
        description: |-
          The time in epoch milliseconds at which the certificate becomes valid.
        format: int64
        readOnly: true
        type: integer
      public_key_algo:
        description: |-
          Cryptographic algorithm used by the public key for data encryption.
        enum:
        - RSA
        - DSA
        - ECDSA
        readOnly: true
        title: |-
          Public Key Algorithm
        type: string
      public_key_length:
        description: |-
          Size measured in bits of the public/private keys used in a cryptographic algorithm.
        format: int64
        readOnly: true
        type: integer
      rsa_public_key_exponent:
        description: |-
          An RSA public key is made up of the modulus and the public exponent. Exponent is a power number.
        readOnly: true
        type: string
      rsa_public_key_modulus:
        description: |-
          An RSA public key is made up of the modulus and the public exponent. Modulus is wrap around number.
        readOnly: true
        type: string
      serial_number:
        description: |-
          Certificate's serial number.
        readOnly: true
        type: string
      signature:
        description: |-
          The signature value(the raw signature bits) used for signing and validate the cert.
        readOnly: true
        type: string
      signature_algorithm:
        description: |-
          The algorithm used by the Certificate Authority to sign the certificate.
        readOnly: true
        type: string
      subject:
        description: |-
          The certificate owners complete distinguished name.
        readOnly: true
        type: string
      subject_cn:
        description: |-
          The certificate owner's common name.
        readOnly: true
        type: string
      version:
        description: |-
          Certificate version (default v1).
        readOnly: true
        type: string
    type: object
    x-vmw-nsx-module: CertificateManager
  X509Crl:
    description: |-
      A CRL is a time-stamped list identifying revoked certificates.
    properties:
      crl_entries:
        description: |-
          List of X509CrlEntry.
        items:
          $ref: '#/definitions/X509CrlEntry'
        readOnly: true
        type: array
      issuer:
        description: |-
          Issuer's distinguished name. (DN)
        readOnly: true
        type: string
      next_update:
        description: |-
          Next update time for the CRL.
        readOnly: true
        type: string
      version:
        description: |-
          CRL's version number either 1 or 2.
        readOnly: true
        type: string
    title: |-
      A CRL is a time-stamped list identifying revoked certificates.
    type: object
    x-vmw-nsx-module: CertificateManager
  X509CrlEntry:
    description: |-
      Each revoked certificate is identified in a CRL by its certificate serial number.
    properties:
      revocation_date:
        description: |-
          Revocation date.
        readOnly: true
        type: string
      serial_number:
        description: |-
          The revoked certificate's serial number.
        readOnly: true
        type: string
    title: |-
      Each revoked certificate is identified in a CRL by its certificate serial number.
    type: object
    x-vmw-nsx-module: CertificateManager
parameters: {}
responses:
  BadGateway:
    description: Bad Gateway
    schema:
      $ref: '#/definitions/ApiError'
  BadRequest:
    description: Bad Request
    schema:
      $ref: '#/definitions/ApiError'
  BandwidthLimitExceeded:
    description: Bandwidth Limit Exceeded
    schema:
      $ref: '#/definitions/ApiError'
  BlockedbyWindowsParentalControls:
    description: Blocked by Windows Parental Controls
    schema:
      $ref: '#/definitions/ApiError'
  ClientClosedRequest:
    description: Client Closed Request
    schema:
      $ref: '#/definitions/ApiError'
  Conflict:
    description: Conflict
    schema:
      $ref: '#/definitions/ApiError'
  EnhanceYourCalm:
    description: Enhance Your Calm
    schema:
      $ref: '#/definitions/ApiError'
  ExpectationFailed:
    description: Expectation Failed
    schema:
      $ref: '#/definitions/ApiError'
  FailedDependency:
    description: Failed Dependency
    schema:
      $ref: '#/definitions/ApiError'
  Forbidden:
    description: Forbidden
    schema:
      $ref: '#/definitions/ApiError'
  GatewayTimeout:
    description: Gateway Timeout
    schema:
      $ref: '#/definitions/ApiError'
  Gone:
    description: Gone
    schema:
      $ref: '#/definitions/ApiError'
  HTTPVersionNotSupported:
    description: HTTP Version Not Supported
    schema:
      $ref: '#/definitions/ApiError'
  Iamateapot:
    description: I am a teapot
    schema:
      $ref: '#/definitions/ApiError'
  InsufficientStorage:
    description: Insufficient Storage
    schema:
      $ref: '#/definitions/ApiError'
  InternalServerError:
    description: Internal Server Error
    schema:
      $ref: '#/definitions/ApiError'
  LengthRequired:
    description: Length Required
    schema:
      $ref: '#/definitions/ApiError'
  Locked:
    description: Locked
    schema:
      $ref: '#/definitions/ApiError'
  LoopDetected:
    description: Loop Detected
    schema:
      $ref: '#/definitions/ApiError'
  MethodNotAllowed:
    description: Method Not Allowed
    schema:
      $ref: '#/definitions/ApiError'
  NetworkAuthenticationRequired:
    description: Network Authentication Required
    schema:
      $ref: '#/definitions/ApiError'
  NoResponse:
    description: No Response
    schema:
      $ref: '#/definitions/ApiError'
  NotAcceptable:
    description: Not Acceptable
    schema:
      $ref: '#/definitions/ApiError'
  NotExtended:
    description: Not Extended
    schema:
      $ref: '#/definitions/ApiError'
  NotFound:
    description: Not Found
    schema:
      $ref: '#/definitions/ApiError'
  NotImplemented:
    description: Not Implemented
    schema:
      $ref: '#/definitions/ApiError'
  PaymentRequired:
    description: Payment Required
    schema:
      $ref: '#/definitions/ApiError'
  PreconditionFailed:
    description: Precondition Failed
    schema:
      $ref: '#/definitions/ApiError'
  PreconditionRequired:
    description: Precondition Required
    schema:
      $ref: '#/definitions/ApiError'
  ProxyAuthenticationRequired:
    description: Proxy Authentication Required
    schema:
      $ref: '#/definitions/ApiError'
  Request-URITooLong:
    description: Request-URI Too Long
    schema:
      $ref: '#/definitions/ApiError'
  RequestEntityTooLarge:
    description: Request Entity Too Large
    schema:
      $ref: '#/definitions/ApiError'
  RequestHeaderFieldsTooLarge:
    description: Request Header Fields Too Large
    schema:
      $ref: '#/definitions/ApiError'
  RequestTimeout:
    description: Request Timeout
    schema:
      $ref: '#/definitions/ApiError'
  RequestedRangeNotSatisfiable:
    description: Requested Range Not Satisfiable
    schema:
      $ref: '#/definitions/ApiError'
  ReservedforWebDAV:
    description: Reserved for WebDAV
    schema:
      $ref: '#/definitions/ApiError'
  RetryWith:
    description: Retry With
    schema:
      $ref: '#/definitions/ApiError'
  ServiceUnavailable:
    description: Service Unavailable
    schema:
      $ref: '#/definitions/ApiError'
  TooManyRequests:
    description: Too Many Requests
    schema:
      $ref: '#/definitions/ApiError'
  Unauthorized:
    description: Unauthorized
    schema:
      $ref: '#/definitions/ApiError'
  UnavailableForLegalReasons:
    description: Unavailable For Legal Reasons
    schema:
      $ref: '#/definitions/ApiError'
  UnprocessableEntity:
    description: Unprocessable Entity
    schema:
      $ref: '#/definitions/ApiError'
  UnsupportedMediaType:
    description: Unsupported Media Type
    schema:
      $ref: '#/definitions/ApiError'
  UpgradeRequired:
    description: Upgrade Required
    schema:
      $ref: '#/definitions/ApiError'
  VariantAlsoNegotiates:
    description: Variant Also Negotiates
    schema:
      $ref: '#/definitions/ApiError'
