Equinix MetalGateways API

Metal Gateway Management.Check out the product docs to learn more about [Metal Gateways](https://metal.equinix.com/developers/docs/networking/metal-gateway/).

OpenAPI Specification

equinix-metalgateways-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Equinix API Authentication MetalGateways API
  description: 'Equinix APIs use the OAuth 2.0 for authentication and authorization. Equinix supports the resource owner password and the client credentials flow.

    To begin, obtain OAuth 2.0 client credentials from the Equinix Developer Console under "My Apps". Then your client application  requests an access token from the Equinix API Authorization endpoint, extracts the access_token from the response, and sends the Bearer token to the API that you want to access'
  termsOfService: https://www.equinix.com/about/legal/terms
  contact:
    name: Equinix API Support
    url: https://docs.equinix.com/api-support.htm
  version: '1.2'
servers:
- url: https://api.equinix.com
tags:
- description: 'Metal Gateway Management.Check out the product docs to learn more about [Metal Gateways](https://metal.equinix.com/developers/docs/networking/metal-gateway/).

    '
  externalDocs:
    url: https://metal.equinix.com/developers/docs/networking/metal-gateway/
  name: MetalGateways
paths:
  /metal-gateways/{id}:
    delete:
      description: Deletes a metal gateway and any elastic IP assignments associated with this metal gateway.
      operationId: deleteMetalGateway
      parameters:
      - description: Metal Gateway UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/findMetalGatewayById_200_response'
          description: accepted
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Deletes the metal gateway
      tags:
      - MetalGateways
    get:
      description: Returns a specific metal gateway
      operationId: findMetalGatewayById
      parameters:
      - description: Metal Gateway UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/findMetalGatewayById_200_response'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Returns the metal gateway
      tags:
      - MetalGateways
  /metal-gateways/{id}/ips:
    get:
      description: Returns the list of Elastic IPs assigned to this Metal Gateway
      operationId: getMetalGatewayElasticIps
      parameters:
      - description: Metal Gateway UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAssignmentList'
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
      summary: List Metal Gateway Elastic IPs
      tags:
      - MetalGateways
    post:
      description: 'Create a new Elastic IP on this Metal Gateway.


        Assign an IPv4 range as an elastic IP to the Metal Gateway, with a specified next-hop address contained within the Metal Gateway.


        Notice: Elastic IPs on Metal Gateways are a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information.

        '
      operationId: createMetalGatewayElasticIp
      parameters:
      - description: Metal Gateway UUID
        in: path
        name: id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetalGatewayElasticIpCreateInput'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAssignment'
          description: Created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unprocessable entity
      summary: Create a Metal Gateway Elastic IP
      tags:
      - MetalGateways
  /projects/{project_id}/metal-gateways:
    get:
      description: Return all metal gateways for a project
      operationId: findMetalGatewaysByProject
      parameters:
      - description: Project UUID
        in: path
        name: project_id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetalGatewayList'
          description: ok
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
      summary: Returns all metal gateways for a project
      tags:
      - MetalGateways
      x-equinix-metal-paginated-property: MetalGateways
    post:
      description: Create a metal gateway in a project
      operationId: createMetalGateway
      parameters:
      - description: Project UUID
        in: path
        name: project_id
        required: true
        schema:
          format: uuid
          type: string
      - description: 'Nested attributes to include. Included objects will return their full

          attributes. Attribute names can be dotted (up to 3 levels) to included deeply

          nested objects.'
        explode: false
        in: query
        name: include
        schema:
          items:
            type: string
          type: array
        style: form
      - description: 'Nested attributes to exclude. Excluded objects will return only the href

          attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply

          nested objects.'
        explode: false
        in: query
        name: exclude
        schema:
          items:
            type: string
          type: array
        style: form
      - description: Page to return
        in: query
        name: page
        schema:
          default: 1
          format: int32
          maximum: 100000
          minimum: 1
          type: integer
      - description: Items returned per page
        in: query
        name: per_page
        schema:
          default: 10
          format: int32
          maximum: 1000
          minimum: 1
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createMetalGateway_request'
        description: Metal Gateway to create
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/findMetalGatewayById_200_response'
          description: created
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: not found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: unprocessable entity
      summary: Create a metal gateway
      tags:
      - MetalGateways
components:
  schemas:
    VrfVirtualCircuit_status:
      description: The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to `changing_peering_details` whenever an active VRF Virtual Circuit has any of its peering details updated.
      enum:
      - pending
      - waiting_on_peering_details
      - activating
      - changing_peering_details
      - deactivating
      - deleting
      - active
      - expired
      - activation_failed
      - changing_peering_details_failed
      - deactivation_failed
      - delete_failed
      type: string
    Meta:
      example:
        next:
          href: href
        total: 0
        last:
          href: href
        previous:
          href: href
        last_page: 1
        self:
          href: href
        first:
          href: href
        current_page: 6
      properties:
        first:
          $ref: '#/components/schemas/Href'
        last:
          $ref: '#/components/schemas/Href'
        next:
          $ref: '#/components/schemas/Href'
        previous:
          $ref: '#/components/schemas/Href'
        self:
          $ref: '#/components/schemas/Href'
        total:
          type: integer
        current_page:
          type: integer
        last_page:
          type: integer
      type: object
    VrfVirtualCircuit:
      example:
        subnet: 12.0.0.0/30
        customer_ip: 12.0.0.2
        description: description
        project:
          href: href
        created_at: 2000-01-23 04:56:07+00:00
        vrf: null
        type: null
        metal_ip: 12.0.0.1
        speed: 9
        tags:
        - tags
        - tags
        nni_vlan: 2
        updated_at: 2000-01-23 04:56:07+00:00
        port:
          href: href
        name: name
        peer_asn: 7
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        md5: md5
        status: null
      properties:
        customer_ip:
          description: An IP address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.
          example: 12.0.0.2
          type: string
        description:
          type: string
        id:
          format: uuid
          type: string
        md5:
          description: The MD5 password for the BGP peering in plaintext (not a checksum).
          type: string
        metal_ip:
          description: An IP address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.
          example: 12.0.0.1
          type: string
        name:
          type: string
        port:
          $ref: '#/components/schemas/Href'
        nni_vlan:
          type: integer
        peer_asn:
          description: The peer ASN that will be used with the VRF on the Virtual Circuit.
          type: integer
        project:
          $ref: '#/components/schemas/Href'
        speed:
          description: integer representing bps speed
          type: integer
        status:
          $ref: '#/components/schemas/VrfVirtualCircuit_status'
        subnet:
          description: The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.
          example: 12.0.0.0/30
          type: string
        tags:
          items:
            type: string
          type: array
        type:
          $ref: '#/components/schemas/VrfIpReservation_type'
        vrf:
          $ref: '#/components/schemas/Vrf'
        created_at:
          format: date-time
          type: string
        updated_at:
          format: date-time
          type: string
      required:
      - vrf
      type: object
    Address:
      example:
        country: country
        address: address
        address2: address2
        city: city
        coordinates:
          latitude: latitude
          longitude: longitude
        state: state
        zip_code: zip_code
      properties:
        address:
          type: string
        address2:
          type: string
        city:
          type: string
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        country:
          type: string
        state:
          type: string
        zip_code:
          type: string
      required:
      - address
      - country
      - zip_code
      type: object
    IPAssignment:
      example:
        address: address
        parent_block:
          netmask: netmask
          cidr: 2
          href: href
          network: network
        created_at: 2000-01-23 04:56:07+00:00
        type: null
        enabled: true
        manageable: true
        network: network
        address_family: 5
        public: true
        management: true
        netmask: netmask
        metro: null
        next_hop: next_hop
        cidr: 5
        href: href
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        state: null
        global_ip: true
        gateway: gateway
        assigned_to:
          href: href
      properties:
        address:
          type: string
        address_family:
          type: integer
        assigned_to:
          $ref: '#/components/schemas/Href'
        cidr:
          type: integer
        created_at:
          format: date-time
          type: string
        enabled:
          type: boolean
        gateway:
          type: string
        global_ip:
          type: boolean
        href:
          type: string
        id:
          format: uuid
          type: string
        manageable:
          type: boolean
        management:
          type: boolean
        metro:
          $ref: '#/components/schemas/IPAssignment_metro'
        netmask:
          type: string
        network:
          type: string
        parent_block:
          $ref: '#/components/schemas/ParentBlock'
        public:
          type: boolean
        state:
          $ref: '#/components/schemas/IPAssignment_state'
        next_hop:
          description: 'Only set when this is a Metal Gateway Elastic IP Assignment.


            The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

            '
          format: ipv4
          type: string
        type:
          $ref: '#/components/schemas/IPAssignment_type'
      type: object
    ParentBlock:
      example:
        netmask: netmask
        cidr: 2
        href: href
        network: network
      properties:
        cidr:
          type: integer
        href:
          type: string
        netmask:
          type: string
        network:
          type: string
      type: object
    findMetalGatewayById_200_response:
      oneOf:
      - $ref: '#/components/schemas/MetalGateway'
      - $ref: '#/components/schemas/VrfMetalGateway'
    IPReservation_facility:
      allOf:
      - $ref: '#/components/schemas/Facility'
      - description: The facility the IP reservation is in. If the facility the IP reservation was requested in is in a metro, a metro value will also be set, and the subsequent IP reservation can be used on a metro level. Can be null if requesting an IP reservation in a metro.
        type: object
    VrfIpReservation:
      example:
        address: address
        created_at: 2000-01-23 04:56:07+00:00
        project:
          devices:
          - href: href
          - href: href
          volumes:
          - href: href
          - href: href
          created_at: 2000-01-23 04:56:07+00:00
          type: null
          memberships:
          - href: href
          - href: href
          bgp_config:
            href: href
          tags:
          - tags
          - tags
          max_devices: '{}'
          ssh_keys:
          - href: href
          - href: href
          updated_at: 2000-01-23 04:56:07+00:00
          invitations:
          - href: href
          - href: href
          members:
          - href: href
          - href: href
          organization:
            website: website
            address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            projects:
            - href: href
            - href: href
            credit_amount: 1.4658129
            created_at: 2000-01-23 04:56:07+00:00
            description: description
            billing_address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            memberships:
            - href: href
            - href: href
            enforce_2fa_at: 2000-01-23 04:56:07+00:00
            twitter: twitter
            updated_at: 2000-01-23 04:56:07+00:00
            terms: 5
            members:
            - href: href
            - href: href
            name: name
            logo: logo
            customdata: '{}'
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          name: name
          network_status: '{}'
          customdata: '{}'
          href: href
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          payment_method:
            href: href
        bill: true
        project_lite:
          devices:
          - href: href
          - href: href
          volumes:
          - href: href
          - href: href
          created_at: 2000-01-23 04:56:07+00:00
          type: null
          memberships:
          - href: href
          - href: href
          bgp_config:
            href: href
          tags:
          - tags
          - tags
          max_devices: '{}'
          ssh_keys:
          - href: href
          - href: href
          updated_at: 2000-01-23 04:56:07+00:00
          invitations:
          - href: href
          - href: href
          members:
          - href: href
          - href: href
          organization:
            website: website
            address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            projects:
            - href: href
            - href: href
            credit_amount: 1.4658129
            created_at: 2000-01-23 04:56:07+00:00
            description: description
            billing_address:
              country: country
              address: address
              address2: address2
              city: city
              coordinates:
                latitude: latitude
                longitude: longitude
              state: state
              zip_code: zip_code
            memberships:
            - href: href
            - href: href
            enforce_2fa_at: 2000-01-23 04:56:07+00:00
            twitter: twitter
            updated_at: 2000-01-23 04:56:07+00:00
            terms: 5
            members:
            - href: href
            - href: href
            name: name
            logo: logo
            customdata: '{}'
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          name: name
          network_status: '{}'
          customdata: '{}'
          href: href
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          payment_method:
            href: href
        vrf:
          bgp_dynamic_neighbors_export_route_map: true
          bgp_dynamic_neighbors_bfd_enabled: true
          local_asn: 5
          description: description
          bill: false
          bgp_dynamic_neighbors_enabled: true
          project:
            devices:
            - href: href
            - href: href
            volumes:
            - href: href
            - href: href
            created_at: 2000-01-23 04:56:07+00:00
            type: null
            memberships:
            - href: href
            - href: href
            bgp_config:
              href: href
            tags:
            - tags
            - tags
            max_devices: '{}'
            ssh_keys:
            - href: href
            - href: href
            updated_at: 2000-01-23 04:56:07+00:00
            invitations:
            - href: href
            - href: href
            members:
            - href: href
            - href: href
            organization:
              website: website
              address:
                country: country
                address: address
                address2: address2
                city: city
                coordinates:
                  latitude: latitude
                  longitude: longitude
                state: state
                zip_code: zip_code
              projects:
              - href: href
              - href: href
              credit_amount: 1.4658129
              created_at: 2000-01-23 04:56:07+00:00
              description: description
              billing_address:
                country: country
                address: address
                address2: address2
                city: city
                coordinates:
                  latitude: latitude
                  longitude: longitude
                state: state
                zip_code: zip_code
              memberships:
              - href: href
              - href: href
              enforce_2fa_at: 2000-01-23 04:56:07+00:00
              twitter: twitter
              updated_at: 2000-01-23 04:56:07+00:00
              terms: 5
              members:
              - href: href
              - href: href
              name: name
              logo: logo
              customdata: '{}'
              id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            name: name
            network_status: '{}'
            customdata: '{}'
            href: href
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            payment_method:
              href: href
          created_at: 2000-01-23 04:56:07+00:00
          created_by:
            avatar_thumb_url: avatar_thumb_url
            last_login_at: 2000-01-23 04:56:07+00:00
            max_projects: 2
            timezone: timezone
            default_project_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            created_at: 2000-01-23 04:56:07+00:00
            last_name: last_name
            short_id: short_id
            fraud_score: fraud_score
            emails:
            - href: href
            - href: href
            default_organization_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            full_name: full_name
            avatar_url: avatar_url
            updated_at: 2000-01-23 04:56:07+00:00
            phone_number: phone_number
            customdata: '{}'
            href: href
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            first_name: first_name
            max_organizations: 3
            two_factor_auth: two_factor_auth
            email: email
          tags:
          - tags
          - tags
          updated_at: 2000-01-23 04:56:07+00:00
          virtual_circuits:
          - subnet: 12.0.0.0/30
            customer_ip: 12.0.0.2
            description: description
            project:
              href: href
            created_at: 2000-01-23 04:56:07+00:00
            vrf: null
            type: null
            metal_ip: 12.0.0.1
            speed: 9
            tags:
            - tags
            - tags
            nni_vlan: 2
            updated_at: 2000-01-23 04:56:07+00:00
            port:
              href: href
            name: name
            peer_asn: 7
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            md5: md5
            status: null
          - subnet: 12.0.0.0/30
            customer_ip: 12.0.0.2
            description: description
            project:
              href: href
            created_at: 2000-01-23 04:56:07+00:00
            vrf: null
            type: null
            metal_ip: 12.0.0.1
            speed: 9
            tags:
            - tags
            - tags
            nni_vlan: 2
            updated_at: 2000-01-23 04:56:07+00:00
            port:
              href: href
            name: name
            peer_asn: 7
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
            md5: md5
            status: null
          ip_ranges:
          - ip_ranges
          - ip_ranges
          metro:
            country: country
            code: code
            name: name
            id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          name: name
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          href: href
        type: null
        created_by:
          href: href
        network: network
        tags:
        - tags
        - tags
        manageable: true
        metal_gateway:
          gateway_address: 10.1.2.1/27
          updated_at: 2000-01-23 04:56:07+00:00
          vlan: 1001
          created_at: 2000-01-23 04:56:07+00:00
          href: href
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          state: null
        address_family: 0
        public: true
        netmask: netmask
        management: true
        metro:
          country: country
          code: code
          name: name
          id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        cidr: 6
        details: details
        href: href
        id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        state: state
        customdata: '{}'
        gateway: gateway
      properties:
        address_family:
          type: integer
        cidr:
          type: integer
        created_at:
          format: date-time
          type: string
        created_by:
          $ref: '#/components/schemas/Href'
        details:
          type: string
        href:
          type: string
        id:
          format: uuid
          type: string
        metal_gateway:
          $ref: '#/components/schemas/MetalGatewayLite'
        netmask:
          type: string
        network:
          type: string
        project:
          $ref: '#/components/schemas/Project'
        state:
          type: string
        tags:
          items:
            type: string
          type: array
        type:
          $ref: '#/components/schemas/VrfIpReservation_type

# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/equinix/refs/heads/main/openapi/equinix-metalgateways-api-openapi.yml