Skip to content

Commit 41aa78e

Browse files
Extend Status of Pipeline CRD to include Mapping of External Jobs and Also added JobType in spec
1 parent 50e4f13 commit 41aa78e

6 files changed

Lines changed: 186 additions & 5 deletions

File tree

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/models/V1alpha1Pipeline.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
* A set of objects that work together to deliver data.
3232
*/
3333
@ApiModel(description = "A set of objects that work together to deliver data.")
34-
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-21T02:31:00.123Z[Etc/UTC]")
34+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-08-06T20:26:32.932Z[Etc/UTC]")
3535
public class V1alpha1Pipeline implements io.kubernetes.client.common.KubernetesObject {
3636
public static final String SERIALIZED_NAME_API_VERSION = "apiVersion";
3737
@SerializedName(SERIALIZED_NAME_API_VERSION)

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/models/V1alpha1PipelineList.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
* PipelineList is a list of Pipeline
3333
*/
3434
@ApiModel(description = "PipelineList is a list of Pipeline")
35-
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-21T02:31:00.123Z[Etc/UTC]")
35+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-08-06T20:26:32.932Z[Etc/UTC]")
3636
public class V1alpha1PipelineList implements io.kubernetes.client.common.KubernetesListObject {
3737
public static final String SERIALIZED_NAME_API_VERSION = "apiVersion";
3838
@SerializedName(SERIALIZED_NAME_API_VERSION)

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/models/V1alpha1PipelineSpec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
* Pipeline spec.
2929
*/
3030
@ApiModel(description = "Pipeline spec.")
31-
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-21T02:31:00.123Z[Etc/UTC]")
31+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-08-06T20:26:32.932Z[Etc/UTC]")
3232
public class V1alpha1PipelineSpec {
3333
public static final String SERIALIZED_NAME_SQL = "sql";
3434
@SerializedName(SERIALIZED_NAME_SQL)

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/models/V1alpha1PipelineStatus.java

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,28 @@
2020
import com.google.gson.annotations.SerializedName;
2121
import com.google.gson.stream.JsonReader;
2222
import com.google.gson.stream.JsonWriter;
23+
import com.linkedin.hoptimator.k8s.models.V1alpha1PipelineStatusJobs;
2324
import io.swagger.annotations.ApiModel;
2425
import io.swagger.annotations.ApiModelProperty;
2526
import java.io.IOException;
27+
import java.util.HashMap;
28+
import java.util.List;
29+
import java.util.Map;
2630

2731
/**
2832
* Pipeline status.
2933
*/
3034
@ApiModel(description = "Pipeline status.")
31-
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-05-21T02:31:00.123Z[Etc/UTC]")
35+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-08-06T20:26:32.932Z[Etc/UTC]")
3236
public class V1alpha1PipelineStatus {
3337
public static final String SERIALIZED_NAME_FAILED = "failed";
3438
@SerializedName(SERIALIZED_NAME_FAILED)
3539
private Boolean failed;
3640

41+
public static final String SERIALIZED_NAME_JOBS = "jobs";
42+
@SerializedName(SERIALIZED_NAME_JOBS)
43+
private Map<String, V1alpha1PipelineStatusJobs> jobs = null;
44+
3745
public static final String SERIALIZED_NAME_MESSAGE = "message";
3846
@SerializedName(SERIALIZED_NAME_MESSAGE)
3947
private String message;
@@ -66,6 +74,37 @@ public void setFailed(Boolean failed) {
6674
}
6775

6876

77+
public V1alpha1PipelineStatus jobs(Map<String, V1alpha1PipelineStatusJobs> jobs) {
78+
79+
this.jobs = jobs;
80+
return this;
81+
}
82+
83+
public V1alpha1PipelineStatus putJobsItem(String key, V1alpha1PipelineStatusJobs jobsItem) {
84+
if (this.jobs == null) {
85+
this.jobs = new HashMap<>();
86+
}
87+
this.jobs.put(key, jobsItem);
88+
return this;
89+
}
90+
91+
/**
92+
* External jobs that this pipeline triggers.
93+
* @return jobs
94+
**/
95+
@javax.annotation.Nullable
96+
@ApiModelProperty(value = "External jobs that this pipeline triggers.")
97+
98+
public Map<String, V1alpha1PipelineStatusJobs> getJobs() {
99+
return jobs;
100+
}
101+
102+
103+
public void setJobs(Map<String, V1alpha1PipelineStatusJobs> jobs) {
104+
this.jobs = jobs;
105+
}
106+
107+
69108
public V1alpha1PipelineStatus message(String message) {
70109

71110
this.message = message;
@@ -122,13 +161,14 @@ public boolean equals(Object o) {
122161
}
123162
V1alpha1PipelineStatus v1alpha1PipelineStatus = (V1alpha1PipelineStatus) o;
124163
return Objects.equals(this.failed, v1alpha1PipelineStatus.failed) &&
164+
Objects.equals(this.jobs, v1alpha1PipelineStatus.jobs) &&
125165
Objects.equals(this.message, v1alpha1PipelineStatus.message) &&
126166
Objects.equals(this.ready, v1alpha1PipelineStatus.ready);
127167
}
128168

129169
@Override
130170
public int hashCode() {
131-
return Objects.hash(failed, message, ready);
171+
return Objects.hash(failed, jobs, message, ready);
132172
}
133173

134174

@@ -137,6 +177,7 @@ public String toString() {
137177
StringBuilder sb = new StringBuilder();
138178
sb.append("class V1alpha1PipelineStatus {\n");
139179
sb.append(" failed: ").append(toIndentedString(failed)).append("\n");
180+
sb.append(" jobs: ").append(toIndentedString(jobs)).append("\n");
140181
sb.append(" message: ").append(toIndentedString(message)).append("\n");
141182
sb.append(" ready: ").append(toIndentedString(ready)).append("\n");
142183
sb.append("}");
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
/*
2+
* Kubernetes
3+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4+
*
5+
* The version of the OpenAPI document: v1.21.1
6+
*
7+
*
8+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9+
* https://openapi-generator.tech
10+
* Do not edit the class manually.
11+
*/
12+
13+
14+
package com.linkedin.hoptimator.k8s.models;
15+
16+
import java.util.Objects;
17+
import java.util.Arrays;
18+
import com.google.gson.TypeAdapter;
19+
import com.google.gson.annotations.JsonAdapter;
20+
import com.google.gson.annotations.SerializedName;
21+
import com.google.gson.stream.JsonReader;
22+
import com.google.gson.stream.JsonWriter;
23+
import io.swagger.annotations.ApiModel;
24+
import io.swagger.annotations.ApiModelProperty;
25+
import java.io.IOException;
26+
import java.time.OffsetDateTime;
27+
28+
/**
29+
* V1alpha1PipelineStatusJobs
30+
*/
31+
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-08-06T20:26:32.932Z[Etc/UTC]")
32+
public class V1alpha1PipelineStatusJobs {
33+
public static final String SERIALIZED_NAME_URL = "url";
34+
@SerializedName(SERIALIZED_NAME_URL)
35+
private String url;
36+
37+
public static final String SERIALIZED_NAME_WATERMARK = "watermark";
38+
@SerializedName(SERIALIZED_NAME_WATERMARK)
39+
private OffsetDateTime watermark;
40+
41+
42+
public V1alpha1PipelineStatusJobs url(String url) {
43+
44+
this.url = url;
45+
return this;
46+
}
47+
48+
/**
49+
* Get url
50+
* @return url
51+
**/
52+
@javax.annotation.Nullable
53+
@ApiModelProperty(value = "")
54+
55+
public String getUrl() {
56+
return url;
57+
}
58+
59+
60+
public void setUrl(String url) {
61+
this.url = url;
62+
}
63+
64+
65+
public V1alpha1PipelineStatusJobs watermark(OffsetDateTime watermark) {
66+
67+
this.watermark = watermark;
68+
return this;
69+
}
70+
71+
/**
72+
* Get watermark
73+
* @return watermark
74+
**/
75+
@javax.annotation.Nullable
76+
@ApiModelProperty(value = "")
77+
78+
public OffsetDateTime getWatermark() {
79+
return watermark;
80+
}
81+
82+
83+
public void setWatermark(OffsetDateTime watermark) {
84+
this.watermark = watermark;
85+
}
86+
87+
88+
@Override
89+
public boolean equals(Object o) {
90+
if (this == o) {
91+
return true;
92+
}
93+
if (o == null || getClass() != o.getClass()) {
94+
return false;
95+
}
96+
V1alpha1PipelineStatusJobs v1alpha1PipelineStatusJobs = (V1alpha1PipelineStatusJobs) o;
97+
return Objects.equals(this.url, v1alpha1PipelineStatusJobs.url) &&
98+
Objects.equals(this.watermark, v1alpha1PipelineStatusJobs.watermark);
99+
}
100+
101+
@Override
102+
public int hashCode() {
103+
return Objects.hash(url, watermark);
104+
}
105+
106+
107+
@Override
108+
public String toString() {
109+
StringBuilder sb = new StringBuilder();
110+
sb.append("class V1alpha1PipelineStatusJobs {\n");
111+
sb.append(" url: ").append(toIndentedString(url)).append("\n");
112+
sb.append(" watermark: ").append(toIndentedString(watermark)).append("\n");
113+
sb.append("}");
114+
return sb.toString();
115+
}
116+
117+
/**
118+
* Convert the given object to string with each line indented by 4 spaces
119+
* (except the first line).
120+
*/
121+
private String toIndentedString(Object o) {
122+
if (o == null) {
123+
return "null";
124+
}
125+
return o.toString().replace("\n", "\n ");
126+
}
127+
128+
}
129+

hoptimator-k8s/src/main/resources/pipelines.crd.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,17 @@ spec:
5353
message:
5454
description: Error or success message, for information only.
5555
type: string
56+
jobs:
57+
type: object
58+
description: External jobs that this pipeline triggers.
59+
additionalProperties:
60+
type: object
61+
properties:
62+
watermark:
63+
type: string
64+
format: date-time
65+
url:
66+
type: string
5667
subresources:
5768
status: {}
5869
additionalPrinterColumns:

0 commit comments

Comments
 (0)