openapi: 3.1.0 info: title: Project Calico API (projectcalico.org/v3) BGPConfiguration IPPool API version: 3.0.0 description: 'Calico exposes its custom resources through the Kubernetes API server under the `projectcalico.org/v3` API group. Authentication and transport follow standard Kubernetes conventions (bearer token or client cert) and requests are made against the cluster''s kube-apiserver. This document covers the most commonly used resources: NetworkPolicy, GlobalNetworkPolicy, BGPPeer, BGPConfiguration, IPPool, HostEndpoint, and Profile. Cluster-scoped resources do not appear under a `/namespaces/{namespace}/` segment. ' contact: name: Project Calico / Tigera url: https://docs.tigera.io/calico/latest/reference/ servers: - url: https://{kube_apiserver_host}/apis/projectcalico.org/v3 description: Calico API group on the Kubernetes API server variables: kube_apiserver_host: default: kubernetes.default.svc description: Kubernetes API server host security: - BearerAuth: [] tags: - name: IPPool paths: /ippools: get: tags: - IPPool summary: List IPPool operationId: listIPPool responses: '200': description: IPPool list. content: application/json: schema: $ref: '#/components/schemas/IPPoolList' post: tags: - IPPool summary: Create IPPool operationId: createIPPool requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IPPool' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/IPPool' /ippools/{name}: parameters: - $ref: '#/components/parameters/Name' get: tags: - IPPool summary: Read IPPool operationId: readIPPool responses: '200': description: IPPool. content: application/json: schema: $ref: '#/components/schemas/IPPool' put: tags: - IPPool summary: Replace IPPool operationId: replaceIPPool requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IPPool' responses: '200': description: Updated. content: application/json: schema: $ref: '#/components/schemas/IPPool' delete: tags: - IPPool summary: Delete IPPool operationId: deleteIPPool responses: '200': description: Deleted. content: application/json: schema: $ref: '#/components/schemas/Status' components: schemas: IPPoolList: type: object properties: apiVersion: type: string kind: type: string const: IPPoolList items: type: array items: $ref: '#/components/schemas/IPPool' IPPoolSpec: type: object required: - cidr properties: cidr: type: string blockSize: type: integer ipipMode: type: string enum: - Always - CrossSubnet - Never vxlanMode: type: string enum: - Always - CrossSubnet - Never natOutgoing: type: boolean disabled: type: boolean disableBGPExport: type: boolean nodeSelector: type: string allowedUses: type: array items: type: string enum: - Workload - Tunnel ObjectMeta: type: object properties: name: type: string namespace: type: string resourceVersion: type: string uid: type: string creationTimestamp: type: string format: date-time labels: type: object additionalProperties: type: string annotations: type: object additionalProperties: type: string IPPool: type: object required: - apiVersion - kind - metadata - spec properties: apiVersion: type: string const: projectcalico.org/v3 kind: type: string const: IPPool metadata: $ref: '#/components/schemas/ObjectMeta' spec: $ref: '#/components/schemas/IPPoolSpec' Status: type: object properties: kind: type: string default: Status apiVersion: type: string status: type: string message: type: string reason: type: string code: type: integer parameters: Name: name: name in: path required: true schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: Kubernetes service account bearer token.