Kuma ZoneIngress API

The ZoneIngress API from Kuma — 2 operation(s) for zoneingress.

OpenAPI Specification

kuma-zoneingress-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Kuma Dataplane ZoneIngress API
  description: Kuma API
  version: v1alpha1
  x-ref-schema-name: DataplaneOverview
security:
- BasicAuth: []
- BearerAuth: []
- {}
tags:
- name: ZoneIngress
paths:
  /zoneingresses:
    get:
      operationId: getZoneIngressList
      parameters:
      - description: offset in the list of entities
        example: 0
        in: query
        name: offset
        required: false
        schema:
          type: integer
      - description: the number of items per page
        in: query
        name: size
        required: false
        schema:
          default: 100
          maximum: 1000
          minimum: 1
          type: integer
      - description: filter by labels when multiple filters are present, they are ANDed
        example:
          label.k8s.kuma.io/namespace: my-ns
        in: query
        name: filter
        required: false
        schema:
          properties:
            key:
              type: string
            value:
              type: string
          type: object
      responses:
        '200':
          $ref: '#/components/responses/ZoneIngressList'
      summary: Returns a list of ZoneIngress in the mesh.
      tags:
      - ZoneIngress
  /zoneingresses/{name}:
    delete:
      operationId: deleteZoneIngress
      parameters:
      - description: name of the ZoneIngress
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ZoneIngressDeleteSuccessResponse'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Deletes ZoneIngress entity
      tags:
      - ZoneIngress
    get:
      operationId: getZoneIngress
      parameters:
      - description: name of the ZoneIngress
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ZoneIngressItem'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Returns ZoneIngress entity
      tags:
      - ZoneIngress
    put:
      operationId: putZoneIngress
      parameters:
      - description: name of the ZoneIngress
        in: path
        name: name
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ZoneIngressItem'
        description: Put request
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse'
        '201':
          $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse'
      summary: Creates or Updates ZoneIngress entity
      tags:
      - ZoneIngress
components:
  schemas:
    ZoneIngressItem:
      properties:
        availableServices:
          description: 'AvailableService contains tags that represent unique subset of

            endpoints'
          items:
            properties:
              externalService:
                description: instance of external service available from the zone
                type: boolean
              instances:
                description: number of instances available for given tags
                type: integer
              mesh:
                description: mesh of the instances available for given tags
                type: string
              tags:
                additionalProperties:
                  type: string
                description: tags of the service
                type: object
            type: object
          type: array
        labels:
          additionalProperties:
            type: string
          type: object
        name:
          type: string
        networking:
          description: 'Networking defines the address and port of the Ingress to listen on.

            Additionally publicly advertised address and port could be specified.'
          properties:
            address:
              description: Address on which inbound listener will be exposed
              type: string
            admin:
              description: Admin contains configuration related to Envoy Admin API
              properties:
                port:
                  description: Port on which Envoy Admin API server will be listening
                  type: integer
              type: object
            advertisedAddress:
              description: 'AdvertisedAddress defines IP or DNS name on which ZoneIngress is

                accessible to other Kuma clusters.'
              type: string
            advertisedPort:
              description: 'AdvertisedPort defines port on which ZoneIngress is accessible to other

                Kuma clusters.'
              type: integer
            port:
              description: Port of the inbound interface that will forward requests to the service.
              type: integer
          type: object
        type:
          type: string
        zone:
          description: 'Zone field contains Zone name where ingress is serving, field will be

            automatically set by Global Kuma CP'
          type: string
      required:
      - type
      - name
      type: object
    NotFoundError:
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        properties:
          status:
            type: integer
            enum:
            - 404
            example: 404
            description: 'The HTTP status code for NotFoundError MUST be 404.

              '
          title:
            type: string
            example: Not Found
          type:
            type: string
            example: https://httpstatuses.com/404
          detail:
            type: string
            example: The requested resource was not found
    InvalidParameters:
      type: object
      title: Invalid Parameters
      required:
      - field
      - reason
      - source
      properties:
        field:
          type: string
          description: The name of the field that caused the error.
        reason:
          type: string
          description: 'A short, human-readable description of the problem.

            _Should_ be provided as "Sentence case" for direct use in a UI.

            '
        rule:
          type: string
          description: 'May be provided as a hint to the user to help understand the type of failure.

            Additional guidance may be provided in additional fields, i.e. `choices`.

            '
        choices:
          type: array
          description: 'Optional field to provide a list of valid choices for the field that caused the error.

            '
          items:
            type: string
        source:
          type: string
          description: 'The location of the field that caused the error.

            '
          enum:
          - body
          - query
          - header
          - path
    Error:
      type: object
      title: Error
      description: 'Standard error. Follows the [AIP #193 - Errors](https://kong-aip.netlify.app/aip/193/) specification.

        '
      x-examples:
        Example 1:
          status: 404
          title: Not Found
          type: https://kongapi.info/konnect/not-found
          instance: portal:trace:2287285207635123011
          detail: The requested document was not found
      required:
      - status
      - title
      - instance
      - type
      - detail
      properties:
        status:
          type: integer
          description: The HTTP status code.
          example: 404
        title:
          type: string
          description: 'A short, human-readable summary of the problem.

            It **should not** change between occurrences of a problem, except for localization.

            Should be provided as "Sentence case" for potential direct use in a UI

            '
          example: Not Found
        type:
          type: string
          description: 'A unique identifier for this error. When dereferenced it must provide human-readable documentation for the problem.

            '
          example: Not Found
        instance:
          type: string
          example: portal:trace:2287285207635123011
          description: 'Used to return the correlation ID back to the user, in the format `<app>:trace:<correlation_id>`.

            '
        detail:
          type: string
          example: The requested team was not found
          description: 'A human readable explanation specific to this occurrence of the problem.

            This field may contain request/entity data to help the user understand what went wrong.

            Enclose variable values in square brackets.

            _Should_ be provided as "Sentence case" for direct use in a UI

            '
        invalid_parameters:
          type: array
          description: 'All 400 errors **MUST** return an `invalid_parameters` key in the response.

            Used to indicate which fields have invalid values when validated.

            '
          items:
            $ref: '#/components/schemas/InvalidParameters'
  responses:
    NotFound:
      description: Not Found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
    ZoneIngressItem:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ZoneIngressItem'
      description: Successful response
    ZoneIngressList:
      content:
        application/json:
          schema:
            properties:
              items:
                items:
                  $ref: '#/components/schemas/ZoneIngressItem'
                type: array
              next:
                description: URL to the next page
                type: string
              total:
                description: The total number of entities
                type: number
            type: object
      description: List
    ZoneIngressDeleteSuccessResponse:
      content:
        application/json:
          schema:
            type: object
      description: Successful response
    ZoneIngressCreateOrUpdateSuccessResponse:
      content:
        application/json:
          schema:
            properties:
              warnings:
                description: 'warnings is a list of warning messages to return to the requesting Kuma API clients.

                  Warning messages describe a problem the client making the API request should correct or be aware of.

                  '
                items:
                  type: string
                readOnly: true
                type: array
            type: object
      description: Successful response
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    BearerAuth:
      type: http
      scheme: bearer