---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.14.0
  name: ipaddresspools.metallb.io
spec:
  group: metallb.io
  names:
    kind: IPAddressPool
    listKind: IPAddressPoolList
    plural: ipaddresspools
    singular: ipaddresspool
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .spec.autoAssign
          name: Auto Assign
          type: boolean
        - jsonPath: .spec.avoidBuggyIPs
          name: Avoid Buggy IPs
          type: boolean
        - jsonPath: .spec.addresses
          name: Addresses
          type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                addresses:
                  items:
                    type: string
                  type: array
                autoAssign:
                  default: true
                  type: boolean
                avoidBuggyIPs:
                  default: false
                  type: boolean
                serviceAllocation:
                  properties:
                    namespaceSelectors:
                      items:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                                - key
                                - operator
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                    namespaces:
                      items:
                        type: string
                      type: array
                    priority:
                      type: integer
                    serviceSelectors:
                      items:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                                  x-kubernetes-list-type: atomic
                              required:
                                - key
                                - operator
                              type: object
                            type: array
                            x-kubernetes-list-type: atomic
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                        x-kubernetes-map-type: atomic
                      type: array
                  type: object
              required:
                - addresses
              type: object
            status:
              type: object
          required:
            - spec
          type: object
      served: true
      storage: true
      subresources:
        status: {}
