Distributed Cloud Edge Network API

The Distributed Cloud Edge Network API provides programmatic access to manage networking resources for Google Distributed Cloud connected deployments at the edge. Developers can use the API to create and manage networks, subnets, routers, and interconnect attachments for edge locations.

OpenAPI Specification

distributed-cloud-edge-network-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Distributed Cloud Edge Network API
  description: >-
    The Distributed Cloud Edge Network API provides programmatic access to
    manage networking resources for Google Distributed Cloud connected
    deployments at the edge. It supports creating and managing networks,
    subnets, routers, and interconnect attachments for edge locations.
  version: v1
  contact:
    name: Google Cloud Support
    url: https://cloud.google.com/distributed-cloud/edge/latest/docs
  termsOfService: https://cloud.google.com/terms
externalDocs:
  description: Distributed Cloud Edge Network API Documentation
  url: https://cloud.google.com/distributed-cloud/edge/latest/docs/apis
servers:
  - url: https://edgenetwork.googleapis.com/v1
    description: Production Server
tags:
  - name: Networks
    description: Operations for managing edge networks
  - name: Routers
    description: Operations for managing edge routers
  - name: Subnets
    description: Operations for managing subnets within edge networks
  - name: Zones
    description: Operations for listing available edge zones
security:
  - oauth2: []
paths:
  /projects/{projectId}/locations/{location}/zones:
    get:
      operationId: listZones
      summary: Google Distributed Cloud List zones
      description: Lists the available edge zones for a project and location.
      tags:
        - Zones
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListZonesResponse'
  /projects/{projectId}/locations/{location}/zones/{zone}/networks:
    get:
      operationId: listNetworks
      summary: Google Distributed Cloud List networks
      description: Lists all networks in the specified zone.
      tags:
        - Networks
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
        - name: pageSize
          in: query
          schema:
            type: integer
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListNetworksResponse'
    post:
      operationId: createNetwork
      summary: Google Distributed Cloud Create a network
      description: Creates a new network in the specified zone.
      tags:
        - Networks
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
        - name: networkId
          in: query
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Network'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
  /projects/{projectId}/locations/{location}/zones/{zone}/subnets:
    get:
      operationId: listSubnets
      summary: Google Distributed Cloud List subnets
      description: Lists all subnets in the specified zone.
      tags:
        - Subnets
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSubnetsResponse'
    post:
      operationId: createSubnet
      summary: Google Distributed Cloud Create a subnet
      description: Creates a new subnet in the specified zone.
      tags:
        - Subnets
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Subnet'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
  /projects/{projectId}/locations/{location}/zones/{zone}/routers:
    get:
      operationId: listRouters
      summary: Google Distributed Cloud List routers
      description: Lists all routers in the specified zone.
      tags:
        - Routers
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRoutersResponse'
    post:
      operationId: createRouter
      summary: Google Distributed Cloud Create a router
      description: Creates a new router in the specified zone.
      tags:
        - Routers
      parameters:
        - name: projectId
          in: path
          required: true
          schema:
            type: string
        - name: location
          in: path
          required: true
          schema:
            type: string
        - name: zone
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Router'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/cloud-platform: Full access to Google Cloud resources
  schemas:
    Network:
      type: object
      description: An edge network resource.
      properties:
        name:
          type: string
          description: The resource name of the network.
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
        description:
          type: string
        mtu:
          type: integer
          description: Maximum transmission unit in bytes.
    Subnet:
      type: object
      description: An edge subnet resource.
      properties:
        name:
          type: string
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
        description:
          type: string
        network:
          type: string
          description: The network this subnet belongs to.
        ipv4Cidr:
          type: array
          items:
            type: string
          description: IPv4 CIDR ranges for the subnet.
        ipv6Cidr:
          type: array
          items:
            type: string
          description: IPv6 CIDR ranges for the subnet.
        vlanId:
          type: integer
          description: VLAN ID for the subnet.
    Router:
      type: object
      description: An edge router resource.
      properties:
        name:
          type: string
        createTime:
          type: string
          format: date-time
        updateTime:
          type: string
          format: date-time
        labels:
          type: object
          additionalProperties:
            type: string
        description:
          type: string
        network:
          type: string
          description: The network this router belongs to.
        bgpPeer:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              peerIpAddress:
                type: string
              peerAsn:
                type: integer
              localAsn:
                type: integer
          description: BGP peer configurations.
        interface:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              ipv4Cidr:
                type: string
              subnet:
                type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        done:
          type: boolean
    ListZonesResponse:
      type: object
      properties:
        zones:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              displayName:
                type: string
        nextPageToken:
          type: string
    ListNetworksResponse:
      type: object
      properties:
        networks:
          type: array
          items:
            $ref: '#/components/schemas/Network'
        nextPageToken:
          type: string
    ListSubnetsResponse:
      type: object
      properties:
        subnets:
          type: array
          items:
            $ref: '#/components/schemas/Subnet'
        nextPageToken:
          type: string
    ListRoutersResponse:
      type: object
      properties:
        routers:
          type: array
          items:
            $ref: '#/components/schemas/Router'
        nextPageToken:
          type: string