apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    api-approved.openshift.io: https://github.com/openshift/api/pull/527
  name: clusternetworks.network.openshift.io
spec:
  group: network.openshift.io
  names:
    kind: ClusterNetwork
    listKind: ClusterNetworkList
    plural: clusternetworks
    singular: clusternetwork
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - description: The primary cluster network CIDR
      jsonPath: .network
      name: Cluster Network
      type: string
    - description: The service network CIDR
      jsonPath: .serviceNetwork
      name: Service Network
      type: string
    - description: The OpenShift SDN network plug-in in use
      jsonPath: .pluginName
      name: Plugin Name
      type: string
    name: v1
    schema:
      openAPIV3Schema:
        description: ClusterNetwork describes the cluster network. There is normally
          only one object of this type, named "default", which is created by the SDN
          network plugin based on the master configuration when the cluster is brought
          up for the first time.
        type: object
        required:
        - clusterNetworks
        - serviceNetwork
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          clusterNetworks:
            description: ClusterNetworks is a list of ClusterNetwork objects that
              defines the global overlay network's L3 space by specifying a set of
              CIDR and netmasks that the SDN can allocate addresses from.
            type: array
            items:
              description: ClusterNetworkEntry defines an individual cluster network.
                The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved
                for external ips, CIDRs reserved for service networks, and CIDRs reserved
                for ingress ips.
              type: object
              required:
              - CIDR
              - hostSubnetLength
              properties:
                CIDR:
                  description: CIDR defines the total range of a cluster networks
                    address space.
                  type: string
                  pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$
                hostSubnetLength:
                  description: HostSubnetLength is the number of bits of the accompanying
                    CIDR address to allocate to each node. eg, 8 would mean that each
                    node would have a /24 slice of the overlay network for its pods.
                  type: integer
                  format: int32
                  maximum: 30
                  minimum: 2
          hostsubnetlength:
            description: HostSubnetLength is the number of bits of network to allocate
              to each node. eg, 8 would mean that each node would have a /24 slice
              of the overlay network for its pods
            type: integer
            format: int32
            maximum: 30
            minimum: 2
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          mtu:
            description: MTU is the MTU for the overlay network. This should be 50
              less than the MTU of the network connecting the nodes. It is normally
              autodetected by the cluster network operator.
            type: integer
            format: int32
            maximum: 65536
            minimum: 576
          network:
            description: Network is a CIDR string specifying the global overlay network's
              L3 space
            type: string
            pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$
          pluginName:
            description: PluginName is the name of the network plugin being used
            type: string
          serviceNetwork:
            description: ServiceNetwork is the CIDR range that Service IP addresses
              are allocated from
            type: string
            pattern: ^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$
          vxlanPort:
            description: VXLANPort sets the VXLAN destination port used by the cluster.
              It is set by the master configuration file on startup and cannot be
              edited manually. Valid values for VXLANPort are integers 1-65535 inclusive
              and if unset defaults to 4789. Changing VXLANPort allows users to resolve
              issues between openshift SDN and other software trying to use the same
              VXLAN destination port.
            type: integer
            format: int32
            maximum: 65535
            minimum: 1
    served: true
    storage: true
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
