Skip to content

Commit 658b2f8

Browse files
rohanKanojiamanusa
authored andcommitted
Add GroupKind from Kubernetes Apimachinery metav1 to Kubernetes Model Core
Signed-off-by: Rohan Kumar <[email protected]>
1 parent c4ac742 commit 658b2f8

File tree

5 files changed

+161
-1
lines changed

5 files changed

+161
-1
lines changed

kubernetes-model-generator/kubernetes-model-core/cmd/generate/generate.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ type Schema struct {
5555
Time metav1.Time
5656
MicroTime metav1.MicroTime
5757
RootPaths metav1.RootPaths
58+
GroupKind metav1.GroupKind
5859
GroupVersionKind metav1.GroupVersionKind
5960
GroupVersionResource metav1.GroupVersionResource
6061
Quantity resource.Quantity
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
2+
package io.fabric8.kubernetes.api.model;
3+
4+
import java.util.HashMap;
5+
import java.util.Map;
6+
import com.fasterxml.jackson.annotation.JsonAnyGetter;
7+
import com.fasterxml.jackson.annotation.JsonAnySetter;
8+
import com.fasterxml.jackson.annotation.JsonIgnore;
9+
import com.fasterxml.jackson.annotation.JsonInclude;
10+
import com.fasterxml.jackson.annotation.JsonProperty;
11+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
12+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
13+
import io.sundr.builder.annotations.Buildable;
14+
import lombok.EqualsAndHashCode;
15+
import lombok.Setter;
16+
import lombok.ToString;
17+
import lombok.experimental.Accessors;
18+
19+
@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class)
20+
@JsonInclude(JsonInclude.Include.NON_NULL)
21+
@JsonPropertyOrder({
22+
"apiVersion",
23+
"kind",
24+
"metadata",
25+
"group"
26+
})
27+
@ToString
28+
@EqualsAndHashCode
29+
@Setter
30+
@Accessors(prefix = {
31+
"_",
32+
""
33+
})
34+
@Buildable(editableEnabled = false, validationEnabled = false, generateBuilderPackage = true, lazyCollectionInitEnabled = false, builderPackage = "io.fabric8.kubernetes.api.builder")
35+
public class GroupKind implements KubernetesResource
36+
{
37+
38+
@JsonProperty("group")
39+
private String group;
40+
@JsonProperty("kind")
41+
private String kind;
42+
@JsonIgnore
43+
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
44+
45+
/**
46+
* No args constructor for use in serialization
47+
*
48+
*/
49+
public GroupKind() {
50+
}
51+
52+
/**
53+
*
54+
* @param kind
55+
* @param group
56+
*/
57+
public GroupKind(String group, String kind) {
58+
super();
59+
this.group = group;
60+
this.kind = kind;
61+
}
62+
63+
@JsonProperty("group")
64+
public String getGroup() {
65+
return group;
66+
}
67+
68+
@JsonProperty("group")
69+
public void setGroup(String group) {
70+
this.group = group;
71+
}
72+
73+
@JsonProperty("kind")
74+
public String getKind() {
75+
return kind;
76+
}
77+
78+
@JsonProperty("kind")
79+
public void setKind(String kind) {
80+
this.kind = kind;
81+
}
82+
83+
@JsonAnyGetter
84+
public Map<String, Object> getAdditionalProperties() {
85+
return this.additionalProperties;
86+
}
87+
88+
@JsonAnySetter
89+
public void setAdditionalProperty(String name, Object value) {
90+
this.additionalProperties.put(name, value);
91+
}
92+
93+
}

kubernetes-model-generator/kubernetes-model-core/src/generated/java/io/fabric8/kubernetes/api/model/KubeSchema.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
"EventSeries",
5050
"EventSource",
5151
"GetOptions",
52+
"GroupKind",
5253
"GroupVersionKind",
5354
"GroupVersionResource",
5455
"Info",
@@ -149,6 +150,8 @@ public class KubeSchema {
149150
private EventSource eventSource;
150151
@JsonProperty("GetOptions")
151152
private GetOptions getOptions;
153+
@JsonProperty("GroupKind")
154+
private GroupKind groupKind;
152155
@JsonProperty("GroupVersionKind")
153156
private GroupVersionKind groupVersionKind;
154157
@JsonProperty("GroupVersionResource")
@@ -249,6 +252,7 @@ public KubeSchema() {
249252
* @param secretList
250253
* @param info
251254
* @param deleteOptions
255+
* @param groupKind
252256
* @param groupVersionResource
253257
* @param limitRangeList
254258
* @param toleration
@@ -299,7 +303,7 @@ public KubeSchema() {
299303
* @param endpointPort
300304
* @param config
301305
*/
302-
public KubeSchema(APIGroup aPIGroup, APIGroupList aPIGroupList, APIResource aPIResource, APIResourceList aPIResourceList, APIService aPIService, APIServiceList aPIServiceList, BaseKubernetesList baseKubernetesList, Binding binding, ComponentStatus componentStatus, ComponentStatusList componentStatusList, Condition condition, Config config, ConfigMap configMap, ConfigMapList configMapList, ContainerStatus containerStatus, CreateOptions createOptions, DeleteOptions deleteOptions, EndpointPort endpointPort, Endpoints endpoints, EndpointsList endpointsList, EnvVar envVar, Event event, EventList eventList, EventSeries eventSeries, EventSource eventSource, GetOptions getOptions, GroupVersionKind groupVersionKind, GroupVersionResource groupVersionResource, Info info, LimitRangeList limitRangeList, ListOptions listOptions, MicroTime microTime, Namespace namespace, NamespaceList namespaceList, Node node, NodeList nodeList, ObjectMeta objectMeta, Patch patch, PatchOptions patchOptions, PersistentVolume persistentVolume, PersistentVolumeClaim persistentVolumeClaim, PersistentVolumeClaimList persistentVolumeClaimList, PersistentVolumeList persistentVolumeList, PodExecOptions podExecOptions, PodList podList, PodTemplateList podTemplateList, Quantity quantity, ReplicationControllerList replicationControllerList, ResourceQuota resourceQuota, ResourceQuotaList resourceQuotaList, RootPaths rootPaths, Secret secret, SecretList secretList, ServiceAccount serviceAccount, ServiceAccountList serviceAccountList, ServiceList serviceList, Status status, String time, Toleration toleration, TopologySelectorTerm topologySelectorTerm, TypeMeta typeMeta, UpdateOptions updateOptions, WatchEvent watchEvent) {
306+
public KubeSchema(APIGroup aPIGroup, APIGroupList aPIGroupList, APIResource aPIResource, APIResourceList aPIResourceList, APIService aPIService, APIServiceList aPIServiceList, BaseKubernetesList baseKubernetesList, Binding binding, ComponentStatus componentStatus, ComponentStatusList componentStatusList, Condition condition, Config config, ConfigMap configMap, ConfigMapList configMapList, ContainerStatus containerStatus, CreateOptions createOptions, DeleteOptions deleteOptions, EndpointPort endpointPort, Endpoints endpoints, EndpointsList endpointsList, EnvVar envVar, Event event, EventList eventList, EventSeries eventSeries, EventSource eventSource, GetOptions getOptions, GroupKind groupKind, GroupVersionKind groupVersionKind, GroupVersionResource groupVersionResource, Info info, LimitRangeList limitRangeList, ListOptions listOptions, MicroTime microTime, Namespace namespace, NamespaceList namespaceList, Node node, NodeList nodeList, ObjectMeta objectMeta, Patch patch, PatchOptions patchOptions, PersistentVolume persistentVolume, PersistentVolumeClaim persistentVolumeClaim, PersistentVolumeClaimList persistentVolumeClaimList, PersistentVolumeList persistentVolumeList, PodExecOptions podExecOptions, PodList podList, PodTemplateList podTemplateList, Quantity quantity, ReplicationControllerList replicationControllerList, ResourceQuota resourceQuota, ResourceQuotaList resourceQuotaList, RootPaths rootPaths, Secret secret, SecretList secretList, ServiceAccount serviceAccount, ServiceAccountList serviceAccountList, ServiceList serviceList, Status status, String time, Toleration toleration, TopologySelectorTerm topologySelectorTerm, TypeMeta typeMeta, UpdateOptions updateOptions, WatchEvent watchEvent) {
303307
super();
304308
this.aPIGroup = aPIGroup;
305309
this.aPIGroupList = aPIGroupList;
@@ -327,6 +331,7 @@ public KubeSchema(APIGroup aPIGroup, APIGroupList aPIGroupList, APIResource aPIR
327331
this.eventSeries = eventSeries;
328332
this.eventSource = eventSource;
329333
this.getOptions = getOptions;
334+
this.groupKind = groupKind;
330335
this.groupVersionKind = groupVersionKind;
331336
this.groupVersionResource = groupVersionResource;
332337
this.info = info;
@@ -626,6 +631,16 @@ public void setGetOptions(GetOptions getOptions) {
626631
this.getOptions = getOptions;
627632
}
628633

634+
@JsonProperty("GroupKind")
635+
public GroupKind getGroupKind() {
636+
return groupKind;
637+
}
638+
639+
@JsonProperty("GroupKind")
640+
public void setGroupKind(GroupKind groupKind) {
641+
this.groupKind = groupKind;
642+
}
643+
629644
@JsonProperty("GroupVersionKind")
630645
public GroupVersionKind getGroupVersionKind() {
631646
return groupVersionKind;

kubernetes-model-generator/kubernetes-model-core/src/main/resources/schema/kube-schema.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,22 @@
447447
"io.fabric8.kubernetes.api.model.KubernetesResource"
448448
]
449449
},
450+
"kubernetes_apimachinery_pkg_apis_GroupKind": {
451+
"type": "object",
452+
"properties": {
453+
"group": {
454+
"type": "string"
455+
},
456+
"kind": {
457+
"type": "string"
458+
}
459+
},
460+
"additionalProperties": true,
461+
"javaType": "io.fabric8.kubernetes.api.model.GroupKind",
462+
"javaInterfaces": [
463+
"io.fabric8.kubernetes.api.model.KubernetesResource"
464+
]
465+
},
450466
"kubernetes_apimachinery_pkg_apis_GroupVersionForDiscovery": {
451467
"type": "object",
452468
"properties": {
@@ -7661,6 +7677,10 @@
76617677
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GetOptions",
76627678
"existingJavaType": "io.fabric8.kubernetes.api.model.GetOptions"
76637679
},
7680+
"GroupKind": {
7681+
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GroupKind",
7682+
"existingJavaType": "io.fabric8.kubernetes.api.model.GroupKind"
7683+
},
76647684
"GroupVersionKind": {
76657685
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GroupVersionKind",
76667686
"existingJavaType": "io.fabric8.kubernetes.api.model.GroupVersionKind"

kubernetes-model-generator/kubernetes-model-core/src/main/resources/schema/validation-schema.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,22 @@
447447
"io.fabric8.kubernetes.api.model.KubernetesResource"
448448
]
449449
},
450+
"kubernetes_apimachinery_pkg_apis_GroupKind": {
451+
"type": "object",
452+
"properties": {
453+
"group": {
454+
"type": "string"
455+
},
456+
"kind": {
457+
"type": "string"
458+
}
459+
},
460+
"additionalProperties": true,
461+
"javaType": "io.fabric8.kubernetes.api.model.GroupKind",
462+
"javaInterfaces": [
463+
"io.fabric8.kubernetes.api.model.KubernetesResource"
464+
]
465+
},
450466
"kubernetes_apimachinery_pkg_apis_GroupVersionForDiscovery": {
451467
"type": "object",
452468
"properties": {
@@ -7661,6 +7677,10 @@
76617677
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GetOptions",
76627678
"existingJavaType": "io.fabric8.kubernetes.api.model.GetOptions"
76637679
},
7680+
"GroupKind": {
7681+
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GroupKind",
7682+
"existingJavaType": "io.fabric8.kubernetes.api.model.GroupKind"
7683+
},
76647684
"GroupVersionKind": {
76657685
"$ref": "#/definitions/kubernetes_apimachinery_pkg_apis_GroupVersionKind",
76667686
"existingJavaType": "io.fabric8.kubernetes.api.model.GroupVersionKind"
@@ -9917,6 +9937,17 @@
99179937
},
99189938
"additionalProperties": true
99199939
},
9940+
"groupkind": {
9941+
"properties": {
9942+
"group": {
9943+
"type": "string"
9944+
},
9945+
"kind": {
9946+
"type": "string"
9947+
}
9948+
},
9949+
"additionalProperties": true
9950+
},
99209951
"groupversionfordiscovery": {
99219952
"properties": {
99229953
"groupVersion": {

0 commit comments

Comments
 (0)