apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.18.0 creationTimestamp: "2025-10-11T10:51:49Z" generation: 1 name: reservations.network.openstack.org resourceVersion: "32051" uid: 87ab36b3-ba74-4864-9951-6611d1b689d4 spec: conversion: strategy: None group: network.openstack.org names: kind: Reservation listKind: ReservationList plural: reservations singular: reservation scope: Namespaced versions: - additionalPrinterColumns: - description: Reservation jsonPath: .spec.reservation name: Reservation type: string name: v1beta1 schema: openAPIV3Schema: description: Reservation is the Schema for the reservations API 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 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 spec: description: ReservationSpec defines the desired state of Reservation properties: ipSetRef: description: IPSetRef points to the IPSet object the IPs were created for. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic reservation: additionalProperties: description: IPAddress - properties: address: description: Address contains the IP address type: string network: description: Network name pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9]$ type: string subnet: description: Subnet name pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]*[a-zA-Z0-9]$ type: string required: - address - network - subnet type: object description: Reservation, map (index network name) with reservation type: object required: - ipSetRef - reservation type: object status: description: ReservationStatus defines the observed state of Reservation type: object type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: Reservation listKind: ReservationList plural: reservations singular: reservation conditions: - lastTransitionTime: "2025-10-11T10:51:49Z" message: no conflicts found reason: NoConflicts status: "True" type: NamesAccepted - lastTransitionTime: "2025-10-11T10:51:49Z" message: the initial names have been accepted reason: InitialNamesAccepted status: "True" type: Established storedVersions: - v1beta1