cue.dev/x/k8s.io@v0.12.0

api/networking/v1beta1/schema.cue raw

  1package v1beta1
  2
  3import "cue.dev/x/k8s.io/apimachinery/pkg/apis/meta/v1"
  4
  5// IPAddress represents a single IP of a single IP Family. The object is
  6// designed to be used by APIs that operate on IP addresses. The object is used
  7// by the Service core API for allocation of IP addresses. An IP address can be
  8// represented in different formats, to guarantee the uniqueness of the IP, the
  9// name of the object is the IP address in canonical format, four decimal
 10// digits separated by dots suppressing leading zeros for IPv4 and the
 11// representation defined by RFC 5952 for IPv6. Valid: 192.168.1.5 or
 12// 2001:db8::1 or 2001:db8:aaaa:bbbb:cccc:dddd:eeee:1 Invalid: 10.01.2.3 or
 13// 2001:db8:0:0:0::1
 14#IPAddress: {
 15	// APIVersion defines the versioned schema of this representation of an object.
 16	// Servers should convert recognized schemas to the latest internal value, and
 17	// may reject unrecognized values. More info:
 18	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
 19	"apiVersion": "networking.k8s.io/v1beta1"
 20
 21	// Kind is a string value representing the REST resource this object represents.
 22	// Servers may infer this from the endpoint the client submits requests to.
 23	// Cannot be updated. In CamelCase. More info:
 24	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 25	"kind": "IPAddress"
 26
 27	// Standard object's metadata. More info:
 28	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 29	"metadata"?: v1.#ObjectMeta
 30
 31	// spec is the desired state of the IPAddress. More info:
 32	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
 33	"spec"!: #IPAddressSpec
 34}
 35
 36// IPAddressList contains a list of IPAddress.
 37#IPAddressList: {
 38	// APIVersion defines the versioned schema of this representation of an object.
 39	// Servers should convert recognized schemas to the latest internal value, and
 40	// may reject unrecognized values. More info:
 41	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
 42	"apiVersion": "networking.k8s.io/v1beta1"
 43
 44	// items is the list of IPAddresses.
 45	"items"!: [...#IPAddress]
 46
 47	// Kind is a string value representing the REST resource this object represents.
 48	// Servers may infer this from the endpoint the client submits requests to.
 49	// Cannot be updated. In CamelCase. More info:
 50	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 51	"kind": "IPAddressList"
 52
 53	// Standard object's metadata. More info:
 54	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 55	"metadata"?: v1.#ListMeta
 56}
 57
 58// IPAddressSpec describe the attributes in an IP Address.
 59#IPAddressSpec: {
 60	// ParentRef references the resource that an IPAddress is attached to. An
 61	// IPAddress must reference a parent object.
 62	"parentRef"!: #ParentReference
 63}
 64
 65// ParentReference describes a reference to a parent object.
 66#ParentReference: {
 67	// Group is the group of the object being referenced.
 68	"group"?: string
 69
 70	// Name is the name of the object being referenced.
 71	"name"!: string
 72
 73	// Namespace is the namespace of the object being referenced.
 74	"namespace"?: string
 75
 76	// Resource is the resource of the object being referenced.
 77	"resource"!: string
 78}
 79
 80// ServiceCIDR defines a range of IP addresses using CIDR format (e.g.
 81// 192.168.0.0/24 or 2001:db2::/64). This range is used to allocate ClusterIPs
 82// to Service objects.
 83#ServiceCIDR: {
 84	// APIVersion defines the versioned schema of this representation of an object.
 85	// Servers should convert recognized schemas to the latest internal value, and
 86	// may reject unrecognized values. More info:
 87	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
 88	"apiVersion": "networking.k8s.io/v1beta1"
 89
 90	// Kind is a string value representing the REST resource this object represents.
 91	// Servers may infer this from the endpoint the client submits requests to.
 92	// Cannot be updated. In CamelCase. More info:
 93	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
 94	"kind": "ServiceCIDR"
 95
 96	// Standard object's metadata. More info:
 97	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
 98	"metadata"?: v1.#ObjectMeta
 99
100	// spec is the desired state of the ServiceCIDR. More info:
101	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
102	"spec"?: #ServiceCIDRSpec
103
104	// status represents the current state of the ServiceCIDR. More info:
105	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
106	"status"?: #ServiceCIDRStatus
107}
108
109// ServiceCIDRList contains a list of ServiceCIDR objects.
110#ServiceCIDRList: {
111	// APIVersion defines the versioned schema of this representation of an object.
112	// Servers should convert recognized schemas to the latest internal value, and
113	// may reject unrecognized values. More info:
114	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
115	"apiVersion": "networking.k8s.io/v1beta1"
116
117	// items is the list of ServiceCIDRs.
118	"items"!: [...#ServiceCIDR]
119
120	// Kind is a string value representing the REST resource this object represents.
121	// Servers may infer this from the endpoint the client submits requests to.
122	// Cannot be updated. In CamelCase. More info:
123	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
124	"kind": "ServiceCIDRList"
125
126	// Standard object's metadata. More info:
127	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
128	"metadata"?: v1.#ListMeta
129}
130
131// ServiceCIDRSpec define the CIDRs the user wants to use for allocating ClusterIPs for Services.
132#ServiceCIDRSpec: {
133	// CIDRs defines the IP blocks in CIDR notation (e.g. "192.168.0.0/24" or
134	// "2001:db8::/64") from which to assign service cluster IPs. Max of two CIDRs
135	// is allowed, one of each IP family. This field is immutable.
136	"cidrs"?: [...string]
137}
138
139// ServiceCIDRStatus describes the current state of the ServiceCIDR.
140#ServiceCIDRStatus: {
141	// conditions holds an array of metav1.Condition that describe the state of the
142	// ServiceCIDR. Current service state
143	"conditions"?: [...v1.#Condition]
144}