diff --git a/.sdk-version b/.sdk-version
index df46356..c58bd37 100644
--- a/.sdk-version
+++ b/.sdk-version
@@ -1 +1 @@
-v3.97.0
+v3.99.0
diff --git a/README.md b/README.md
index e667601..c9e20b9 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Add this dependency to your project's POM:
ai.reveng
sdk
- 3.97.0
+ 3.99.0
compile
```
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- implementation "ai.reveng:sdk:3.97.0"
+ implementation "ai.reveng:sdk:3.99.0"
}
```
@@ -256,6 +256,7 @@ Class | Method | HTTP request | Description
- [AnalysisBulkAddTagsResponse](docs/AnalysisBulkAddTagsResponse.md)
- [AnalysisBulkAddTagsResponseItem](docs/AnalysisBulkAddTagsResponseItem.md)
- [AnalysisConfig](docs/AnalysisConfig.md)
+ - [AnalysisConfigSnapshot](docs/AnalysisConfigSnapshot.md)
- [AnalysisCreateRequest](docs/AnalysisCreateRequest.md)
- [AnalysisCreateResponse](docs/AnalysisCreateResponse.md)
- [AnalysisDetailResponse](docs/AnalysisDetailResponse.md)
diff --git a/build.gradle b/build.gradle
index 1ff73e8..ffce613 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@ apply plugin: 'java'
apply plugin: 'com.diffplug.spotless'
group = 'ai.reveng'
-version = '3.97.0'
+version = '3.99.0'
@@ -171,7 +171,7 @@ mavenPublishing {
publishToMavenCentral(true)
signAllPublications()
- coordinates("ai.reveng", "sdk", "3.97.0")
+ coordinates("ai.reveng", "sdk", "3.99.0")
pom {
name = "sdk"
diff --git a/build.sbt b/build.sbt
index 4b1b5bf..c2fdf17 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "ai.reveng",
name := "sdk",
- version := "3.97.0",
+ version := "3.99.0",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-feature"),
compile / javacOptions ++= Seq("-Xlint:deprecation"),
diff --git a/docs/AnalysisConfigSnapshot.md b/docs/AnalysisConfigSnapshot.md
new file mode 100644
index 0000000..30bbc34
--- /dev/null
+++ b/docs/AnalysisConfigSnapshot.md
@@ -0,0 +1,18 @@
+
+
+# AnalysisConfigSnapshot
+
+Point-in-time record of which features an analysis was submitted with.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**functions** | **Boolean** | | |
+|**sandbox** | **Boolean** | | |
+|**scrape** | **Boolean** | | |
+|**capabilities** | **Boolean** | | |
+|**triage** | **Boolean** | | |
+
+
+
diff --git a/docs/AnalysisDetailResponse.md b/docs/AnalysisDetailResponse.md
index 4251ce9..cd68a11 100644
--- a/docs/AnalysisDetailResponse.md
+++ b/docs/AnalysisDetailResponse.md
@@ -23,6 +23,7 @@
|**sbom** | **Map<String, Object>** | | [optional] |
|**sha256Hash** | **String** | | |
|**autoRunAgents** | [**AutoRunAgents**](AutoRunAgents.md) | | |
+|**requestedConfig** | [**AnalysisConfigSnapshot**](AnalysisConfigSnapshot.md) | Snapshot of the configuration the analysis was submitted with. | |
diff --git a/pom.xml b/pom.xml
index 4874fb2..2274d14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
sdk
jar
sdk
- 3.97.0
+ 3.99.0
https://github.com/RevEngAI/sdk-java
Java SDK for the RevEng.AI API
diff --git a/src/main/java/ai/reveng/invoker/ApiClient.java b/src/main/java/ai/reveng/invoker/ApiClient.java
index 5fbbd85..aa1b9b6 100644
--- a/src/main/java/ai/reveng/invoker/ApiClient.java
+++ b/src/main/java/ai/reveng/invoker/ApiClient.java
@@ -146,7 +146,7 @@ protected void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/3.97.0/java");
+ setUserAgent("OpenAPI-Generator/3.99.0/java");
authentications = new HashMap();
}
diff --git a/src/main/java/ai/reveng/invoker/Configuration.java b/src/main/java/ai/reveng/invoker/Configuration.java
index c43efc1..8f9f3ac 100644
--- a/src/main/java/ai/reveng/invoker/Configuration.java
+++ b/src/main/java/ai/reveng/invoker/Configuration.java
@@ -18,7 +18,7 @@
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Configuration {
- public static final String VERSION = "3.97.0";
+ public static final String VERSION = "3.99.0";
private static final AtomicReference defaultApiClient = new AtomicReference<>();
private static volatile Supplier apiClientFactory = ApiClient::new;
diff --git a/src/main/java/ai/reveng/invoker/JSON.java b/src/main/java/ai/reveng/invoker/JSON.java
index 4ced6ba..78b960e 100644
--- a/src/main/java/ai/reveng/invoker/JSON.java
+++ b/src/main/java/ai/reveng/invoker/JSON.java
@@ -116,6 +116,7 @@ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, Stri
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisBulkAddTagsResponse.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisBulkAddTagsResponseItem.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisConfig.CustomTypeAdapterFactory());
+ gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisConfigSnapshot.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisCreateRequest.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisCreateResponse.CustomTypeAdapterFactory());
gsonBuilder.registerTypeAdapterFactory(new ai.reveng.model.AnalysisDetailResponse.CustomTypeAdapterFactory());
diff --git a/src/main/java/ai/reveng/model/AnalysisConfigSnapshot.java b/src/main/java/ai/reveng/model/AnalysisConfigSnapshot.java
new file mode 100644
index 0000000..99ee62b
--- /dev/null
+++ b/src/main/java/ai/reveng/model/AnalysisConfigSnapshot.java
@@ -0,0 +1,390 @@
+/*
+ * RevEng.AI API
+ * RevEng.AI is an AI-powered binary analysis platform for reverse engineering and malware analysis. It provides similarity search across executable binaries and functions, AI-driven decompilation, dynamic execution analysis, firmware unpacking, and integration with external threat intelligence sources like VirusTotal.
+ *
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package ai.reveng.model;
+
+import java.util.Objects;
+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 java.io.IOException;
+import java.util.Arrays;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.TypeAdapterFactory;
+import com.google.gson.reflect.TypeToken;
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import java.io.IOException;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import ai.reveng.invoker.JSON;
+
+/**
+ * Point-in-time record of which features an analysis was submitted with.
+ */
+@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
+public class AnalysisConfigSnapshot {
+ public static final String SERIALIZED_NAME_FUNCTIONS = "functions";
+ @SerializedName(SERIALIZED_NAME_FUNCTIONS)
+ @javax.annotation.Nonnull
+ private Boolean functions;
+
+ public static final String SERIALIZED_NAME_SANDBOX = "sandbox";
+ @SerializedName(SERIALIZED_NAME_SANDBOX)
+ @javax.annotation.Nonnull
+ private Boolean sandbox;
+
+ public static final String SERIALIZED_NAME_SCRAPE = "scrape";
+ @SerializedName(SERIALIZED_NAME_SCRAPE)
+ @javax.annotation.Nonnull
+ private Boolean scrape;
+
+ public static final String SERIALIZED_NAME_CAPABILITIES = "capabilities";
+ @SerializedName(SERIALIZED_NAME_CAPABILITIES)
+ @javax.annotation.Nonnull
+ private Boolean capabilities;
+
+ public static final String SERIALIZED_NAME_TRIAGE = "triage";
+ @SerializedName(SERIALIZED_NAME_TRIAGE)
+ @javax.annotation.Nonnull
+ private Boolean triage;
+
+ public AnalysisConfigSnapshot() {
+ }
+
+ public AnalysisConfigSnapshot functions(@javax.annotation.Nonnull Boolean functions) {
+ this.functions = functions;
+ return this;
+ }
+
+ /**
+ * Get functions
+ * @return functions
+ */
+ @javax.annotation.Nonnull
+ public Boolean getFunctions() {
+ return functions;
+ }
+
+ public void setFunctions(@javax.annotation.Nonnull Boolean functions) {
+ this.functions = functions;
+ }
+
+
+ public AnalysisConfigSnapshot sandbox(@javax.annotation.Nonnull Boolean sandbox) {
+ this.sandbox = sandbox;
+ return this;
+ }
+
+ /**
+ * Get sandbox
+ * @return sandbox
+ */
+ @javax.annotation.Nonnull
+ public Boolean getSandbox() {
+ return sandbox;
+ }
+
+ public void setSandbox(@javax.annotation.Nonnull Boolean sandbox) {
+ this.sandbox = sandbox;
+ }
+
+
+ public AnalysisConfigSnapshot scrape(@javax.annotation.Nonnull Boolean scrape) {
+ this.scrape = scrape;
+ return this;
+ }
+
+ /**
+ * Get scrape
+ * @return scrape
+ */
+ @javax.annotation.Nonnull
+ public Boolean getScrape() {
+ return scrape;
+ }
+
+ public void setScrape(@javax.annotation.Nonnull Boolean scrape) {
+ this.scrape = scrape;
+ }
+
+
+ public AnalysisConfigSnapshot capabilities(@javax.annotation.Nonnull Boolean capabilities) {
+ this.capabilities = capabilities;
+ return this;
+ }
+
+ /**
+ * Get capabilities
+ * @return capabilities
+ */
+ @javax.annotation.Nonnull
+ public Boolean getCapabilities() {
+ return capabilities;
+ }
+
+ public void setCapabilities(@javax.annotation.Nonnull Boolean capabilities) {
+ this.capabilities = capabilities;
+ }
+
+
+ public AnalysisConfigSnapshot triage(@javax.annotation.Nonnull Boolean triage) {
+ this.triage = triage;
+ return this;
+ }
+
+ /**
+ * Get triage
+ * @return triage
+ */
+ @javax.annotation.Nonnull
+ public Boolean getTriage() {
+ return triage;
+ }
+
+ public void setTriage(@javax.annotation.Nonnull Boolean triage) {
+ this.triage = triage;
+ }
+
+ /**
+ * A container for additional, undeclared properties.
+ * This is a holder for any undeclared properties as specified with
+ * the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value.
+ * If the property does not already exist, create it otherwise replace it.
+ *
+ * @param key name of the property
+ * @param value value of the property
+ * @return the AnalysisConfigSnapshot instance itself
+ */
+ public AnalysisConfigSnapshot putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return a map of objects
+ */
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key name of the property
+ * @return an object
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AnalysisConfigSnapshot analysisConfigSnapshot = (AnalysisConfigSnapshot) o;
+ return Objects.equals(this.functions, analysisConfigSnapshot.functions) &&
+ Objects.equals(this.sandbox, analysisConfigSnapshot.sandbox) &&
+ Objects.equals(this.scrape, analysisConfigSnapshot.scrape) &&
+ Objects.equals(this.capabilities, analysisConfigSnapshot.capabilities) &&
+ Objects.equals(this.triage, analysisConfigSnapshot.triage)&&
+ Objects.equals(this.additionalProperties, analysisConfigSnapshot.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(functions, sandbox, scrape, capabilities, triage, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AnalysisConfigSnapshot {\n");
+ sb.append(" functions: ").append(toIndentedString(functions)).append("\n");
+ sb.append(" sandbox: ").append(toIndentedString(sandbox)).append("\n");
+ sb.append(" scrape: ").append(toIndentedString(scrape)).append("\n");
+ sb.append(" capabilities: ").append(toIndentedString(capabilities)).append("\n");
+ sb.append(" triage: ").append(toIndentedString(triage)).append("\n");
+ sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ return o == null ? "null" : o.toString().replace("\n", "\n ");
+ }
+
+
+ public static HashSet openapiFields;
+ public static HashSet openapiRequiredFields;
+
+ static {
+ // a set of all properties/fields (JSON key names)
+ openapiFields = new HashSet(Arrays.asList("functions", "sandbox", "scrape", "capabilities", "triage"));
+
+ // a set of required properties/fields (JSON key names)
+ openapiRequiredFields = new HashSet(Arrays.asList("functions", "sandbox", "scrape", "capabilities", "triage"));
+ }
+
+ /**
+ * Validates the JSON Element and throws an exception if issues found
+ *
+ * @param jsonElement JSON Element
+ * @throws IOException if the JSON Element is invalid with respect to AnalysisConfigSnapshot
+ */
+ public static void validateJsonElement(JsonElement jsonElement) throws IOException {
+ if (jsonElement == null) {
+ if (!AnalysisConfigSnapshot.openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field(s) %s in AnalysisConfigSnapshot is not found in the empty JSON string", AnalysisConfigSnapshot.openapiRequiredFields.toString()));
+ }
+ }
+
+ // check to make sure all required properties/fields are present in the JSON string
+ for (String requiredField : AnalysisConfigSnapshot.openapiRequiredFields) {
+ if (jsonElement.getAsJsonObject().get(requiredField) == null) {
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString()));
+ }
+ }
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ }
+
+ public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
+ @SuppressWarnings("unchecked")
+ @Override
+ public TypeAdapter create(Gson gson, TypeToken type) {
+ if (!AnalysisConfigSnapshot.class.isAssignableFrom(type.getRawType())) {
+ return null; // this class only serializes 'AnalysisConfigSnapshot' and its subtypes
+ }
+ final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
+ final TypeAdapter thisAdapter
+ = gson.getDelegateAdapter(this, TypeToken.get(AnalysisConfigSnapshot.class));
+
+ return (TypeAdapter) new TypeAdapter() {
+ @Override
+ public void write(JsonWriter out, AnalysisConfigSnapshot value) throws IOException {
+ JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
+ obj.remove("additionalProperties");
+ // serialize additional properties
+ if (value.getAdditionalProperties() != null) {
+ for (Map.Entry entry : value.getAdditionalProperties().entrySet()) {
+ if (entry.getValue() instanceof String)
+ obj.addProperty(entry.getKey(), (String) entry.getValue());
+ else if (entry.getValue() instanceof Number)
+ obj.addProperty(entry.getKey(), (Number) entry.getValue());
+ else if (entry.getValue() instanceof Boolean)
+ obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
+ else if (entry.getValue() instanceof Character)
+ obj.addProperty(entry.getKey(), (Character) entry.getValue());
+ else {
+ JsonElement jsonElement = gson.toJsonTree(entry.getValue());
+ if (jsonElement.isJsonArray()) {
+ obj.add(entry.getKey(), jsonElement.getAsJsonArray());
+ } else {
+ obj.add(entry.getKey(), jsonElement.getAsJsonObject());
+ }
+ }
+ }
+ }
+ elementAdapter.write(out, obj);
+ }
+
+ @Override
+ public AnalysisConfigSnapshot read(JsonReader in) throws IOException {
+ JsonElement jsonElement = elementAdapter.read(in);
+ validateJsonElement(jsonElement);
+ JsonObject jsonObj = jsonElement.getAsJsonObject();
+ // store additional fields in the deserialized instance
+ AnalysisConfigSnapshot instance = thisAdapter.fromJsonTree(jsonObj);
+ for (Map.Entry entry : jsonObj.entrySet()) {
+ if (!openapiFields.contains(entry.getKey())) {
+ if (entry.getValue().isJsonPrimitive()) { // primitive type
+ if (entry.getValue().getAsJsonPrimitive().isString())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
+ else if (entry.getValue().getAsJsonPrimitive().isNumber())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
+ else if (entry.getValue().getAsJsonPrimitive().isBoolean())
+ instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
+ else
+ throw new IllegalArgumentException(String.format(java.util.Locale.ROOT, "The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
+ } else if (entry.getValue().isJsonArray()) {
+ instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), List.class));
+ } else { // JSON object
+ instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
+ }
+ }
+ }
+ return instance;
+ }
+
+ }.nullSafe();
+ }
+ }
+
+ /**
+ * Create an instance of AnalysisConfigSnapshot given an JSON string
+ *
+ * @param jsonString JSON string
+ * @return An instance of AnalysisConfigSnapshot
+ * @throws IOException if the JSON string is invalid with respect to AnalysisConfigSnapshot
+ */
+ public static AnalysisConfigSnapshot fromJson(String jsonString) throws IOException {
+ return JSON.getGson().fromJson(jsonString, AnalysisConfigSnapshot.class);
+ }
+
+ /**
+ * Convert an instance of AnalysisConfigSnapshot to an JSON string
+ *
+ * @return JSON string
+ */
+ public String toJson() {
+ return JSON.getGson().toJson(this);
+ }
+}
+
diff --git a/src/main/java/ai/reveng/model/AnalysisDetailResponse.java b/src/main/java/ai/reveng/model/AnalysisDetailResponse.java
index 90fbcb0..c0baba1 100644
--- a/src/main/java/ai/reveng/model/AnalysisDetailResponse.java
+++ b/src/main/java/ai/reveng/model/AnalysisDetailResponse.java
@@ -14,6 +14,7 @@
import java.util.Objects;
import ai.reveng.model.AnalysisAccessInfo;
+import ai.reveng.model.AnalysisConfigSnapshot;
import ai.reveng.model.AutoRunAgents;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
@@ -134,6 +135,11 @@ public class AnalysisDetailResponse {
@javax.annotation.Nonnull
private AutoRunAgents autoRunAgents;
+ public static final String SERIALIZED_NAME_REQUESTED_CONFIG = "requested_config";
+ @SerializedName(SERIALIZED_NAME_REQUESTED_CONFIG)
+ @javax.annotation.Nonnull
+ private AnalysisConfigSnapshot requestedConfig;
+
public AnalysisDetailResponse() {
}
@@ -448,6 +454,25 @@ public void setAutoRunAgents(@javax.annotation.Nonnull AutoRunAgents autoRunAgen
this.autoRunAgents = autoRunAgents;
}
+
+ public AnalysisDetailResponse requestedConfig(@javax.annotation.Nonnull AnalysisConfigSnapshot requestedConfig) {
+ this.requestedConfig = requestedConfig;
+ return this;
+ }
+
+ /**
+ * Snapshot of the configuration the analysis was submitted with.
+ * @return requestedConfig
+ */
+ @javax.annotation.Nonnull
+ public AnalysisConfigSnapshot getRequestedConfig() {
+ return requestedConfig;
+ }
+
+ public void setRequestedConfig(@javax.annotation.Nonnull AnalysisConfigSnapshot requestedConfig) {
+ this.requestedConfig = requestedConfig;
+ }
+
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
@@ -518,7 +543,8 @@ public boolean equals(Object o) {
Objects.equals(this.modelName, analysisDetailResponse.modelName) &&
Objects.equals(this.sbom, analysisDetailResponse.sbom) &&
Objects.equals(this.sha256Hash, analysisDetailResponse.sha256Hash) &&
- Objects.equals(this.autoRunAgents, analysisDetailResponse.autoRunAgents)&&
+ Objects.equals(this.autoRunAgents, analysisDetailResponse.autoRunAgents) &&
+ Objects.equals(this.requestedConfig, analysisDetailResponse.requestedConfig)&&
Objects.equals(this.additionalProperties, analysisDetailResponse.additionalProperties);
}
@@ -528,7 +554,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b)
@Override
public int hashCode() {
- return Objects.hash(access, analysisId, analysisScope, architecture, binaryDynamic, binaryFormat, binaryName, binarySize, binaryType, creation, dashboardUrl, debug, modelName, sbom, sha256Hash, autoRunAgents, additionalProperties);
+ return Objects.hash(access, analysisId, analysisScope, architecture, binaryDynamic, binaryFormat, binaryName, binarySize, binaryType, creation, dashboardUrl, debug, modelName, sbom, sha256Hash, autoRunAgents, requestedConfig, additionalProperties);
}
private static int hashCodeNullable(JsonNullable a) {
@@ -558,6 +584,7 @@ public String toString() {
sb.append(" sbom: ").append(toIndentedString(sbom)).append("\n");
sb.append(" sha256Hash: ").append(toIndentedString(sha256Hash)).append("\n");
sb.append(" autoRunAgents: ").append(toIndentedString(autoRunAgents)).append("\n");
+ sb.append(" requestedConfig: ").append(toIndentedString(requestedConfig)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
@@ -577,10 +604,10 @@ private String toIndentedString(Object o) {
static {
// a set of all properties/fields (JSON key names)
- openapiFields = new HashSet(Arrays.asList("access", "analysis_id", "analysis_scope", "architecture", "binary_dynamic", "binary_format", "binary_name", "binary_size", "binary_type", "creation", "dashboard_url", "debug", "model_name", "sbom", "sha_256_hash", "auto_run_agents"));
+ openapiFields = new HashSet(Arrays.asList("access", "analysis_id", "analysis_scope", "architecture", "binary_dynamic", "binary_format", "binary_name", "binary_size", "binary_type", "creation", "dashboard_url", "debug", "model_name", "sbom", "sha_256_hash", "auto_run_agents", "requested_config"));
// a set of required properties/fields (JSON key names)
- openapiRequiredFields = new HashSet(Arrays.asList("access", "analysis_id", "analysis_scope", "architecture", "binary_dynamic", "binary_format", "binary_name", "binary_size", "binary_type", "creation", "dashboard_url", "debug", "model_name", "sha_256_hash", "auto_run_agents"));
+ openapiRequiredFields = new HashSet(Arrays.asList("access", "analysis_id", "analysis_scope", "architecture", "binary_dynamic", "binary_format", "binary_name", "binary_size", "binary_type", "creation", "dashboard_url", "debug", "model_name", "sha_256_hash", "auto_run_agents", "requested_config"));
}
/**
@@ -634,6 +661,8 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
}
// validate the required field `auto_run_agents`
AutoRunAgents.validateJsonElement(jsonObj.get("auto_run_agents"));
+ // validate the required field `requested_config`
+ AnalysisConfigSnapshot.validateJsonElement(jsonObj.get("requested_config"));
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {