Tessell VPC Governance API

The VPC Governance API from Tessell — 17 operation(s) for vpc governance.

Operations 21

GET /network/governance/vpcs Get a list of VPCs as an administrator #
POST /network/governance/vpcs Create a VPC #
GET /network/governance/vpcs/{name} Get VPC as an administrator by Name #
DELETE /network/governance/vpcs/{name} Delete a VPC #
POST /network/governance/vpcs/register Register VPC from a BYOA subscription #
GET /network/governance/vpcs/{name}/acls Get ACL (Access Control List) of a VPC #
PATCH /network/governance/vpcs/{name}/acls Modify ACL (Access Control List) of a VPC #
DELETE /network/governance/vpcs/{name}/acls Delete ACL (Access Control List) of a VPC #
GET /network/governance/vpcs/{name}/acls/eligible-users Get a list of Users with allowed accesses for a VPC #
PATCH /network/governance/vpcs/{name}/{action} Apply action on a VPC #
GET /network/governance/vpc/{vpcName}/subnets Get a list of Subnets of a VPC #
POST /network/governance/vpcs/discovery List VPCs from a BYOA Subscription to register in Tessell #
POST /network/governance/vpcs/{name}/discovery Get VPC and it's Subnets from a BYOA Subscription registered in Tessell #
GET /network/governance/vpcs/{name}/track Track the progress of the ongoing VPC registration operation #
PUT /network/governance/vpcs/{name}/steps/{step-id}/skip Skip a particular step in the VPC registration flow #
PUT /network/governance/vpcs/{name}/resubmit Resubmit failed VPC registration #
PATCH /network/governance/vpcs/{name}/subnets/register Edit registered subnets of a VPC from a BYOA subscription #
POST /network/governance/vpc-endpoints/discovery List VPC Endpoints from a BYOA Subscription to register in Tessell #
POST /network/governance/security-groups/discovery List Security Groups from a BYOA Subscription #
POST /network/governance/route-tables/discovery List Route Tables from a BYOA Subscription #
POST /network/governance/private-link-scopes/discovery List Private Link Scopes from a BYOA Subscription #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tessell-vpc-governance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tessell-vpc-governance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tessell APIs activity-center VPC Governance API
  contact:
    email: support@tessell.com
    name: Tessell Inc
    url: https://www.tessell.com
  description: Tessell API Documentation
  termsOfService: https://www.tessell.com/terms
  version: '1.0'
servers:
- url: '{server}'
  variables:
    server:
      default: console.tessell.com
tags:
- name: VPC Governance
paths:
  /network/governance/vpcs:
    get:
      tags:
      - VPC Governance
      summary: Get a list of VPCs as an administrator
      operationId: getVpcsGovernance
      parameters:
      - $ref: '#/components/parameters/subscriptionName'
      - $ref: '#/components/parameters/cloudTypeOldConvention'
      - $ref: '#/components/parameters/cloudRegion'
      - $ref: '#/components/parameters/includeSubnets'
      - $ref: '#/components/parameters/includeSharedWith'
      - $ref: '#/components/parameters/owners'
      - $ref: '#/components/parameters/usageType'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VpcServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    post:
      tags:
      - VPC Governance
      summary: Create a VPC
      operationId: createVpcGovernance
      requestBody:
        description: VPC Information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVpcServiceConsumerPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/vpcs/{name}:
    get:
      tags:
      - VPC Governance
      summary: Get VPC as an administrator by Name
      operationId: getVpcByNameGovernance
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - $ref: '#/components/parameters/includeSharedWith'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - VPC Governance
      summary: Delete a VPC
      operationId: deleteVpcGovernance
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/register:
    post:
      tags:
      - VPC Governance
      summary: Register VPC from a BYOA subscription
      operationId: registerVpcGovernance
      requestBody:
        description: VPC Information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterClientVpcServiceConsumerPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/vpcs/{name}/acls:
    get:
      tags:
      - VPC Governance
      summary: Get ACL (Access Control List) of a VPC
      operationId: getVpcAcls
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityAclSharingInfo'
          description: Ok
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    patch:
      tags:
      - VPC Governance
      summary: Modify ACL (Access Control List) of a VPC
      operationId: modifyVpcAcls
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AclPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AclPayload'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - VPC Governance
      summary: Delete ACL (Access Control List) of a VPC
      operationId: deleteVpcAcls
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AclRevokePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/acls/eligible-users:
    get:
      tags:
      - VPC Governance
      summary: Get a list of Users with allowed accesses for a VPC
      operationId: getVpcEligibleUserList
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - $ref: '#/components/parameters/roles'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AclEligibleUser'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/{action}:
    patch:
      tags:
      - VPC Governance
      summary: Apply action on a VPC
      operationId: applyActionOnVpc
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - $ref: '#/components/parameters/actionInPath'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpc/{vpcName}/subnets:
    get:
      tags:
      - VPC Governance
      summary: Get a list of Subnets of a VPC
      operationId: getVpcSubnetsGovernance
      parameters:
      - name: vpcName
        in: path
        description: VPC Name
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - $ref: '#/components/parameters/pageSize'
      - $ref: '#/components/parameters/pageOffset'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcSubnetServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/discovery:
    post:
      tags:
      - VPC Governance
      summary: List VPCs from a BYOA Subscription to register in Tessell
      operationId: getVpcsToRegisterGovernance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverVpcPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientVpc'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/vpcs/{name}/discovery:
    post:
      tags:
      - VPC Governance
      summary: Get VPC and it's Subnets from a BYOA Subscription registered in Tessell
      operationId: getRegisteredVpcDetailsFromCloudGovernance
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverVpcPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientVpc'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/track:
    get:
      tags:
      - VPC Governance
      summary: Track the progress of the ongoing VPC registration operation
      description: Track the progress of the ongoing VPC registration operation
      operationId: trackVpcRegistration
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcRegistrationTrackingDetails'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/steps/{step-id}/skip:
    put:
      tags:
      - VPC Governance
      summary: Skip a particular step in the VPC registration flow
      description: Skip a particular step in the VPC registration flow
      operationId: skipVpcRegistrationStep
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - $ref: '#/components/parameters/stepId'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Step'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/resubmit:
    put:
      tags:
      - VPC Governance
      summary: Resubmit failed VPC registration
      description: Resubmit failed VPC registration
      operationId: resubmitVpcRegistration
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - $ref: '#/components/parameters/subscriptionNameMandatoryOldConvention'
      - $ref: '#/components/parameters/cloudTypeOldConventionMandatory'
      - $ref: '#/components/parameters/cloudRegionMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcServiceConsumer'
        '204':
          description: No Content
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpcs/{name}/subnets/register:
    patch:
      tags:
      - VPC Governance
      summary: Edit registered subnets of a VPC from a BYOA subscription
      operationId: editRegisteredVpcGovernance
      parameters:
      - $ref: '#/components/parameters/nameInPath'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: VPC Information
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterClientVpcSubnetServiceConsumerPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VpcServiceConsumer'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /network/governance/vpc-endpoints/discovery:
    post:
      tags:
      - VPC Governance
      summary: List VPC Endpoints from a BYOA Subscription to register in Tessell
      operationId: discoverVpcEndpointsGovernance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverVpcEndpointPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateEndpointResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/security-groups/discovery:
    post:
      tags:
      - VPC Governance
      summary: List Security Groups from a BYOA Subscription
      operationId: discoverSecurityGroupsGovernance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverVpcSecurityGroupPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecurityGroups'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/route-tables/discovery:
    post:
      tags:
      - VPC Governance
      summary: List Route Tables from a BYOA Subscription
      operationId: discoverRouteTablesGovernance
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverVpcRouteTablePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteTables'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /network/governance/private-link-scopes/discovery:
    post:
      tags:
      - VPC Governance
      summary: List Private Link Scopes from a BYOA Subscription
      operationId: discoverPrivateLinkScopes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverPrivateLinkScopePayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateLinkScopes'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorOps'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
components:
  schemas:
    SubnetType:
      title: SubnetType
      type: string
      description: Subnet Connectivity Type
      enum:
      - PRIVATE
      - PUBLIC
      - UNKNOWN
    GcpNetworkTagType:
      type: string
      description: Type of network tag
      enum:
      - NETWORK_TAG
      - SECURE_TAG
    VpcRegistrationTrackingDetails:
      description: VPC Registration Tracking Details
      type: object
      properties:
        status:
          $ref: '#/components/schemas/VpcStatus'
        name:
          type: string
          description: name of the VPC
        subscriptionName:
          type: string
          description: name of the subscription
        cloudType:
          $ref: '#/components/schemas/cloudType'
        region:
          type: string
          description: region of the VPC
        progress:
          $ref: '#/components/schemas/Progress'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/Step'
    AclEligibleUser:
      title: AclEligibleUser
      description: Eligible user for sharing the entity
      properties:
        firstName:
          type: string
        lastName:
          type: string
        emailId:
          type: string
        eligibleRoles:
          type: array
          items:
            type: string
        accessibleSubscriptions:
          type: array
          items:
            type: string
          description: List of subscriptions user has access to
    AWSPrivateEndpointType:
      description: AWS Private Endpoint Types
      type: string
      enum:
      - SQS
      - SECRET_MANAGER
      - CLOUDWATCH_LOGS
      - EC2
      - TESSELL_CONTROL_PLANE
      - S3
    DiscoverVpcSecurityGroupPayload:
      title: DiscoverVpcSecurityGroupPayload
      type: object
      required:
      - subscription
      - region
      - cloud
      properties:
        cloud:
          $ref: '#/components/schemas/cloudType'
        subscription:
          type: string
          description: Name of the subscription
          minLength: 1
          maxLength: 255
          example: byoa-sub-1
        region:
          type: string
          description: Region
          minLength: 1
          maxLength: 128
          example: us-east-1
        vpcId:
          type: string
          description: Cloud Id of the VPC
          minLength: 1
          maxLength: 500
          example: vpc-a1b2c3d4
    DelegatedTo:
      type: object
      description: Additional information for delegated subnet.
      properties:
        service:
          type: string
      required:
      - service
    VpcEndpoint:
      type: object
      required:
      - targetServiceType
      - privateDnsEnabled
      properties:
        targetServiceType:
          $ref: '#/components/schemas/VpcEndpointTargetServiceType'
        privateDnsEnabled:
          type: boolean
        dnsEntries:
          type: array
          minItems: 1
          maxItems: 20
          items:
            $ref: '#/components/schemas/VpcEndpointDnsEntry'
    DiscoverVpcPayload:
      title: DiscoverVpcPayload
      type: object
      required:
      - subscription
      - cloud
      - region
      properties:
        subscription:
          type: string
          description: Name of the subscription
          minLength: 1
          maxLength: 255
          example: byoa-sub-1
        cloud:
          $ref: '#/components/schemas/cloudType'
        region:
          type: string
          description: Region
          minLength: 1
          maxLength: 128
          example: us-east-1
        vpcId:
          type: string
          description: Cloud Id of the VPC
          minLength: 1
          maxLength: 500
          example: vpc-a1b2c3d4
    VpcSubnetServiceConsumer:
      title: Subnet
      type: object
      properties:
        vpc:
          type: string
          description: Name of the vpc
          example: Default vpc
        cloudType:
          $ref: '#/components/schemas/cloudType'
        region:
          type: string
          description: Region of the VPC
        onlyForPrivateAccess:
          type: boolean
          default: false
        isTessellCreated:
          type: boolean
          default: true
        subnetGroups:
          type: array
          items:
            $ref: '#/components/schemas/SubnetGroupMapping'
        subnets:
          $ref: '#/components/schemas/SubnetServiceConsumer'
        usageType:
          $ref: '#/components/schemas/VpcUsageType'
          description: Usage type of the VPC (GENERAL or EXADATA)
    PrivateLinkScopeResource:
      properties:
        name:
          type: string
          maxLength: 2048
        id:
          type: string
          maxLength: 2048
        privateEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/CloudResource'
    CloudResource:
      title: Resource
      type: object
      properties:
        name:
          type: string
          maxLength: 2048
        id:
          type: string
          maxLength: 2048
        vpcId:
          type: string
          maxLength: 2048
    PrivateEndpointResponse:
      title: PrivateEndpointResponse
      type: object
      properties:
        awsEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/AWSPrivateEndpointResource'
        azureEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/AzurePrivateEndpointResource'
        gcpEndpoints:
          type: array
          items:
            $ref: '#/components/schemas/GCPPrivateEndpointResource'
    AzurePrivateEndpointType:
      description: AZURE Private Endpoint Types
      type: string
      enum:
      - TESSELL_GATEWAY
      - TESSELL_METRICS
      - TESSELL_GENIE
      - LOG_MONITOR
      - TESSELL_CONTROL_PLANE
    AclUserPayload:
      title: AclUserPayload
      description: Payload to create an user's entity ACL
      required:
      - emailId
      - role
      properties:
        emailId:
          description: Email id of the user
          type: string
          minLength: 1
          maxLength: 256
        role:
          description: Role Info
          type: string
          minLength: 1
          maxLength: 64
    ClientVpc:
      title: ClientVpc
      type: object
      properties:
        name:
          type: string
          description: Name of the VPC
        cidrBlock:
          type: string
          description: Cidr block of the VPC
        cloudId:
          type: string
          description: Cloud Id of the VPC
        region:
          type: string
          description: Region of the VPC
        subnets:
          type: array
          items:
            $ref: '#/components/schemas/SubnetBasicDetails'
        registrable:
          type: boolean
          description: Whether the VPC is registrable or not
        reason:
          type: string
          description: Reason for which VPC is not registrable
    SubnetBasicDetails:
      title: SubnetBasicDetails
      type: object
      properties:
        name:
          type: string
          description: Name of the subnet
          example: Default Subnet
        cloudId:
          type: string
          description: cloudId of the subnet
          example: Default Subnet
        cidrBlock:
          type: string
          description: cidr block of the Subnet
          example: 10.0.0.4/24
        availabilityZone:
          type: string
          description: Availability Zone (applicable for AWS and Azure, not used for GCP)
        region:
          type: string
          description: Region of the subnet (applicable for GCP where subnets are regional, not per-AZ)
        type:
          $ref: '#/components/schemas/SubnetType'
        eligibleForPrivate:
          type: boolean
          description: Flag to identify if Subnet is eligible to become Private
        registeredWithTessell:
          type: boolean
          description: Flag to identify if Subnet is registered already
          default: false
        subnetGroupIds:
          type: array
          items:
            type: string
            format: uuid
        configurations:
          $ref: '#/components/schemas/SubnetConfigurations'
    RegisterClientVpcServiceConsumerPayload:
      title: RegisterClientVpcServiceConsumerPayload
      type: object
      required:
      - name
      - cloudId
      - cloudType
      - subscriptionName
      - subnets
      properties:
        name:
          type: string
          description: Name of the VPC
          minLength: 1
          maxLength: 80
          example: Prod-VPC-01
        cloudId:
          type: string
          description: Cloud Id of the VPC
          minLength: 1
          maxLength: 512
          example: vpc-1a2b3c4d
        owner:
          type: string
          description: Owner of the Tessell client VPC
          maxLength: 250
        cloudType:
          $ref: '#/components/schemas/cloudType'
        region:
          type: string
          description: Region of the VPC
          minLength: 1
          maxLength: 128
          example: us-east-1
        subscriptionName:
          type: string
          description: Name of the Tessell Subscription
          minLength: 1
          maxLength: 255
          example: default
        subnets:
          $ref: '#/components/schemas/RegisterClientSubnetServiceConsumer'
        privateEndpoints:
          $ref: '#/components/schemas/RegisterPrivateEndpointsPayload'
        privateLinkScope:
          $ref: '#/components/schemas/RegisterPrivateLinkScopePayload'
    RegisterClientSubnet:
      title: Subnet
      type: object
      required:
      - cloudId
      properties:
        cloudId:
          type: string
          description: Cloud id of the subnet
          example: subnet-1a2b3c4d
          minLength: 1
          maxLength: 512
        subnetGroups:
          type: array
          items:
            maxItems: 1
            type: string
          example:
          - group-1
        gcpNetworkTag:
          $ref: '#/components/schemas/GcpNetworkTag'
    cloudType:
      description: Tessell supported cloud types
      type: string
      enum:
      - AWS
      - AZURE
      - GCP
   

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tessell/refs/heads/main/openapi/tessell-vpc-governance-api-openapi.yml