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}