apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: ips.kubeovn.io spec: group: kubeovn.io version: v1 scope: Cluster names: plural: ips singular: ip kind: IP shortNames: - ip additionalPrinterColumns: - name: IP type: string JSONPath: .spec.ipAddress - name: Mac type: string JSONPath: .spec.macAddress - name: Node type: string JSONPath: .spec.nodeName - name: Subnet type: string JSONPath: .spec.subnet --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: subnets.kubeovn.io spec: group: kubeovn.io version: v1 scope: Cluster names: plural: subnets singular: subnet kind: Subnet shortNames: - subnet subresources: status: {} additionalPrinterColumns: - name: Provider type: string JSONPath: .spec.provider - name: Protocol type: string JSONPath: .spec.protocol - name: CIDR type: string JSONPath: .spec.cidrBlock - name: Private type: boolean JSONPath: .spec.private - name: NAT type: boolean JSONPath: .spec.natOutgoing - name: Default type: boolean JSONPath: .spec.default - name: GatewayType type: string JSONPath: .spec.gatewayType - name: Used type: number JSONPath: .status.usingIPs - name: Available type: number JSONPath: .status.availableIPs validation: openAPIV3Schema: properties: spec: required: ["cidrBlock"] properties: cidrBlock: type: "string" gateway: type: "string" --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: vlans.kubeovn.io spec: group: kubeovn.io version: v1 scope: Cluster names: plural: vlans singular: vlan kind: Vlan shortNames: - vlan additionalPrinterColumns: - name: VlanID type: string JSONPath: .spec.vlanId - name: ProviderInterfaceName type: string JSONPath: .spec.providerInterfaceName - name: Subnet type: string JSONPath: .spec.subnet