From c9dbc16c176ff11424ff62400bfb8df1faff11ac Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Wed, 17 Nov 2021 18:49:13 +0100 Subject: [PATCH] Update Java Model for CRD This should resolve issues with the DefectDojo hook not being able to properly update the scan as the status fields didn't match the current ones Signed-off-by: Jannik Hollenbach --- .../java/io/securecodebox/models/V1Scan.java | 4 +- .../io/securecodebox/models/V1ScanList.java | 6 +- .../io/securecodebox/models/V1ScanSpec.java | 15 +- .../models/V1ScanSpecCascades.java | 195 +++++++++++++++--- .../V1ScanSpecCascadesMatchExpressions.java | 6 +- .../io/securecodebox/models/V1ScanStatus.java | 120 +++++++++-- .../models/V1ScanStatusFindings.java | 6 +- .../V1ScanStatusFindingsSeverities.java | 4 +- .../V1ScanStatusReadAndWriteHookStatus.java | 64 +++++- hooks/persistence-defectdojo/hook/update.sh | 6 +- 10 files changed, 356 insertions(+), 70 deletions(-) diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1Scan.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1Scan.java index ade916ecef..e8a26997b2 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1Scan.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1Scan.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -35,7 +35,7 @@ * Scan is the Schema for the scans API */ @ApiModel(description = "Scan is the Schema for the scans API") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1Scan implements io.kubernetes.client.common.KubernetesObject { public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; @SerializedName(SERIALIZED_NAME_API_VERSION) diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanList.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanList.java index 55cab9455b..871eb6dda2 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanList.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanList.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -36,7 +36,7 @@ * ScanList is a list of Scan */ @ApiModel(description = "ScanList is a list of Scan") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanList implements io.kubernetes.client.common.KubernetesListObject { public static final String SERIALIZED_NAME_API_VERSION = "apiVersion"; @SerializedName(SERIALIZED_NAME_API_VERSION) @@ -44,7 +44,7 @@ public class V1ScanList implements io.kubernetes.client.common.KubernetesListObj public static final String SERIALIZED_NAME_ITEMS = "items"; @SerializedName(SERIALIZED_NAME_ITEMS) - private List items = new ArrayList(); + private List items = new ArrayList<>(); public static final String SERIALIZED_NAME_KIND = "kind"; @SerializedName(SERIALIZED_NAME_KIND) diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpec.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpec.java index 3e70773dbb..12f0f24435 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpec.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpec.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -18,16 +18,11 @@ package io.securecodebox.models; import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; + import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.securecodebox.models.V1ScanSpecCascades; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; + import java.util.ArrayList; import java.util.List; @@ -35,7 +30,7 @@ * ScanSpec defines the desired state of Scan */ @ApiModel(description = "ScanSpec defines the desired state of Scan") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanSpec { public static final String SERIALIZED_NAME_CASCADES = "cascades"; @SerializedName(SERIALIZED_NAME_CASCADES) @@ -81,7 +76,7 @@ public V1ScanSpec parameters(List parameters) { public V1ScanSpec addParametersItem(String parametersItem) { if (this.parameters == null) { - this.parameters = new ArrayList(); + this.parameters = new ArrayList<>(); } this.parameters.add(parametersItem); return this; diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascades.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascades.java index 3d975eb037..2411b99dff 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascades.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascades.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -34,18 +34,34 @@ import java.util.Map; /** - * A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. + * CascadeSpec describes how and when cascading scans should be generated. */ -@ApiModel(description = "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@ApiModel(description = "CascadeSpec describes how and when cascading scans should be generated.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanSpecCascades { + public static final String SERIALIZED_NAME_INHERIT_ANNOTATIONS = "inheritAnnotations"; + @SerializedName(SERIALIZED_NAME_INHERIT_ANNOTATIONS) + private Boolean inheritAnnotations; + + public static final String SERIALIZED_NAME_INHERIT_ENV = "inheritEnv"; + @SerializedName(SERIALIZED_NAME_INHERIT_ENV) + private Boolean inheritEnv; + + public static final String SERIALIZED_NAME_INHERIT_HOOK_SELECTOR = "inheritHookSelector"; + @SerializedName(SERIALIZED_NAME_INHERIT_HOOK_SELECTOR) + private Boolean inheritHookSelector; + + public static final String SERIALIZED_NAME_INHERIT_INIT_CONTAINERS = "inheritInitContainers"; + @SerializedName(SERIALIZED_NAME_INHERIT_INIT_CONTAINERS) + private Boolean inheritInitContainers; + public static final String SERIALIZED_NAME_INHERIT_LABELS = "inheritLabels"; @SerializedName(SERIALIZED_NAME_INHERIT_LABELS) - private boolean inheritLabels = true; + private Boolean inheritLabels; - public static final String SERIALIZED_NAME_INHERIT_ANNOTATIONS = "inheritAnnotations"; - @SerializedName(SERIALIZED_NAME_INHERIT_ANNOTATIONS) - private boolean inheritAnnotations = true; + public static final String SERIALIZED_NAME_INHERIT_VOLUMES = "inheritVolumes"; + @SerializedName(SERIALIZED_NAME_INHERIT_VOLUMES) + private Boolean inheritVolumes; public static final String SERIALIZED_NAME_MATCH_EXPRESSIONS = "matchExpressions"; @SerializedName(SERIALIZED_NAME_MATCH_EXPRESSIONS) @@ -55,22 +71,145 @@ public class V1ScanSpecCascades { @SerializedName(SERIALIZED_NAME_MATCH_LABELS) private Map matchLabels = null; - public boolean inheritsLabels() { - return inheritsAnnotations(); - } - public void setInheritLabels(boolean inheritLabels) { - this.inheritLabels = inheritLabels; + public V1ScanSpecCascades inheritAnnotations(Boolean inheritAnnotations) { + + this.inheritAnnotations = inheritAnnotations; + return this; } - public boolean inheritsAnnotations() { + /** + * InheritAnnotations defines whether cascading scans should inherit annotations from the parent scan + * @return inheritAnnotations + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritAnnotations defines whether cascading scans should inherit annotations from the parent scan") + + public Boolean getInheritAnnotations() { return inheritAnnotations; } - public void setInheritAnnotations(boolean inheritAnnotations) { + + public void setInheritAnnotations(Boolean inheritAnnotations) { this.inheritAnnotations = inheritAnnotations; } + + public V1ScanSpecCascades inheritEnv(Boolean inheritEnv) { + + this.inheritEnv = inheritEnv; + return this; + } + + /** + * InheritEnv defines whether cascading scans should inherit environment variables from the parent scan + * @return inheritEnv + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritEnv defines whether cascading scans should inherit environment variables from the parent scan") + + public Boolean getInheritEnv() { + return inheritEnv; + } + + + public void setInheritEnv(Boolean inheritEnv) { + this.inheritEnv = inheritEnv; + } + + + public V1ScanSpecCascades inheritHookSelector(Boolean inheritHookSelector) { + + this.inheritHookSelector = inheritHookSelector; + return this; + } + + /** + * InheritHookSelector defines whether cascading scans should inherit hookSelector from the parent scan. + * @return inheritHookSelector + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritHookSelector defines whether cascading scans should inherit hookSelector from the parent scan.") + + public Boolean getInheritHookSelector() { + return inheritHookSelector; + } + + + public void setInheritHookSelector(Boolean inheritHookSelector) { + this.inheritHookSelector = inheritHookSelector; + } + + + public V1ScanSpecCascades inheritInitContainers(Boolean inheritInitContainers) { + + this.inheritInitContainers = inheritInitContainers; + return this; + } + + /** + * InheritInitContainers defines whether cascading scans should inherit initContainers from the parent scan. Usually only useful when combined with inheritVolumes. + * @return inheritInitContainers + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritInitContainers defines whether cascading scans should inherit initContainers from the parent scan. Usually only useful when combined with inheritVolumes.") + + public Boolean getInheritInitContainers() { + return inheritInitContainers; + } + + + public void setInheritInitContainers(Boolean inheritInitContainers) { + this.inheritInitContainers = inheritInitContainers; + } + + + public V1ScanSpecCascades inheritLabels(Boolean inheritLabels) { + + this.inheritLabels = inheritLabels; + return this; + } + + /** + * InheritLabels defines whether cascading scans should inherit labels from the parent scan + * @return inheritLabels + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritLabels defines whether cascading scans should inherit labels from the parent scan") + + public Boolean getInheritLabels() { + return inheritLabels; + } + + + public void setInheritLabels(Boolean inheritLabels) { + this.inheritLabels = inheritLabels; + } + + + public V1ScanSpecCascades inheritVolumes(Boolean inheritVolumes) { + + this.inheritVolumes = inheritVolumes; + return this; + } + + /** + * InheritVolumes defines whether cascading scans should inherit volumes and volume mounts from the parent scan + * @return inheritVolumes + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "InheritVolumes defines whether cascading scans should inherit volumes and volume mounts from the parent scan") + + public Boolean getInheritVolumes() { + return inheritVolumes; + } + + + public void setInheritVolumes(Boolean inheritVolumes) { + this.inheritVolumes = inheritVolumes; + } + + public V1ScanSpecCascades matchExpressions(List matchExpressions) { this.matchExpressions = matchExpressions; @@ -79,7 +218,7 @@ public V1ScanSpecCascades matchExpressions(List(); + this.matchExpressions = new ArrayList<>(); } this.matchExpressions.add(matchExpressionsItem); return this; @@ -110,7 +249,7 @@ public V1ScanSpecCascades matchLabels(Map matchLabels) { public V1ScanSpecCascades putMatchLabelsItem(String key, String matchLabelsItem) { if (this.matchLabels == null) { - this.matchLabels = new HashMap(); + this.matchLabels = new HashMap<>(); } this.matchLabels.put(key, matchLabelsItem); return this; @@ -142,15 +281,19 @@ public boolean equals(Object o) { return false; } V1ScanSpecCascades v1ScanSpecCascades = (V1ScanSpecCascades) o; - return Objects.equals(this.matchExpressions, v1ScanSpecCascades.matchExpressions) && - Objects.equals(this.matchLabels, v1ScanSpecCascades.matchLabels) && - this.inheritLabels == v1ScanSpecCascades.inheritLabels && - this.inheritAnnotations == v1ScanSpecCascades.inheritAnnotations; + return Objects.equals(this.inheritAnnotations, v1ScanSpecCascades.inheritAnnotations) && + Objects.equals(this.inheritEnv, v1ScanSpecCascades.inheritEnv) && + Objects.equals(this.inheritHookSelector, v1ScanSpecCascades.inheritHookSelector) && + Objects.equals(this.inheritInitContainers, v1ScanSpecCascades.inheritInitContainers) && + Objects.equals(this.inheritLabels, v1ScanSpecCascades.inheritLabels) && + Objects.equals(this.inheritVolumes, v1ScanSpecCascades.inheritVolumes) && + Objects.equals(this.matchExpressions, v1ScanSpecCascades.matchExpressions) && + Objects.equals(this.matchLabels, v1ScanSpecCascades.matchLabels); } @Override public int hashCode() { - return Objects.hash(matchExpressions, matchLabels); + return Objects.hash(inheritAnnotations, inheritEnv, inheritHookSelector, inheritInitContainers, inheritLabels, inheritVolumes, matchExpressions, matchLabels); } @@ -158,8 +301,12 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class V1ScanSpecCascades {\n"); - sb.append(" inheritLabels: ").append(String.valueOf(inheritLabels)).append("\n"); - sb.append(" inheritAnnotations: ").append(String.valueOf(inheritAnnotations)).append("\n"); + sb.append(" inheritAnnotations: ").append(toIndentedString(inheritAnnotations)).append("\n"); + sb.append(" inheritEnv: ").append(toIndentedString(inheritEnv)).append("\n"); + sb.append(" inheritHookSelector: ").append(toIndentedString(inheritHookSelector)).append("\n"); + sb.append(" inheritInitContainers: ").append(toIndentedString(inheritInitContainers)).append("\n"); + sb.append(" inheritLabels: ").append(toIndentedString(inheritLabels)).append("\n"); + sb.append(" inheritVolumes: ").append(toIndentedString(inheritVolumes)).append("\n"); sb.append(" matchExpressions: ").append(toIndentedString(matchExpressions)).append("\n"); sb.append(" matchLabels: ").append(toIndentedString(matchLabels)).append("\n"); sb.append("}"); diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascadesMatchExpressions.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascadesMatchExpressions.java index 2b95ee6762..15030bd753 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascadesMatchExpressions.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanSpecCascadesMatchExpressions.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -34,7 +34,7 @@ * A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. */ @ApiModel(description = "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanSpecCascadesMatchExpressions { public static final String SERIALIZED_NAME_KEY = "key"; @SerializedName(SERIALIZED_NAME_KEY) @@ -101,7 +101,7 @@ public V1ScanSpecCascadesMatchExpressions values(List values) { public V1ScanSpecCascadesMatchExpressions addValuesItem(String valuesItem) { if (this.values == null) { - this.values = new ArrayList(); + this.values = new ArrayList<>(); } this.values.add(valuesItem); return this; diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatus.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatus.java index df3210d0aa..4f90b240d2 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatus.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatus.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -18,17 +18,10 @@ package io.securecodebox.models; import java.util.Objects; -import java.util.Arrays; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; -import io.securecodebox.models.V1ScanStatusFindings; -import io.securecodebox.models.V1ScanStatusReadAndWriteHookStatus; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import java.io.IOException; +import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.List; @@ -36,7 +29,7 @@ * ScanStatus defines the observed state of Scan */ @ApiModel(description = "ScanStatus defines the observed state of Scan") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanStatus { public static final String SERIALIZED_NAME_ERROR_DESCRIPTION = "errorDescription"; @SerializedName(SERIALIZED_NAME_ERROR_DESCRIPTION) @@ -46,13 +39,21 @@ public class V1ScanStatus { @SerializedName(SERIALIZED_NAME_FINDING_DOWNLOAD_LINK) private String findingDownloadLink; + public static final String SERIALIZED_NAME_FINDING_HEAD_LINK = "findingHeadLink"; + @SerializedName(SERIALIZED_NAME_FINDING_HEAD_LINK) + private String findingHeadLink; + public static final String SERIALIZED_NAME_FINDINGS = "findings"; @SerializedName(SERIALIZED_NAME_FINDINGS) private V1ScanStatusFindings findings; public static final String SERIALIZED_NAME_FINISHED_AT = "finishedAt"; @SerializedName(SERIALIZED_NAME_FINISHED_AT) - private String finishedAt; + private OffsetDateTime finishedAt; + + public static final String SERIALIZED_NAME_ORDERED_HOOK_STATUSES = "orderedHookStatuses"; + @SerializedName(SERIALIZED_NAME_ORDERED_HOOK_STATUSES) + private List> orderedHookStatuses = null; public static final String SERIALIZED_NAME_RAW_RESULT_DOWNLOAD_LINK = "rawResultDownloadLink"; @SerializedName(SERIALIZED_NAME_RAW_RESULT_DOWNLOAD_LINK) @@ -62,6 +63,10 @@ public class V1ScanStatus { @SerializedName(SERIALIZED_NAME_RAW_RESULT_FILE) private String rawResultFile; + public static final String SERIALIZED_NAME_RAW_RESULT_HEAD_LINK = "rawResultHeadLink"; + @SerializedName(SERIALIZED_NAME_RAW_RESULT_HEAD_LINK) + private String rawResultHeadLink; + public static final String SERIALIZED_NAME_RAW_RESULT_TYPE = "rawResultType"; @SerializedName(SERIALIZED_NAME_RAW_RESULT_TYPE) private String rawResultType; @@ -121,6 +126,29 @@ public void setFindingDownloadLink(String findingDownloadLink) { } + public V1ScanStatus findingHeadLink(String findingHeadLink) { + + this.findingHeadLink = findingHeadLink; + return this; + } + + /** + * FindingHeadLink link to send HEAD request to the finding json file. Valid for 7 days + * @return findingHeadLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "FindingHeadLink link to send HEAD request to the finding json file. Valid for 7 days") + + public String getFindingHeadLink() { + return findingHeadLink; + } + + + public void setFindingHeadLink(String findingHeadLink) { + this.findingHeadLink = findingHeadLink; + } + + public V1ScanStatus findings(V1ScanStatusFindings findings) { this.findings = findings; @@ -144,7 +172,7 @@ public void setFindings(V1ScanStatusFindings findings) { } - public V1ScanStatus finishedAt(String finishedAt) { + public V1ScanStatus finishedAt(OffsetDateTime finishedAt) { this.finishedAt = finishedAt; return this; @@ -157,16 +185,47 @@ public V1ScanStatus finishedAt(String finishedAt) { @javax.annotation.Nullable @ApiModelProperty(value = "FinishedAt contains the time where the scan (including parser & hooks) has been marked as \"Done\"") - public String getFinishedAt() { + public OffsetDateTime getFinishedAt() { return finishedAt; } - public void setFinishedAt(String finishedAt) { + public void setFinishedAt(OffsetDateTime finishedAt) { this.finishedAt = finishedAt; } + public V1ScanStatus orderedHookStatuses(List> orderedHookStatuses) { + + this.orderedHookStatuses = orderedHookStatuses; + return this; + } + + public V1ScanStatus addOrderedHookStatusesItem(List orderedHookStatusesItem) { + if (this.orderedHookStatuses == null) { + this.orderedHookStatuses = new ArrayList<>(); + } + this.orderedHookStatuses.add(orderedHookStatusesItem); + return this; + } + + /** + * Get orderedHookStatuses + * @return orderedHookStatuses + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "") + + public List> getOrderedHookStatuses() { + return orderedHookStatuses; + } + + + public void setOrderedHookStatuses(List> orderedHookStatuses) { + this.orderedHookStatuses = orderedHookStatuses; + } + + public V1ScanStatus rawResultDownloadLink(String rawResultDownloadLink) { this.rawResultDownloadLink = rawResultDownloadLink; @@ -213,6 +272,29 @@ public void setRawResultFile(String rawResultFile) { } + public V1ScanStatus rawResultHeadLink(String rawResultHeadLink) { + + this.rawResultHeadLink = rawResultHeadLink; + return this; + } + + /** + * RawResultHeadLink link to send HEAD request to raw result file. Valid for 7 days + * @return rawResultHeadLink + **/ + @javax.annotation.Nullable + @ApiModelProperty(value = "RawResultHeadLink link to send HEAD request to raw result file. Valid for 7 days") + + public String getRawResultHeadLink() { + return rawResultHeadLink; + } + + + public void setRawResultHeadLink(String rawResultHeadLink) { + this.rawResultHeadLink = rawResultHeadLink; + } + + public V1ScanStatus rawResultType(String rawResultType) { this.rawResultType = rawResultType; @@ -244,7 +326,7 @@ public V1ScanStatus readAndWriteHookStatus(List(); + this.readAndWriteHookStatus = new ArrayList<>(); } this.readAndWriteHookStatus.add(readAndWriteHookStatusItem); return this; @@ -301,10 +383,13 @@ public boolean equals(Object o) { V1ScanStatus v1ScanStatus = (V1ScanStatus) o; return Objects.equals(this.errorDescription, v1ScanStatus.errorDescription) && Objects.equals(this.findingDownloadLink, v1ScanStatus.findingDownloadLink) && + Objects.equals(this.findingHeadLink, v1ScanStatus.findingHeadLink) && Objects.equals(this.findings, v1ScanStatus.findings) && Objects.equals(this.finishedAt, v1ScanStatus.finishedAt) && + Objects.equals(this.orderedHookStatuses, v1ScanStatus.orderedHookStatuses) && Objects.equals(this.rawResultDownloadLink, v1ScanStatus.rawResultDownloadLink) && Objects.equals(this.rawResultFile, v1ScanStatus.rawResultFile) && + Objects.equals(this.rawResultHeadLink, v1ScanStatus.rawResultHeadLink) && Objects.equals(this.rawResultType, v1ScanStatus.rawResultType) && Objects.equals(this.readAndWriteHookStatus, v1ScanStatus.readAndWriteHookStatus) && Objects.equals(this.state, v1ScanStatus.state); @@ -312,7 +397,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(errorDescription, findingDownloadLink, findings, finishedAt, rawResultDownloadLink, rawResultFile, rawResultType, readAndWriteHookStatus, state); + return Objects.hash(errorDescription, findingDownloadLink, findingHeadLink, findings, finishedAt, orderedHookStatuses, rawResultDownloadLink, rawResultFile, rawResultHeadLink, rawResultType, readAndWriteHookStatus, state); } @@ -322,10 +407,13 @@ public String toString() { sb.append("class V1ScanStatus {\n"); sb.append(" errorDescription: ").append(toIndentedString(errorDescription)).append("\n"); sb.append(" findingDownloadLink: ").append(toIndentedString(findingDownloadLink)).append("\n"); + sb.append(" findingHeadLink: ").append(toIndentedString(findingHeadLink)).append("\n"); sb.append(" findings: ").append(toIndentedString(findings)).append("\n"); sb.append(" finishedAt: ").append(toIndentedString(finishedAt)).append("\n"); + sb.append(" orderedHookStatuses: ").append(toIndentedString(orderedHookStatuses)).append("\n"); sb.append(" rawResultDownloadLink: ").append(toIndentedString(rawResultDownloadLink)).append("\n"); sb.append(" rawResultFile: ").append(toIndentedString(rawResultFile)).append("\n"); + sb.append(" rawResultHeadLink: ").append(toIndentedString(rawResultHeadLink)).append("\n"); sb.append(" rawResultType: ").append(toIndentedString(rawResultType)).append("\n"); sb.append(" readAndWriteHookStatus: ").append(toIndentedString(readAndWriteHookStatus)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindings.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindings.java index f1f0d810fa..174766a74e 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindings.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindings.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -36,7 +36,7 @@ * FindingStats contains the general stats about the results of the scan */ @ApiModel(description = "FindingStats contains the general stats about the results of the scan") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanStatusFindings { public static final String SERIALIZED_NAME_CATEGORIES = "categories"; @SerializedName(SERIALIZED_NAME_CATEGORIES) @@ -59,7 +59,7 @@ public V1ScanStatusFindings categories(Map categories) { public V1ScanStatusFindings putCategoriesItem(String key, Long categoriesItem) { if (this.categories == null) { - this.categories = new HashMap(); + this.categories = new HashMap<>(); } this.categories.put(key, categoriesItem); return this; diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindingsSeverities.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindingsSeverities.java index 55765cf268..a5e8a515d9 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindingsSeverities.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusFindingsSeverities.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ * FindingSeverities indicates the count of finding with the respective severity */ @ApiModel(description = "FindingSeverities indicates the count of finding with the respective severity") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanStatusFindingsSeverities { public static final String SERIALIZED_NAME_HIGH = "high"; @SerializedName(SERIALIZED_NAME_HIGH) diff --git a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusReadAndWriteHookStatus.java b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusReadAndWriteHookStatus.java index 8000f2daa5..ede7f7fb78 100644 --- a/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusReadAndWriteHookStatus.java +++ b/hooks/persistence-defectdojo/hook/src/main/java/io/securecodebox/models/V1ScanStatusReadAndWriteHookStatus.java @@ -6,7 +6,7 @@ * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * - * The version of the OpenAPI document: v1.18.2 + * The version of the OpenAPI document: v1.21.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -31,7 +31,7 @@ /** * V1ScanStatusReadAndWriteHookStatus */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-03-26T19:41:39.505Z[Etc/UTC]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-11-17T10:13:00.848Z[Etc/UTC]") public class V1ScanStatusReadAndWriteHookStatus { public static final String SERIALIZED_NAME_HOOK_NAME = "hookName"; @SerializedName(SERIALIZED_NAME_HOOK_NAME) @@ -41,10 +41,18 @@ public class V1ScanStatusReadAndWriteHookStatus { @SerializedName(SERIALIZED_NAME_JOB_NAME) private String jobName; + public static final String SERIALIZED_NAME_PRIORITY = "priority"; + @SerializedName(SERIALIZED_NAME_PRIORITY) + private Integer priority; + public static final String SERIALIZED_NAME_STATE = "state"; @SerializedName(SERIALIZED_NAME_STATE) private String state; + public static final String SERIALIZED_NAME_TYPE = "type"; + @SerializedName(SERIALIZED_NAME_TYPE) + private String type; + public V1ScanStatusReadAndWriteHookStatus hookName(String hookName) { @@ -91,6 +99,28 @@ public void setJobName(String jobName) { } + public V1ScanStatusReadAndWriteHookStatus priority(Integer priority) { + + this.priority = priority; + return this; + } + + /** + * Get priority + * @return priority + **/ + @ApiModelProperty(required = true, value = "") + + public Integer getPriority() { + return priority; + } + + + public void setPriority(Integer priority) { + this.priority = priority; + } + + public V1ScanStatusReadAndWriteHookStatus state(String state) { this.state = state; @@ -113,6 +143,28 @@ public void setState(String state) { } + public V1ScanStatusReadAndWriteHookStatus type(String type) { + + this.type = type; + return this; + } + + /** + * HookType Defines weather the hook should be able to change the findings or is run in a read only mode. + * @return type + **/ + @ApiModelProperty(required = true, value = "HookType Defines weather the hook should be able to change the findings or is run in a read only mode.") + + public String getType() { + return type; + } + + + public void setType(String type) { + this.type = type; + } + + @Override public boolean equals(Object o) { if (this == o) { @@ -124,12 +176,14 @@ public boolean equals(Object o) { V1ScanStatusReadAndWriteHookStatus v1ScanStatusReadAndWriteHookStatus = (V1ScanStatusReadAndWriteHookStatus) o; return Objects.equals(this.hookName, v1ScanStatusReadAndWriteHookStatus.hookName) && Objects.equals(this.jobName, v1ScanStatusReadAndWriteHookStatus.jobName) && - Objects.equals(this.state, v1ScanStatusReadAndWriteHookStatus.state); + Objects.equals(this.priority, v1ScanStatusReadAndWriteHookStatus.priority) && + Objects.equals(this.state, v1ScanStatusReadAndWriteHookStatus.state) && + Objects.equals(this.type, v1ScanStatusReadAndWriteHookStatus.type); } @Override public int hashCode() { - return Objects.hash(hookName, jobName, state); + return Objects.hash(hookName, jobName, priority, state, type); } @@ -139,7 +193,9 @@ public String toString() { sb.append("class V1ScanStatusReadAndWriteHookStatus {\n"); sb.append(" hookName: ").append(toIndentedString(hookName)).append("\n"); sb.append(" jobName: ").append(toIndentedString(jobName)).append("\n"); + sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/hooks/persistence-defectdojo/hook/update.sh b/hooks/persistence-defectdojo/hook/update.sh index f437d33a24..da2dfd3247 100755 --- a/hooks/persistence-defectdojo/hook/update.sh +++ b/hooks/persistence-defectdojo/hook/update.sh @@ -6,8 +6,8 @@ # This script generates the model classes from a released version of cert-manager CRDs # under src/main/java/io/cert/manager/models. -DEFAULT_IMAGE_NAME=docker.pkg.github.com/kubernetes-client/java/crd-model-gen -DEFAULT_IMAGE_TAG=v1.0.3 +DEFAULT_IMAGE_NAME=ghcr.io/kubernetes-client/java/crd-model-gen +DEFAULT_IMAGE_TAG=v1.0.6 IMAGE_NAME=${IMAGE_NAME:=$DEFAULT_IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG:=$DEFAULT_IMAGE_TAG} @@ -21,7 +21,7 @@ docker run \ --network host \ ${IMAGE_NAME}:${IMAGE_TAG} \ /generate.sh \ - -u https://gist.githubusercontent.com/J12934/67722bc1c6bf69dc5d09cb7aed341fac/raw/3fcccc0a145ee7babd64c57a707e4c997fab00ad/scan-crd.yaml \ + -u https://raw.githubusercontent.com/secureCodeBox/secureCodeBox/main/operator/crds/execution.securecodebox.io_scans.yaml \ -n io.securecodebox \ -p io.securecodebox \ -o "$(pwd)"