openapi: 3.2.0 info: title: Project Calico API (projectcalico.org/v3) IP Pool API version: 3.0.0 description: 'Calico exposes its custom resources through the Kubernetes API server under the `projectcalico.org/v3` API group.' 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: IP Pool paths: /ippools: get: tags: - IP Pool summary: List IPPool operationId: listIPPool responses: '200': description: IPPool list. content: application/json: schema: $ref: '#/components/schemas/IPPoolList' post: tags: - IP Pool 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: - IP Pool summary: Read IPPool operationId: readIPPool responses: '200': description: IPPool. content: application/json: schema: $ref: '#/components/schemas/IPPool' put: tags: - IP Pool 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: - IP Pool summary: Delete IPPool operationId: deleteIPPool responses: '200': description: Deleted. content: application/json: schema: $ref: '#/components/schemas/Status' components: schemas: 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' 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 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 IPPoolList: type: object properties: apiVersion: type: string kind: type: string const: IPPoolList items: type: array items: $ref: '#/components/schemas/IPPool' 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.