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