From 67fa596b3b9d3341cf11ac38d7e7b5fd6b8955ae Mon Sep 17 00:00:00 2001 From: SAP Cloud SDK Bot Date: Sun, 25 May 2025 00:11:14 +0000 Subject: [PATCH 1/2] Update core based on main --- .../ai/sdk/core/client/ApplicationApi.java | 2 +- .../sap/ai/sdk/core/client/ArtifactApi.java | 2 +- .../ai/sdk/core/client/ConfigurationApi.java | 2 +- .../sap/ai/sdk/core/client/DeploymentApi.java | 2 +- .../core/client/DockerRegistrySecretApi.java | 2 +- .../sap/ai/sdk/core/client/ExecutableApi.java | 2 +- .../sap/ai/sdk/core/client/ExecutionApi.java | 2 +- .../sdk/core/client/ExecutionScheduleApi.java | 2 +- .../com/sap/ai/sdk/core/client/FileApi.java | 2 +- .../com/sap/ai/sdk/core/client/KpiApi.java | 2 +- .../com/sap/ai/sdk/core/client/MetaApi.java | 2 +- .../sap/ai/sdk/core/client/MetricsApi.java | 2 +- .../sdk/core/client/ObjectStoreSecretApi.java | 2 +- .../sap/ai/sdk/core/client/RepositoryApi.java | 2 +- .../sap/ai/sdk/core/client/ResourceApi.java | 2 +- .../ai/sdk/core/client/ResourceGroupApi.java | 2 +- .../ai/sdk/core/client/ResourceQuotaApi.java | 2 +- .../sap/ai/sdk/core/client/ScenarioApi.java | 2 +- .../com/sap/ai/sdk/core/client/SecretApi.java | 2 +- .../sap/ai/sdk/core/client/ServiceApi.java | 2 +- .../sap/ai/sdk/core/client/TenantInfoApi.java | 2 +- .../ai/sdk/core/model/AiModelBaseData.java | 58 +- .../AiModelBaseDataAllowedScenariosInner.java | 246 + .../sap/ai/sdk/core/model/AiModelVersion.java | 101 +- .../sap/ai/sdk/core/model/InlineObject.java | 8 +- .../sap/ai/sdk/core/model/InlineObject1.java | 8 +- .../sap/ai/sdk/core/model/InlineObject3.java | 8 +- .../sap/ai/sdk/core/model/InlineObject4.java | 8 +- .../sap/ai/sdk/core/model/InlineObject5.java | 8 +- core/src/main/resources/spec/aicore.yaml | 5295 +++++++++-------- 30 files changed, 3102 insertions(+), 2680 deletions(-) create mode 100644 core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseDataAllowedScenariosInner.java diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ApplicationApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ApplicationApi.java index dd47bed40..318382522 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ApplicationApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ApplicationApi.java @@ -26,7 +26,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ArtifactApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ArtifactApi.java index 891979aab..c193a03ab 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ArtifactApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ArtifactApi.java @@ -23,7 +23,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ConfigurationApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ConfigurationApi.java index 0eaf46f2d..58349007c 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ConfigurationApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ConfigurationApi.java @@ -23,7 +23,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/DeploymentApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/DeploymentApi.java index 6d48a39e4..d0aa19fc9 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/DeploymentApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/DeploymentApi.java @@ -30,7 +30,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/DockerRegistrySecretApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/DockerRegistrySecretApi.java index 5512e9c40..31f102a35 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/DockerRegistrySecretApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/DockerRegistrySecretApi.java @@ -24,7 +24,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutableApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutableApi.java index 42e65312b..950d1ef88 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutableApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutableApi.java @@ -19,7 +19,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionApi.java index 06e2662fd..3ca21be51 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionApi.java @@ -30,7 +30,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionScheduleApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionScheduleApi.java index 92a281649..5d23901ff 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionScheduleApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ExecutionScheduleApi.java @@ -24,7 +24,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/FileApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/FileApi.java index 67b2fb627..6c6ff6175 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/FileApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/FileApi.java @@ -20,7 +20,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/KpiApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/KpiApi.java index cc9edaf9c..6dcbba907 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/KpiApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/KpiApi.java @@ -20,7 +20,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/MetaApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/MetaApi.java index 6146b23e5..9ca88f73b 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/MetaApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/MetaApi.java @@ -15,7 +15,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/MetricsApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/MetricsApi.java index acc99fa46..5ee94d21c 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/MetricsApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/MetricsApi.java @@ -22,7 +22,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ObjectStoreSecretApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ObjectStoreSecretApi.java index b680ed340..f2a3763d2 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ObjectStoreSecretApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ObjectStoreSecretApi.java @@ -24,7 +24,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/RepositoryApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/RepositoryApi.java index 7c3b1b8bb..1a5064dc8 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/RepositoryApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/RepositoryApi.java @@ -24,7 +24,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceApi.java index 4b7bd3833..6532faf19 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceApi.java @@ -18,7 +18,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceGroupApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceGroupApi.java index 1df7639b2..5e7834226 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceGroupApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceGroupApi.java @@ -26,7 +26,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceQuotaApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceQuotaApi.java index c2aa17040..275f12382 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ResourceQuotaApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ResourceQuotaApi.java @@ -18,7 +18,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ScenarioApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ScenarioApi.java index 1cd3306bb..3959121f1 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ScenarioApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ScenarioApi.java @@ -23,7 +23,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/SecretApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/SecretApi.java index 18ebf14ba..812f0224a 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/SecretApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/SecretApi.java @@ -23,7 +23,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/ServiceApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/ServiceApi.java index 6ab36ec2f..f1662ec64 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/ServiceApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/ServiceApi.java @@ -19,7 +19,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/client/TenantInfoApi.java b/core/src/main/java/com/sap/ai/sdk/core/client/TenantInfoApi.java index aa44cde00..6628d435b 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/client/TenantInfoApi.java +++ b/core/src/main/java/com/sap/ai/sdk/core/client/TenantInfoApi.java @@ -15,7 +15,7 @@ import org.springframework.web.util.UriComponentsBuilder; /** - * AI Core in version 2.40.0. + * AI Core in version 2.40.1. * *

Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a * batch job, for example to pre-process or train your models, or perform batch inference. Serve diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseData.java b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseData.java index 34dfb61d5..3f2cded53 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseData.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseData.java @@ -52,6 +52,9 @@ public class AiModelBaseData @JsonProperty("provider") private String provider; + @JsonProperty("allowedScenarios") + private List allowedScenarios = new ArrayList<>(); + @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -290,6 +293,55 @@ public void setProvider(@Nullable final String provider) { this.provider = provider; } + /** + * Set the allowedScenarios of this {@link AiModelBaseData} instance and return the same instance. + * + * @param allowedScenarios List of scenarioId:executableId pair where the model supported + * @return The same instance of this {@link AiModelBaseData} class + */ + @Nonnull + public AiModelBaseData allowedScenarios( + @Nullable final List allowedScenarios) { + this.allowedScenarios = allowedScenarios; + return this; + } + + /** + * Add one allowedScenarios instance to this {@link AiModelBaseData}. + * + * @param allowedScenariosItem The allowedScenarios that should be added + * @return The same instance of type {@link AiModelBaseData} + */ + @Nonnull + public AiModelBaseData addAllowedScenariosItem( + @Nonnull final AiModelBaseDataAllowedScenariosInner allowedScenariosItem) { + if (this.allowedScenarios == null) { + this.allowedScenarios = new ArrayList<>(); + } + this.allowedScenarios.add(allowedScenariosItem); + return this; + } + + /** + * List of scenarioId:executableId pair where the model supported + * + * @return allowedScenarios The allowedScenarios of this {@link AiModelBaseData} instance. + */ + @Nonnull + public List getAllowedScenarios() { + return allowedScenarios; + } + + /** + * Set the allowedScenarios of this {@link AiModelBaseData} instance. + * + * @param allowedScenarios List of scenarioId:executableId pair where the model supported + */ + public void setAllowedScenarios( + @Nullable final List allowedScenarios) { + this.allowedScenarios = allowedScenarios; + } + /** * Get the names of the unrecognizable properties of the {@link AiModelBaseData}. * @@ -335,6 +387,7 @@ public Map toMap() { if (displayName != null) declaredFields.put("displayName", displayName); if (accessType != null) declaredFields.put("accessType", accessType); if (provider != null) declaredFields.put("provider", provider); + if (allowedScenarios != null) declaredFields.put("allowedScenarios", allowedScenarios); return declaredFields; } @@ -366,7 +419,8 @@ public boolean equals(@Nullable final java.lang.Object o) { && Objects.equals(this.versions, aiModelBaseData.versions) && Objects.equals(this.displayName, aiModelBaseData.displayName) && Objects.equals(this.accessType, aiModelBaseData.accessType) - && Objects.equals(this.provider, aiModelBaseData.provider); + && Objects.equals(this.provider, aiModelBaseData.provider) + && Objects.equals(this.allowedScenarios, aiModelBaseData.allowedScenarios); } @Override @@ -379,6 +433,7 @@ public int hashCode() { displayName, accessType, provider, + allowedScenarios, cloudSdkCustomFields); } @@ -394,6 +449,7 @@ public String toString() { sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); sb.append(" accessType: ").append(toIndentedString(accessType)).append("\n"); sb.append(" provider: ").append(toIndentedString(provider)).append("\n"); + sb.append(" allowedScenarios: ").append(toIndentedString(allowedScenarios)).append("\n"); cloudSdkCustomFields.forEach( (k, v) -> sb.append(" ").append(k).append(": ").append(toIndentedString(v)).append("\n")); diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseDataAllowedScenariosInner.java b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseDataAllowedScenariosInner.java new file mode 100644 index 000000000..f57c54164 --- /dev/null +++ b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelBaseDataAllowedScenariosInner.java @@ -0,0 +1,246 @@ +/* + * AI Core + * Provides tools to manage your scenarios and workflows in SAP AI Core. Execute pipelines as a batch job, for example to pre-process or train your models, or perform batch inference. Serve inference requests of trained models. Deploy а trained machine learning model as a web service to serve inference requests with high performance. Register your own Docker registry, synchronize your AI content from your own git repository, and register your own object store for training data and trained models. + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.sap.ai.sdk.core.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.Set; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +/** AiModelBaseDataAllowedScenariosInner */ +// CHECKSTYLE:OFF +public class AiModelBaseDataAllowedScenariosInner +// CHECKSTYLE:ON +{ + @JsonProperty("scenarioId") + private String scenarioId; + + @JsonProperty("executableId") + private String executableId; + + @JsonAnySetter @JsonAnyGetter + private final Map cloudSdkCustomFields = new LinkedHashMap<>(); + + /** Default constructor for AiModelBaseDataAllowedScenariosInner. */ + protected AiModelBaseDataAllowedScenariosInner() {} + + /** + * Set the scenarioId of this {@link AiModelBaseDataAllowedScenariosInner} instance and return the + * same instance. + * + * @param scenarioId ID of the scenario + * @return The same instance of this {@link AiModelBaseDataAllowedScenariosInner} class + */ + @Nonnull + public AiModelBaseDataAllowedScenariosInner scenarioId(@Nonnull final String scenarioId) { + this.scenarioId = scenarioId; + return this; + } + + /** + * ID of the scenario + * + * @return scenarioId The scenarioId of this {@link AiModelBaseDataAllowedScenariosInner} + * instance. + */ + @Nonnull + public String getScenarioId() { + return scenarioId; + } + + /** + * Set the scenarioId of this {@link AiModelBaseDataAllowedScenariosInner} instance. + * + * @param scenarioId ID of the scenario + */ + public void setScenarioId(@Nonnull final String scenarioId) { + this.scenarioId = scenarioId; + } + + /** + * Set the executableId of this {@link AiModelBaseDataAllowedScenariosInner} instance and return + * the same instance. + * + * @param executableId ID of the executable + * @return The same instance of this {@link AiModelBaseDataAllowedScenariosInner} class + */ + @Nonnull + public AiModelBaseDataAllowedScenariosInner executableId(@Nonnull final String executableId) { + this.executableId = executableId; + return this; + } + + /** + * ID of the executable + * + * @return executableId The executableId of this {@link AiModelBaseDataAllowedScenariosInner} + * instance. + */ + @Nonnull + public String getExecutableId() { + return executableId; + } + + /** + * Set the executableId of this {@link AiModelBaseDataAllowedScenariosInner} instance. + * + * @param executableId ID of the executable + */ + public void setExecutableId(@Nonnull final String executableId) { + this.executableId = executableId; + } + + /** + * Get the names of the unrecognizable properties of the {@link + * AiModelBaseDataAllowedScenariosInner}. + * + * @return The set of properties names + */ + @JsonIgnore + @Nonnull + public Set getCustomFieldNames() { + return cloudSdkCustomFields.keySet(); + } + + /** + * Get the value of an unrecognizable property of this {@link + * AiModelBaseDataAllowedScenariosInner} instance. + * + * @deprecated Use {@link #toMap()} instead. + * @param name The name of the property + * @return The value of the property + * @throws NoSuchElementException If no property with the given name could be found. + */ + @Nullable + @Deprecated + public Object getCustomField(@Nonnull final String name) throws NoSuchElementException { + if (!cloudSdkCustomFields.containsKey(name)) { + throw new NoSuchElementException( + "AiModelBaseDataAllowedScenariosInner has no field with name '" + name + "'."); + } + return cloudSdkCustomFields.get(name); + } + + /** + * Get the value of all properties of this {@link AiModelBaseDataAllowedScenariosInner} instance + * including unrecognized properties. + * + * @return The map of all properties + */ + @JsonIgnore + @Nonnull + public Map toMap() { + final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields); + if (scenarioId != null) declaredFields.put("scenarioId", scenarioId); + if (executableId != null) declaredFields.put("executableId", executableId); + return declaredFields; + } + + /** + * Set an unrecognizable property of this {@link AiModelBaseDataAllowedScenariosInner} instance. + * If the map previously contained a mapping for the key, the old value is replaced by the + * specified value. + * + * @param customFieldName The name of the property + * @param customFieldValue The value of the property + */ + @JsonIgnore + public void setCustomField(@Nonnull String customFieldName, @Nullable Object customFieldValue) { + cloudSdkCustomFields.put(customFieldName, customFieldValue); + } + + @Override + public boolean equals(@Nullable final java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + final AiModelBaseDataAllowedScenariosInner aiModelBaseDataAllowedScenariosInner = + (AiModelBaseDataAllowedScenariosInner) o; + return Objects.equals( + this.cloudSdkCustomFields, aiModelBaseDataAllowedScenariosInner.cloudSdkCustomFields) + && Objects.equals(this.scenarioId, aiModelBaseDataAllowedScenariosInner.scenarioId) + && Objects.equals(this.executableId, aiModelBaseDataAllowedScenariosInner.executableId); + } + + @Override + public int hashCode() { + return Objects.hash(scenarioId, executableId, cloudSdkCustomFields); + } + + @Override + @Nonnull + public String toString() { + final StringBuilder sb = new StringBuilder(); + sb.append("class AiModelBaseDataAllowedScenariosInner {\n"); + sb.append(" scenarioId: ").append(toIndentedString(scenarioId)).append("\n"); + sb.append(" executableId: ").append(toIndentedString(executableId)).append("\n"); + cloudSdkCustomFields.forEach( + (k, v) -> + sb.append(" ").append(k).append(": ").append(toIndentedString(v)).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(final java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Create a type-safe, fluent-api builder object to construct a new {@link + * AiModelBaseDataAllowedScenariosInner} instance with all required arguments. + */ + public static Builder create() { + return (scenarioId) -> + (executableId) -> + new AiModelBaseDataAllowedScenariosInner() + .scenarioId(scenarioId) + .executableId(executableId); + } + + /** Builder helper class. */ + public interface Builder { + /** + * Set the scenarioId of this {@link AiModelBaseDataAllowedScenariosInner} instance. + * + * @param scenarioId ID of the scenario + * @return The AiModelBaseDataAllowedScenariosInner builder. + */ + Builder1 scenarioId(@Nonnull final String scenarioId); + } + + /** Builder helper class. */ + public interface Builder1 { + /** + * Set the executableId of this {@link AiModelBaseDataAllowedScenariosInner} instance. + * + * @param executableId ID of the executable + * @return The AiModelBaseDataAllowedScenariosInner instance. + */ + AiModelBaseDataAllowedScenariosInner executableId(@Nonnull final String executableId); + } +} diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/AiModelVersion.java b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelVersion.java index 33c52db1d..41443c2ba 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/AiModelVersion.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/AiModelVersion.java @@ -63,6 +63,12 @@ public class AiModelVersion @JsonProperty("suggestedReplacements") private List suggestedReplacements = new ArrayList<>(); + @JsonProperty("streamingSupported") + private Boolean streamingSupported; + + @JsonProperty("orchestrationCapabilities") + private List orchestrationCapabilities = new ArrayList<>(); + @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -457,6 +463,88 @@ public void setSuggestedReplacements(@Nullable final List suggestedRepla this.suggestedReplacements = suggestedReplacements; } + /** + * Set the streamingSupported of this {@link AiModelVersion} instance and return the same + * instance. + * + * @param streamingSupported Streaming support status of the model + * @return The same instance of this {@link AiModelVersion} class + */ + @Nonnull + public AiModelVersion streamingSupported(@Nullable final Boolean streamingSupported) { + this.streamingSupported = streamingSupported; + return this; + } + + /** + * Streaming support status of the model + * + * @return streamingSupported The streamingSupported of this {@link AiModelVersion} instance. + */ + @Nonnull + public Boolean isStreamingSupported() { + return streamingSupported; + } + + /** + * Set the streamingSupported of this {@link AiModelVersion} instance. + * + * @param streamingSupported Streaming support status of the model + */ + public void setStreamingSupported(@Nullable final Boolean streamingSupported) { + this.streamingSupported = streamingSupported; + } + + /** + * Set the orchestrationCapabilities of this {@link AiModelVersion} instance and return the same + * instance. + * + * @param orchestrationCapabilities List of model capabilities supported by orchestration service + * @return The same instance of this {@link AiModelVersion} class + */ + @Nonnull + public AiModelVersion orchestrationCapabilities( + @Nullable final List orchestrationCapabilities) { + this.orchestrationCapabilities = orchestrationCapabilities; + return this; + } + + /** + * Add one orchestrationCapabilities instance to this {@link AiModelVersion}. + * + * @param orchestrationCapabilitiesItem The orchestrationCapabilities that should be added + * @return The same instance of type {@link AiModelVersion} + */ + @Nonnull + public AiModelVersion addOrchestrationCapabilitiesItem( + @Nonnull final String orchestrationCapabilitiesItem) { + if (this.orchestrationCapabilities == null) { + this.orchestrationCapabilities = new ArrayList<>(); + } + this.orchestrationCapabilities.add(orchestrationCapabilitiesItem); + return this; + } + + /** + * List of model capabilities supported by orchestration service + * + * @return orchestrationCapabilities The orchestrationCapabilities of this {@link AiModelVersion} + * instance. + */ + @Nonnull + public List getOrchestrationCapabilities() { + return orchestrationCapabilities; + } + + /** + * Set the orchestrationCapabilities of this {@link AiModelVersion} instance. + * + * @param orchestrationCapabilities List of model capabilities supported by orchestration service + */ + public void setOrchestrationCapabilities(@Nullable final List orchestrationCapabilities) { + this.orchestrationCapabilities = orchestrationCapabilities; + } + /** * Get the names of the unrecognizable properties of the {@link AiModelVersion}. * @@ -506,6 +594,9 @@ public Map toMap() { if (cost != null) declaredFields.put("cost", cost); if (suggestedReplacements != null) declaredFields.put("suggestedReplacements", suggestedReplacements); + if (streamingSupported != null) declaredFields.put("streamingSupported", streamingSupported); + if (orchestrationCapabilities != null) + declaredFields.put("orchestrationCapabilities", orchestrationCapabilities); return declaredFields; } @@ -540,7 +631,9 @@ public boolean equals(@Nullable final java.lang.Object o) { && Objects.equals(this.capabilities, aiModelVersion.capabilities) && Objects.equals(this.metadata, aiModelVersion.metadata) && Objects.equals(this.cost, aiModelVersion.cost) - && Objects.equals(this.suggestedReplacements, aiModelVersion.suggestedReplacements); + && Objects.equals(this.suggestedReplacements, aiModelVersion.suggestedReplacements) + && Objects.equals(this.streamingSupported, aiModelVersion.streamingSupported) + && Objects.equals(this.orchestrationCapabilities, aiModelVersion.orchestrationCapabilities); } @Override @@ -556,6 +649,8 @@ public int hashCode() { metadata, cost, suggestedReplacements, + streamingSupported, + orchestrationCapabilities, cloudSdkCustomFields); } @@ -576,6 +671,10 @@ public String toString() { sb.append(" suggestedReplacements: ") .append(toIndentedString(suggestedReplacements)) .append("\n"); + sb.append(" streamingSupported: ").append(toIndentedString(streamingSupported)).append("\n"); + sb.append(" orchestrationCapabilities: ") + .append(toIndentedString(orchestrationCapabilities)) + .append("\n"); cloudSdkCustomFields.forEach( (k, v) -> sb.append(" ").append(k).append(": ").append(toIndentedString(v)).append("\n")); diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject.java b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject.java index 170f2add3..29a200003 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject.java @@ -29,7 +29,7 @@ public class InlineObject // CHECKSTYLE:ON { @JsonProperty("error") - private KpiApiError error; + private MetaApiError error; @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -44,7 +44,7 @@ protected InlineObject() {} * @return The same instance of this {@link InlineObject} class */ @Nonnull - public InlineObject error(@Nullable final KpiApiError error) { + public InlineObject error(@Nullable final MetaApiError error) { this.error = error; return this; } @@ -55,7 +55,7 @@ public InlineObject error(@Nullable final KpiApiError error) { * @return error The error of this {@link InlineObject} instance. */ @Nonnull - public KpiApiError getError() { + public MetaApiError getError() { return error; } @@ -64,7 +64,7 @@ public KpiApiError getError() { * * @param error The error of this {@link InlineObject} */ - public void setError(@Nullable final KpiApiError error) { + public void setError(@Nullable final MetaApiError error) { this.error = error; } diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject1.java b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject1.java index 5ec9ed739..c6233c01c 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject1.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject1.java @@ -29,7 +29,7 @@ public class InlineObject1 // CHECKSTYLE:ON { @JsonProperty("error") - private TntApiError error; + private TrckApiError error; @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -44,7 +44,7 @@ protected InlineObject1() {} * @return The same instance of this {@link InlineObject1} class */ @Nonnull - public InlineObject1 error(@Nullable final TntApiError error) { + public InlineObject1 error(@Nullable final TrckApiError error) { this.error = error; return this; } @@ -55,7 +55,7 @@ public InlineObject1 error(@Nullable final TntApiError error) { * @return error The error of this {@link InlineObject1} instance. */ @Nonnull - public TntApiError getError() { + public TrckApiError getError() { return error; } @@ -64,7 +64,7 @@ public TntApiError getError() { * * @param error The error of this {@link InlineObject1} */ - public void setError(@Nullable final TntApiError error) { + public void setError(@Nullable final TrckApiError error) { this.error = error; } diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject3.java b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject3.java index 5b68f5d14..d5cf90dc5 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject3.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject3.java @@ -29,7 +29,7 @@ public class InlineObject3 // CHECKSTYLE:ON { @JsonProperty("error") - private TrckApiError error; + private TntApiError error; @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -44,7 +44,7 @@ protected InlineObject3() {} * @return The same instance of this {@link InlineObject3} class */ @Nonnull - public InlineObject3 error(@Nullable final TrckApiError error) { + public InlineObject3 error(@Nullable final TntApiError error) { this.error = error; return this; } @@ -55,7 +55,7 @@ public InlineObject3 error(@Nullable final TrckApiError error) { * @return error The error of this {@link InlineObject3} instance. */ @Nonnull - public TrckApiError getError() { + public TntApiError getError() { return error; } @@ -64,7 +64,7 @@ public TrckApiError getError() { * * @param error The error of this {@link InlineObject3} */ - public void setError(@Nullable final TrckApiError error) { + public void setError(@Nullable final TntApiError error) { this.error = error; } diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject4.java b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject4.java index d217e4079..f58585cf9 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject4.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject4.java @@ -29,7 +29,7 @@ public class InlineObject4 // CHECKSTYLE:ON { @JsonProperty("error") - private DSetError error; + private KpiApiError error; @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -44,7 +44,7 @@ protected InlineObject4() {} * @return The same instance of this {@link InlineObject4} class */ @Nonnull - public InlineObject4 error(@Nullable final DSetError error) { + public InlineObject4 error(@Nullable final KpiApiError error) { this.error = error; return this; } @@ -55,7 +55,7 @@ public InlineObject4 error(@Nullable final DSetError error) { * @return error The error of this {@link InlineObject4} instance. */ @Nonnull - public DSetError getError() { + public KpiApiError getError() { return error; } @@ -64,7 +64,7 @@ public DSetError getError() { * * @param error The error of this {@link InlineObject4} */ - public void setError(@Nullable final DSetError error) { + public void setError(@Nullable final KpiApiError error) { this.error = error; } diff --git a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject5.java b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject5.java index b163dad36..d668a26fd 100644 --- a/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject5.java +++ b/core/src/main/java/com/sap/ai/sdk/core/model/InlineObject5.java @@ -29,7 +29,7 @@ public class InlineObject5 // CHECKSTYLE:ON { @JsonProperty("error") - private MetaApiError error; + private DSetError error; @JsonAnySetter @JsonAnyGetter private final Map cloudSdkCustomFields = new LinkedHashMap<>(); @@ -44,7 +44,7 @@ protected InlineObject5() {} * @return The same instance of this {@link InlineObject5} class */ @Nonnull - public InlineObject5 error(@Nullable final MetaApiError error) { + public InlineObject5 error(@Nullable final DSetError error) { this.error = error; return this; } @@ -55,7 +55,7 @@ public InlineObject5 error(@Nullable final MetaApiError error) { * @return error The error of this {@link InlineObject5} instance. */ @Nonnull - public MetaApiError getError() { + public DSetError getError() { return error; } @@ -64,7 +64,7 @@ public MetaApiError getError() { * * @param error The error of this {@link InlineObject5} */ - public void setError(@Nullable final MetaApiError error) { + public void setError(@Nullable final DSetError error) { this.error = error; } diff --git a/core/src/main/resources/spec/aicore.yaml b/core/src/main/resources/spec/aicore.yaml index 55efdd645..6156fd9f6 100644 --- a/core/src/main/resources/spec/aicore.yaml +++ b/core/src/main/resources/spec/aicore.yaml @@ -8,7 +8,7 @@ info: with high performance. Register your own Docker registry, synchronize your AI content from your own git repository, and register your own object store for training data and trained models.\n" - version: 2.40.0 + version: 2.40.1 x-sap-shortText: Create and manage AI scenarios, trainings, deployments, and artifacts in SAP AI Core. servers: @@ -2428,773 +2428,274 @@ components: tokenUrl: https://(subdomain_identity_zone).authentication.(host)/oauth/token scopes: {} schemas: - KpiColumnName: - readOnly: true - type: string - description: Name of the Column - anyOf: - - enum: - - ResourceGroup - - Scenario - - Executable - - Executions - - Artifacts - - Deployments - - {} - KpiArrayOfColumnNames: - uniqueItems: true - type: array - readOnly: true - items: - $ref: '#/components/schemas/KpiColumnName' - KpiAggregationAttribute: - type: string - title: Aggregation Attribute - readOnly: true - KpiCountAggregate: - type: integer - title: CountAggregate - format: int64 - minimum: 0 - x-examples: {} - readOnly: true - KpiResultRow: - type: array - title: ResultRow - uniqueItems: false - x-examples: {} - description: '' - items: - $ref: '#/components/schemas/KpiResultRowItem' - readOnly: true - KpiResultRowItem: - title: ResultRowItem - anyOf: - - $ref: '#/components/schemas/KpiAggregationAttribute' - - $ref: '#/components/schemas/KpiCountAggregate' - x-examples: {} - KpiResultRowList: - title: ResultRowList - type: array - items: - $ref: '#/components/schemas/KpiResultRow' - KpiResultSet: - type: object - title: ResultSet - x-examples: - example-1: - header: - - ResourceGroup - - Executions - - Artifacts - - Deployments - rows: - - - 00112233-4455-6677-8899-aabbccddeeff - - 30 - - 30 - - 3 - additionalProperties: false - minProperties: 2 - maxProperties: 2 - properties: - header: - $ref: '#/components/schemas/KpiArrayOfColumnNames' - rows: - $ref: '#/components/schemas/KpiResultRowList' - readOnly: true - KpiApiError: - type: object - required: - - code - - message - properties: - code: - type: string - description: Descriptive error code (not http status code) - message: - type: string - description: Plaintext error description - requestId: - type: string - description: ID of the individual request - target: - type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - BckndId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - BckndMessage: - type: string - description: Message - BckndName: - type: string - description: Name - BckndCreationResponseMessage: - type: string - description: Message - example: Created - BckndUrl: - type: string - format: url - BckndResourceGroupList: + MetaCapabilities: type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndResourceGroup' required: - - count - - resources - BckndResourceGroupBase: - type: object + - aiApi properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id + runtimeIdentifier: type: string - zoneId: - description: zone id + example: aicore + description: The name of the runtime + runtimeApiVersion: + $ref: '#/components/schemas/MetaVersion' + description: type: string - BckndResourceGroup: + aiApi: + $ref: '#/components/schemas/MetaAiApi' + extensions: + $ref: '#/components/schemas/MetaExtensions' + MetaExtensions: type: object properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - createdAt: - description: Timestamp of resource group creation - type: string - format: date-time - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - status: - description: aggregated status of the onboarding process - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - statusMessage: - description: status message - type: string - required: - - status - - createdAt - - resourceGroupId - BckndInternalResourceGroup: + analytics: + type: object + required: + - version + properties: + version: + $ref: '#/components/schemas/MetaVersion' + resourceGroups: + type: object + required: + - version + properties: + version: + $ref: '#/components/schemas/MetaVersion' + dataset: + type: object + properties: + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: + description: List of Dataset extension capabilities + type: object + properties: + upload: + description: Support for uploading of files + type: boolean + default: true + download: + description: Support for downloading of files + type: boolean + default: true + delete: + description: Support for deletion of files + type: boolean + default: true + limits: + type: object + properties: + maxUploadFileSize: + type: integer + description: Max size (in bytes) of a single uploaded file allowed + by this runtime per resource group. + default: 104857600 + maxFilesPerDataset: + description: Max number of files per dataset. <0 means unlimited. + type: integer + default: -1 + acceptedContentTypes: + type: array + items: + type: string + pattern: ^\w+\/([\w+-]\.)?[\w.-]+(\+[\w-]+)*$ + required: + - version + metrics: + type: object + properties: + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: + description: List of Metrics extension capabilities + type: object + properties: + extendedResults: + description: Support for returning extended results + type: boolean + default: false + required: + - version + MetaAiApi: + description: There are (currently) the following types of execution engines 1) + complete runtimes that offer executions and deployments, 2) runtimes that + do only batch inference and therefore don't support deployments 3) runtimes + that allow deployments, but with predefined models and therefore don't need + executions 4) runtimes that have fixed endpoints and therefore only need listing + deployments type: object properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - createdAt: - description: Timestamp of resource group creation - type: string - format: date-time - labels: - $ref: '#/components/schemas/BckndInternalResourceGroupLabels' - status: - description: aggregated status of the onboarding process - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - statusMessage: - description: status message - type: string - annotations: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' - required: - - status - - createdAt - - resourceGroupId - BckndResourceGroupsPostRequest: - type: object - properties: - resourceGroupId: - description: resource group id - type: string - pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ - minLength: 3 - maxLength: 253 - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - BckndResourceGroupLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndResourceGroupLabel' - BckndResourceGroupLabel: - type: object - required: - - key - - value - properties: - key: - type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: - type: string - maxLength: 5000 - BckndInternalResourceGroupLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndInternalResourceGroupLabel' - BckndInternalResourceGroupLabel: - type: object - required: - - key - - value - properties: - key: - type: string - pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ - maxLength: 63 - example: internal.ai.sap.com/my-label - value: - type: string - maxLength: 5000 - BckndInternalResourceGroupAnnotations: - type: array - description: Arbitrary annotations as meta information - items: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' - BckndInternalResourceGroupAnnotation: - type: object - required: - - key - - value - properties: - key: - type: string - pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ - maxLength: 63 - example: internal.ai.sap.com/my-annotation - value: - type: string - maxLength: 5000 - BckndResourceGroupDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' - required: - - id - - message - BckndResourceGroupDeletionResponseMessage: - type: string - description: Message - example: Resource Group deletion scheduled - BckndResourceGroupPatchRequest: - type: object - properties: - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - BckndEvent: - type: object - properties: - tenantId: - description: tenant id - type: string - action: - type: string - enum: - - PROVISION - - DEPROVISION - state: - type: string - enum: - - SUCCESSFUL - - FAILED - - PENDING - description: - description: describes the event state - type: string - createdAt: - type: string - format: date-time - example: '2017-09-28T08:56:23.275Z' - BckndTenant: - type: object - properties: - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - realSubaccountId: - description: real sub account id - type: string - servicePlan: - description: service plan - type: string - BckndobjectStoreSecretWithSensitiveDataRequest: - type: object - description: This represents all the meta-data and extra information to be stored - as a k8-secret - required: - - name - - type - - data - properties: - name: - type: string - description: Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: - type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: - type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: - type: string - description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl - example: '0' - usehttps: - type: string - description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps - example: '1' - default: '1' - data: - type: object - description: key:value pairs of data - writeOnly: true - BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: - type: object - description: This represents all the meta-data and extra information to be stored - as a k8-secret - required: - - name - - type - - data - properties: - name: - type: string - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - maxLength: 233 - description: Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: - type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: - type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: - type: string - description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl - example: '0' - usehttps: - type: string - description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps - example: '1' - default: '1' - data: - type: object - description: key:value pairs of data - writeOnly: true - BckndobjectStoreSecretStatusResponse: - description: This represents a list of meta-data of a stored secret. The 'data' - field of the secret is never retrieved. - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndobjectStoreSecretStatus' - required: - - count - - resources - BckndobjectStoreSecretStatus: - type: object - description: This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. - properties: - metadata: - description: Key value pairs of meta-data assigned to the secret when the - secret was being created. + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: type: object properties: - serving.kubeflow.org/s3-usehttps: - type: string - description: 0 and 1 values for setting the flag - example: '1' - serving.kubeflow.org/s3-verifyssl: - type: string - description: 0 and 1 values for setting the flag - example: '0' - serving.kubeflow.org/s3-endpoint: - type: string - description: Annotation for endpoint required by KF_Serving - example: some_endpoint - serving.kubeflow.org/s3-region: - type: string - description: Annotation for region required by KF_Serving - example: EU - storage.ai.sap.com/type: - type: string - description: Storage type of the secret - example: S3 - storage.ai.sap.com/bucket: - type: string - description: bucket assigned to the secret on creation - example: my_bucket - storage.ai.sap.com/endpoint: - type: string - description: Endpoint assigned to the secret on creation - example: some_endpoint - storage.ai.sap.com/region: - type: string - description: Region of the storage server - example: EU - storage.ai.sap.com/pathPrefix: - type: string - description: Pathprefix type assigned to the secret on creation. - example: mnist_folder - storage.ai.sap.com/hdfsNameNode: - type: string - description: name node of the HDFS file system - example: https://c3272xxxxxfa8f.files.hdl.canary-eu10.hanacloud.ondemand.com - storage.ai.sap.com/headers: - type: string - description: headers for webHDFS and other protocols - example: '{"x-sap-filecontainer": "c32727xxxxxxx322dcfa8f"}' - storage.ai.sap.com/containerUri: - type: string - description: container uri of azure storage - example: - https://sapcv842awjkfb2.blob.core.windows.net/sapcp-osaas-xxx-xxxx-xxxx-xxxx-xxxx-zrs - storage.ai.sap.com/subscriptionId: - type: string - description: subscription id - example: dgewg2-gkrwnegiw - storage.ai.sap.com/tenantId: - type: string - description: tenant id - example: dawd2120-dadwad2 - storage.ai.sap.com/projectId: - type: string - description: project id of google cloud platform - example: sap-gcp-oaas-us31-1 - name: - description: Name of objectstore - type: string - example: myobjectstore-object-store-secret - BckndobjectStoreSecretDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' - required: - - id - - message - BckndobjectStoreSecretDeletionResponseMessage: - type: string - description: Message - example: Object Store Secret has been deleted - BckndobjectStoreSecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' - BckndobjectStoreSecretCreationResponseMessage: - type: string - description: Message - example: Secret has been created - BckndobjectStoreSecretModificationResponseMessage: - type: string - description: Message - example: Secret has been modified - BckndobjectStoreSecretModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' - required: - - id - - message - BcknddockerRegistryNameComponent: - description: Name of the docker Registry store for the secret. - type: string - pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ - maxLength: 63 - example: mydockeregistry - BcknddockerRegistrySecretWithSensitiveDataRequest: - type: object - description: This represents all the meta-data and extra information to be stored - as a k8-secret - required: - - data - properties: - data: + multitenant: + type: boolean + description: true-> AI API implementation supports resource groups (Main + Tenant scenario), false-> implementation does not support resource + groups (Service Tenant scenario) + default: true + shareable: + type: boolean + description: true-> clients can use just one instance (global static + models), false-> clients should avoid sharing an instance + default: true + staticDeployments: + type: boolean + description: There are static always running endpoints that can be used + for inference without the need to do user deployments. + default: true + userDeployments: + type: boolean + description: Services that only support batch inference typically neither + allow listing nor creation of deployments. For these, userDeployments + == false + default: true + userExecutions: + type: boolean + default: true + timeToLiveDeployments: + type: boolean + default: false + executionSchedules: + type: boolean + default: false + logs: + type: object + properties: + executions: + type: boolean + default: true + deployments: + type: boolean + default: true + bulkUpdates: + type: object + description: Services that support patch on /executions and /deployments + to change targetStatus of multiple executions and deployments. + properties: + executions: + type: boolean + default: false + deployments: + type: boolean + default: false + limits: type: object - required: - - .dockerconfigjson - description: key:value pairs of data - writeOnly: true - additionalProperties: false properties: - .dockerconfigjson: - type: string - description: .dockerconfigjson data - BcknddockerRegistrySecretStatusResponse: - description: This represents a list of meta-data of a stored secret. The 'data' - field of the secret is never retrieved. - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' - required: - - count - - resources - BcknddockerRegistrySecretStatus: - type: object - description: This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. - properties: - name: - description: Name of dockerRegistryStore - type: string - example: mydockeregistry - BcknddockerRegistrySecretDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' + executions: + type: object + properties: + maxRunningCount: + description: Max nr of executions allowed by this runtime per resource + group. <0 means unlimited. + type: integer + default: -1 + deployments: + type: object + properties: + maxRunningCount: + description: Max nr of deployments allowed by this runtime per resource + group. <0 means unlimited. + type: integer + default: -1 + timeToLiveDeployments: + type: object + properties: + minimum: + type: string + default: 10m + maximum: + type: string + default: '-1' required: - - id - - message - BcknddockerRegistrySecretDeletionResponseMessage: - type: string - description: Message - example: Docker Registry Secret has been deleted - BcknddockerRegistrySecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretCreationResponseMessage' - BcknddockerRegistrySecretCreationResponseMessage: - type: string - description: Message - example: Secret has been created - BcknddockerRegistrySecretModificationResponseMessage: + - version + MetaVersion: + example: 1.2.3 type: string - description: Message - example: Secret has been modified - BcknddockerRegistrySecretModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' - required: - - id - - message - BckndGenericSecretData: - description: Base64 encoded secret data - type: object - additionalProperties: - type: string - BckndGenericSecretPostBody: - type: object - required: - - name - - data - properties: - name: - description: The name of the secret - type: string - minLength: 1 - maxLength: 252 - pattern: ^[a-z0-9\-\.]+$ - data: - $ref: '#/components/schemas/BckndGenericSecretData' - labels: - $ref: '#/components/schemas/BckndGenericSecretLabels' - BckndGenericSecretPatchBody: - type: object - required: - - data - properties: - data: - $ref: '#/components/schemas/BckndGenericSecretData' - BckndGenericSecretDataResponse: - type: object - properties: - message: - $ref: '#/components/schemas/BckndMessage' - name: - $ref: '#/components/schemas/BckndName' - BckndGenericSecretDetails: + pattern: + ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + MetaAPIVersion: type: object - required: - - name - - createdAt properties: - name: - description: Name of the secret - type: string - createdAt: - description: Timestamp at which secret was created + versionId: type: string - resourceGroupSecretsSyncStatus: - description: Sync status of the replicated secrets in all resource groups - of the tenant - type: object - additionalProperties: - type: boolean - description: Resource group ID and sync status - BckndListGenericSecretsResponse: - description: This represents a list of meta-data of the secret. The 'data' field - of the secret is never retrieved. - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndGenericSecretDetails' - required: - - count - - resources - BckndGenericSecretLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndGenericSecretLabel' - BckndGenericSecretLabel: - type: object - required: - - key - - value - properties: - key: + description: API version identifier + example: v1 + url: type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: + description: URL of the API version + example: https://api.example.com/v1 + description: type: string - maxLength: 5000 - BckndArgoCDRepositoryData: + description: version description + example: Example API + description: API version description + MetaApiError: type: object required: - - url - - username - - password + - code + - message properties: - name: - description: Name of the repository + code: type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ - url: - description: URL of the repository to synchronise + description: Descriptive error code (not http status code) + message: type: string - username: - description: Username for read-access to the repository + description: Plaintext error description + requestId: type: string - password: - description: Password for read-access to the repository + description: ID of the individual request + target: type: string - BckndArgoCDRepositoryCredentials: + description: Invoked URL + details: + description: Optional details of the error message + type: object + TrckGetMetricResource: + description: Collection of various metrics/tags/labels associated against some + execution/deployment type: object + properties: + executionId: + $ref: '#/components/schemas/TrckExecutionId' + createdAt: + $ref: '#/components/schemas/TrckTimestamp' + modifiedAt: + $ref: '#/components/schemas/TrckTimestamp' + metrics: + $ref: '#/components/schemas/TrckGetMetricList' + tags: + $ref: '#/components/schemas/TrckTagList' + customInfo: + $ref: '#/components/schemas/TrckCustomInfoObjectList' required: - - username - - password + - executionId + TrckMetricResource: + description: Collection of various metrics/tags/labels associated against some + execution/deployment + required: + - executionId + type: object properties: - username: - description: Username for read-access to the repository - type: string - password: - description: Password for read-access to the repository - type: string - BckndArgoCDRepositoryDataResponse: - description: This represents a list of GitOps repositories for the tenant. + executionId: + $ref: '#/components/schemas/TrckExecutionId' + createdAt: + $ref: '#/components/schemas/TrckTimestamp' + modifiedAt: + $ref: '#/components/schemas/TrckTimestamp' + metrics: + $ref: '#/components/schemas/TrckMetricList' + tags: + $ref: '#/components/schemas/TrckTagList' + customInfo: + $ref: '#/components/schemas/TrckCustomInfoObjectList' + TrckGetMetricResourceList: type: object + required: + - resources properties: count: type: integer @@ -3202,656 +2703,859 @@ components: resources: type: array items: - $ref: '#/components/schemas/BckndArgoCDRepositoryDetails' - required: - - count - - resources - BckndArgoCDRepositoryCreationResponse: + $ref: '#/components/schemas/TrckGetMetricResource' + TrckDeleteMetricsResponse: type: object properties: id: - $ref: '#/components/schemas/BckndId' + $ref: '#/components/schemas/TrckExecutionId' message: - $ref: '#/components/schemas/BckndArgoCDRepositoryCreationResponseMessage' - required: - - id - - message - BckndArgoCDRepositoryCreationResponseMessage: + type: string + example: Metric Resource was successfully deleted + TrckExecutionId: type: string - description: Message - example: Repository has been on-boarded - BckndArgoCDRepositoryDetails: + example: aa97b177-9383-4934-8543-0f91b7a0283a + oneOf: + - $ref: '#/components/schemas/TrckMlapiExecutionId' + description: ID of the deployment/execution + TrckTimestamp: + type: string + description: Time when the metric was created or logged in RFC3339 format + format: date-time + TrckGetMetricList: + description: Array of Metric items + type: array + items: + $ref: '#/components/schemas/TrckGetMetric' + TrckMetricList: + description: Array of Metric items + type: array + items: + $ref: '#/components/schemas/TrckMetric' + TrckGetMetric: + description: Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. type: object - description: Repository details + required: + - name + - value + - timestamp properties: name: - description: The name of the repository - type: string - url: - description: The repository URL - type: string - status: - description: The status of the repository's on-boarding - type: string - enum: - - ERROR - - IN-PROGRESS - - COMPLETED - example: COMPLETED - BckndArgoCDRepositoryDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric + type: integer + minimum: 0 + example: 2 + labels: + $ref: '#/components/schemas/TrckLabelList' + TrckMetric: + description: Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. required: - - id - - message - BckndArgoCDRepositoryDeletionResponseMessage: - type: string - description: Message - example: The repository has been off-boarded. - BckndArgoCDRepositoryModificationResponse: + - name + - value type: object properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryModificationResponseMessage' - required: - - id - - message - BckndArgoCDRepositoryModificationResponseMessage: + name: + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric + type: integer + minimum: 0 + example: 2 + labels: + $ref: '#/components/schemas/TrckLabelList' + TrckMetricName: + pattern: '[\w-]{1,64}' type: string - description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationBaseData: - type: object + maxLength: 256 + description: Name of the metric + example: Error Rate + TrckMetricValue: + type: number + description: Numeric Value of the metric + example: 0.98 + TrckmetricSelectorPermissibleValues: + description: Permissible value for $select could be either * or one or many + of the values from metrics, tags, custominfo + type: array + items: + type: string + enum: + - metrics + - tags + - customInfo + - '*' + TrckLabelList: + description: a list of name-value object pairs associated with some metric. + type: array + items: + $ref: '#/components/schemas/TrckLabel' + example: + - name: group + value: tree-82 + - name: metrics.ai.sap.com/Artifact.name + value: sk_learn_rf_classifier_model + TrckLabel: + description: a classifying phrase/name applied to a metric required: - - repositoryUrl - - revision - - path + - name + - value + type: object properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise + name: + $ref: '#/components/schemas/TrckLabelName' + value: + description: Metric Label Value + maxLength: 256 + minLength: 1 type: string - BckndArgoCDApplicationData: + example: sk_learn_random_forest_model + example: + name: group + value: tree-82 + TrckTagList: + description: a list of name-value object pairs associated with the execution/deployment. + Tags are queryable. + type: array + items: + $ref: '#/components/schemas/TrckTag' + TrckTag: + description: A dictionary of name-value pairs to support segregation at execution + level. + required: + - name + - value type: object properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - applicationName: - description: ArgoCD application name + name: + oneOf: + - $ref: '#/components/schemas/TrckGenericName' + value: + description: tag value + maxLength: 256 + minLength: 1 type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ + example: RFC-1 + example: + name: Artifact Group + value: RFC-1 + TrckCustomInfoObjectList: + description: '' + type: array + items: + $ref: '#/components/schemas/TrckCustomInfoObject' + TrckCustomInfoObject: + description: large object which provides rendering/semantic information regarding + certain metric for consuming application or can be complex metrics in JSON + format required: - - repositoryUrl - - revision - - path - BckndAllArgoCDApplicationData: - description: list of applications + - name + - value type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndArgoCDApplicationData' - required: - - count - - resources - BckndArgoCDApplicationDataRepoName: - type: object + name: + oneOf: + - $ref: '#/components/schemas/TrckGenericName' + value: + $ref: '#/components/schemas/TrckCustomInfoObjectData' + example: + name: Confusion Matrix + value: '[{''Predicted'': ''False'', ''Actual'': ''False'',''value'': 34},{''Predicted'': + ''False'',''Actual'': ''True'', ''value'': 124}, {''Predicted'': ''True'',''Actual'': + ''False'',''value'': 165},{ ''Predicted'': ''True'',''Actual'': ''True'',''value'': + 36}]' + TrckCustomInfoObjectData: + description: Message + minLength: 1 + type: string + example: "[{'Predicted': 'False',\t'Actual': 'False','value': 34},{'Predicted': + 'False','Actual': 'True',\t'value': 124}, {'Predicted': 'True','Actual': 'False','value': + 165},{\t'Predicted': 'True','Actual': 'True','value': 36}]" + TrckMlapiExecutionId: + description: Generic ID + pattern: ^[\w.-]{4,64}$ + type: string + example: aa97b177-9383-4934-8543-0f91b7a0283a + TrckGenericName: + description: Generic name which can belong to a tag,label,metric or customInfo + Object + maxLength: 256 + minLength: 1 + type: string + example: sample name + TrckLabelName: + description: Label name to label one or more metrics. "metrics.ai.sap.com/Artifact.name" + is a reserved label to associate an artifact with the metrics + maxLength: 256 + minLength: 1 + type: string + example: metrics.ai.sap.com/Artifact.name + TrckApiError: required: - - repositoryName - - revision - - path - properties: - repositoryName: - description: Name of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - applicationName: - description: ArgoCD application name - type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - BckndArgoCDApplicationStatus: + - code + - message type: object - description: ArgoCD application definition and status properties: - healthStatus: - description: ArgoCD application health status - type: string - syncStatus: - description: ArgoCD application sync status + code: + description: Descriptive error code (not http status code). type: string message: - description: ArgoCD application health status message - type: string - source: - description: Information about the ArgoCD application itself - type: object - properties: - repoURL: - description: URL of the repository - type: string - path: - description: Path of the repository - type: string - revision: - description: Revision number of the ArgoCD application - type: string - syncFinishedAt: - description: Gets the timestamp information related to the sync state of - the ArgoCD application + description: plaintext error description type: string - syncStartedAt: - description: Get timestamp information related to the sync state of the - ArgoCD application + requestId: + description: id of individual request type: string - reconciledAt: - description: Get timestamp information related to the sync state of the - ArgoCD application + target: + description: url that has been called type: string - syncResourcesStatus: - description: Status of all resources that need to be synchronized with the - gitops repo - type: array - items: - type: object - properties: - name: - description: ArgoCD application object name - type: string - kind: - description: ArgoCD application object kind - type: string - status: - description: ArgoCD application object sync status - type: string - message: - description: ArgoCD application object message - type: string - syncRessourcesStatus: - deprecated: true - description: Status of all resources that need to be synchronized with the - gitops repo. Misspelled and deprecated, use syncResourcesStatus instead. + details: type: array items: - type: object - properties: - name: - description: ArgoCD application object name - type: string - kind: - description: ArgoCD application object kind - type: string - status: - description: ArgoCD application object sync status - type: string - message: - description: ArgoCD application object message - type: string - BckndArgoCDApplicationDeletionResponse: + $ref: '#/components/schemas/TrckDetailsErrorResponse' + TrckDetailsErrorResponse: type: object properties: - id: - $ref: '#/components/schemas/BckndId' + code: + description: Descriptive error code (not http status code) + type: string message: - $ref: '#/components/schemas/BckndArgoCDApplicationDeletionResponseMessage' - required: - - id - - message - BckndArgoCDApplicationDeletionResponseMessage: + description: Plaintext error description + type: string + TrckStringArray: + type: array + example: + - value1 + - value2 + items: + type: string + RTAId: type: string - description: Message - example: ArgoCD application has been deleted - BckndArgoCDApplicationCreationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' - required: - - id - - message - BckndArgoCDApplicationCreationResponseMessage: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + RTATtl: type: string - description: Message - example: ArgoCD application has been created - BckndArgoCDApplicationModificationResponse: + pattern: ^[0-9]+[m,M,h,H,d,D]$ + example: 24H + description: TTL value of deployment + RTALabelList: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/RTALabel' + RTAArtifactLabelList: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/RTAArtifactLabel' + RTALabel: type: object + required: + - key + - value properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' + key: + type: string + example: ai.sap.com/scenarioName + pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*ai\.sap\.com\/[\w\.-]+$ + value: + type: string + maxLength: 5000 + RTAArtifactLabel: + type: object required: - - id - - message - BckndArgoCDApplicationModificationResponseMessage: + - key + - value + properties: + key: + type: string + example: ext.ai.sap.com/s4hana-version + pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ + maxLength: 256 + value: + type: string + maxLength: 5000 + RTACreationResponseMessage: type: string description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationRefreshResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' - required: - - id - - message - BckndArgoCDApplicationRefreshResponseMessage: + example: Created + RTAScenarioId: type: string - description: Message - example: Refresh of ArgoCD application has been scheduled - BckndServiceList: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the scenario + RTAScenario: type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndService' + description: Entity having labels required: - - count - - resources - BckndService: - type: object + - id + - name + - createdAt + - modifiedAt properties: + id: + $ref: '#/components/schemas/RTAScenarioId' name: - description: service name type: string + maxLength: 256 + description: Name of the scenario description: - description: service description - type: string - url: - description: service broker url type: string - status: - description: aggregated status of the service + maxLength: 5000 + description: Description of the scenario + labels: + $ref: '#/components/schemas/RTALabelList' + createdAt: type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING - statusMessage: - description: status message + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - BckndExtendedService: + format: date-time + description: Timestamp of latest resource modification + RTAExecutableId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the executable + RTAExecutable: + description: Entity having labels type: object + required: + - id + - name + - scenarioId + - deployable + - createdAt + - modifiedAt properties: + id: + $ref: '#/components/schemas/RTAExecutableId' name: - description: service name type: string + description: Name of the executable description: - description: service description - type: string - url: - description: service broker url type: string - brokerSecret: - $ref: '#/components/schemas/BckndServiceBrokerSecret' - capabilities: - $ref: '#/components/schemas/BckndServiceCapabilities' - serviceCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalog' - sharedResourceGroupStatus: - $ref: '#/components/schemas/BckndSharedResourceGroupStatus' - status: - description: aggregated status of the service + description: Description of the executable + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + inputArtifacts: + $ref: '#/components/schemas/RTAExecutableInputArtifactList' + outputArtifacts: + $ref: '#/components/schemas/RTAExecutableOutputArtifactList' + parameters: + $ref: '#/components/schemas/RTAExecutableParameterList' + deployable: + type: boolean + description: Whether this pipeline is deployable + example: false + labels: + $ref: '#/components/schemas/RTALabelList' + createdAt: type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING - statusMessage: - description: status message + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - BckndServiceBrokerSecret: + format: date-time + description: Timestamp of latest resource modification + RTAExecutableParameterList: + type: array + description: Executable parameters + items: + $ref: '#/components/schemas/RTAExecutableParameter' + RTAExecutableParameter: type: object + description: Argument of an executable + required: + - name properties: name: - description: broker secret name type: string - passwordKeyRef: - description: username key reference in broker secret + description: Name of the signature argument + description: type: string - usernameKeyRef: - description: password key reference in broker secret + maxLength: 5000 + description: Description of the signature argument + default: type: string - BckndServiceCapabilities: - type: object - properties: - logs: - description: Capabilities to read logs from deployments and executions. - type: object - properties: - deployments: - type: boolean - executions: - type: boolean - basic: - description: Basic capabilities like creating deployments and executions. - type: object - properties: - staticDeployments: - description: There are static always running endpoints that can be used - for inference without the need to do user deployments. - type: boolean - userDeployments: - description: Services that only support batch inference typically neither - allow listing nor creation of deployments. For these, userDeployments - == false - type: boolean - createExecutions: - description: Services that only support deployment typically neither - allow create executions. For these, createExecutions == false - type: boolean - multitenant: - description: true-> AI API implementation supports resource groups (Main - Tenant scenario), false-> implementation does not support resource - groups (Service Tenant scenario) - type: boolean - BckndServiceServiceCatalog: + description: Default value of the signature argument + type: + type: string + enum: + - string + description: Type of the signature argument + RTAExecutableInputArtifactList: + type: array + description: List of Artifacts that the executable expects as input artifacts + items: + $ref: '#/components/schemas/RTAExecutableArtifact' + RTAExecutableOutputArtifactList: type: array + description: List of Artifacts that the executable will produce. If storage + is not managed internally, a storage location will have to be specified when + triggering an execution items: - $ref: '#/components/schemas/BckndServiceServiceCatalogItem' - BckndServiceServiceCatalogItem: + $ref: '#/components/schemas/RTAExecutableArtifact' + RTAExecutableArtifact: type: object + description: Input or output artifact + required: + - name properties: - extendCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' - extendCredentials: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' - BckndServiceServiceCatalogItemExtendCatalog: + name: + type: string + description: Name of the signature argument + description: + type: string + maxLength: 5000 + description: Description of the signature argument + kind: + type: string + description: Kind of the artifact, i.e. model or dataset + labels: + $ref: '#/components/schemas/RTAArtifactLabelList' + RTAModelBaseData: type: object + required: + - model + - executableId + - description + - versions properties: - bindable: - description: if the service is bindable - type: boolean + model: + type: string + description: Name of the model + executableId: + $ref: '#/components/schemas/RTAExecutableId' description: - description: description of the service type: string - id: - description: id of the service + description: Description of the model and its capabilities + versions: + $ref: '#/components/schemas/RTAModelVersionList' + displayName: type: string - name: - description: name of the service + description: Display name of the model + accessType: type: string - plans: + description: Access type of the model + provider: + type: string + description: Provider of the model + allowedScenarios: type: array + description: List of scenarioId:executuableId pair where the model supported items: - $ref: '#/components/schemas/BckndServiceServicePlanItem' - BckndServiceServicePlanItem: + type: object + required: + - scenarioId + - executableId + properties: + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' + RTAModelVersionList: + type: array + description: List of model versions that the model object has + items: + $ref: '#/components/schemas/RTAModelVersion' + RTAModelVersion: type: object + description: Model version information including whether it is latest version, + its deprecation status and retirement date + required: + - name + - isLatest + - deprecated properties: - description: - description: description of the service plan + name: type: string - free: - description: if the service plan free + description: Name of model version + isLatest: type: boolean - id: - description: id of the service plan - type: string - name: - description: name of the service plan + description: Displays whether it is the latest version offered for the model + deprecated: + type: boolean + description: Deprecation status of model + retirementDate: type: string + description: Retirement date of model in ISO 8601 timestamp + contextLength: + type: integer + description: Context length of the model + inputTypes: + type: array + description: List of input types supported by the model + items: + type: string + capabilities: + type: array + description: List of capabilities supported by the model + items: + type: string metadata: - $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' - BckndServiceServicePlanItemMetadata: - type: object - properties: - supportedPlatforms: - description: supported platforms of the service plan type: array + description: List of metadata supported by the model + items: + type: object + additionalProperties: + type: string + cost: + type: array + description: List of costs associated with the model + items: + type: object + additionalProperties: + type: string + suggestedReplacements: + type: array + description: List of suggested replacements for the model items: type: string - enum: - - cloudfoundry - - kubernetes - - sapbtp - BckndServiceServiceCatalogItemExtendCredentials: - type: object - properties: - shared: - type: object - properties: - serviceUrls: - type: object - properties: - AI_API_URL: - type: string - BckndSharedResourceGroupStatus: - type: object - properties: - isEnabled: - description: indicates whether shared resource group is enabled + streamingSupported: type: boolean - id: - description: shared resource group id - type: string - state: - description: current state of shared resource group - type: string - BckndDeploymentResourceQuotaResponse: - type: object - required: - - quotas - properties: - usage: - $ref: '#/components/schemas/BckndDeploymentUsage' - quotas: + description: Streaming support status of the model + orchestrationCapabilities: type: array + description: List of model capabilities supported by orchestration service items: - $ref: '#/components/schemas/BckndDeploymentQuotaItem' - BckndDeploymentUsage: + type: string + RTAArtifact: + description: Entity having labels type: object required: - - count - - items + - name + - url + - executionId + - kind + - createdAt properties: - count: - type: integer - items: - type: array - items: - $ref: '#/components/schemas/BckndUsageResourcePlanItem' - BckndUsageResourcePlanItem: + name: + type: string + maxLength: 256 + description: Name of the artifact; this is used for dependent pipelines + to resolve an artifact + executionId: + $ref: '#/components/schemas/RTAExecutionId' + url: + $ref: '#/components/schemas/RTAArtifactUrl' + signature: + $ref: '#/components/schemas/RTAArtifactSignature' + kind: + type: string + enum: + - model + - dataset + - resultset + - other + description: Kind of the artifact, i.e. model or dataset + labels: + $ref: '#/components/schemas/RTALabelList' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + RTAArtifactName: + type: string + maxLength: 256 + RTAArtifactUrl: + type: string + pattern: ([a-z0-9-]+):\/\/.+ + maxLength: 1024 + example: s3://some_bucket/some_path + description: 'Reference to the location of the artifact. + + Note, the credentials will be found in a secret called + + ''some_bucket-object_store_secret''. If not provided, a default will be assumed. + + ' + RTAArtifactSignature: + type: string + maxLength: 256 + RTAArtifactArray: + type: array + items: + $ref: '#/components/schemas/RTAArtifact' + RTADeployment: type: object + description: Detailed data about an inference-pipeline deployment required: - - id + - scenarioId + - executableId + - createdAt + - modifiedAt properties: + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' id: + $ref: '#/components/schemas/RTADeploymentId' + deploymentUrl: + $ref: '#/components/schemas/RTADeploymentUrl' + latestRunningTargetId: + $ref: '#/components/schemas/RTALatestRunningTargetId' + targetId: + $ref: '#/components/schemas/RTATargetId' + ttl: + $ref: '#/components/schemas/RTATtl' + status: type: string - resourcePlanType: + description: Deployment status + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - UNKNOWN + - DELETING + statusMessage: type: string - configuredMaxReplicas: - type: integer - BckndDeploymentQuotaItem: - type: object - properties: - resourcePlanType: + description: Deployment status message + maxLength: 256 + lastOperation: type: string - deploymentQuota: - $ref: '#/components/schemas/BckndDeploymentQuota' - BckndDeploymentQuota: + description: Reflection of user's action on deployment. The value will be + CREATE after user sends POST - create deployment, UPDATE after user sends + PATCH - update deployment, and DELETE after user sends DELETE - delete + deployment + enum: + - CREATE + - UPDATE + - CASCADE-UPDATE + - DELETE + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + RTADeploymentId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the deployment + RTATargetId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Client provided reference, with which the status of a PATCHed deployment + can be tracked + RTALatestRunningTargetId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Target ID of the latest running deployment + RTADeploymentUrl: + description: Consumption URL of the pipeline deployment + type: string + format: url + RTADeploymentCreationResponseMessage: + type: string + description: Message + example: Deployment scheduled + RTADeploymentCascadeUpdateResponseMessage: + type: string + description: Message + example: Deployment Cascade Update scheduled + RTADeploymentDeletionResponseMessage: + type: string + description: Message + example: Deployment deletion scheduled + RTADeploymentModificationResponseMessage: + type: string + description: Message + example: Deployment modification scheduled + RTADeploymentStatusDetails: type: object - properties: - maxCount: - type: integer - description: The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - maxReplicaPerDeployment: - type: integer - BckndCommonResourceQuotaResponse: + description: Current status details of the deployment + RTADeploymentDetails: type: object - required: - - quota properties: - usage: - type: object - properties: - count: - type: integer - quota: - type: object - properties: - maxCount: - type: integer - description: The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - BckndExecutableResourceQuotaResponse: + scaling: + $ref: '#/components/schemas/RTABackendDetails' + resources: + $ref: '#/components/schemas/RTABackendDetails' + RTABackendDetails: type: object - required: - - quota properties: - usage: - type: object - properties: - servingTemplateCount: - type: integer - workflowTemplateCount: - type: integer - quota: + backendDetails: type: object - properties: - servingTemplateMaxCount: - type: integer - description: The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - workflowTemplateMaxCount: - type: integer - description: The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - BckndResourcePatchBody: + description: Current details of the deployment + RTAExecution: type: object + description: Execution required: - - resourcePlans + - scenarioId + - executableId + - createdAt + - modifiedAt properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourcePatchResourcePlans' - BckndResourcePatchResourcePlans: - type: array - items: - $ref: '#/components/schemas/BckndResourcePatchNodes' - BckndResourcePatchNodes: + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' + id: + $ref: '#/components/schemas/RTAExecutionId' + status: + type: string + description: Status of the execution + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - STOPPING + - STOPPED + - UNKNOWN + example: COMPLETED + statusMessage: + type: string + description: Execution status message + maxLength: 256 + submissionTimestamp: + type: string + description: Timestamp of execution submission + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + startTimestamp: + type: string + description: Timestamp of execution start + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + finishTimestamp: + type: string + description: Timestamp of execution finish + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + RTAInputArtifactArgumentBinding: type: object required: - name - - request + - url properties: name: - type: string - request: - type: integer - BckndResourcePatchResponse: + $ref: '#/components/schemas/RTAArtifactName' + url: + $ref: '#/components/schemas/RTAArtifactUrl' + signature: + $ref: '#/components/schemas/RTAArtifactSignature' + description: Required for execution + RTAOutputArtifactArgumentBinding: type: object required: - - message + - name properties: - message: - type: string - BckndResourceGetResponse: + name: + $ref: '#/components/schemas/RTAArtifactName' + url: + $ref: '#/components/schemas/RTAArtifactUrl' + description: Result of execution + RTAExecutableArgumentBinding: type: object required: - - resourcePlans + - key + - value properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourceGetResourcePlans' - BckndResourceGetResourcePlans: + key: + type: string + maxLength: 256 + value: + type: string + description: 'Required for execution + + Result of activation + + ' + RTAExecutionId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the execution + RTAExecutionCreationResponseMessage: + type: string + description: Message + example: Execution scheduled + RTAExecutionModificationResponseMessage: + type: string + description: Message + example: Execution modification scheduled + RTAExecutionDeletionResponseMessage: + type: string + description: Message + example: Execution deletion scheduled + RTAExecutionStatusDetails: type: object - additionalProperties: - type: object - required: - - provisioned - - requested - properties: - provisioned: - type: integer - requested: - type: integer - BckndErrorResponse: + description: Current status details of the execution + RTALogCommonResponse: type: object properties: - error: - $ref: '#/components/schemas/BckndError' - BckndError: + data: + $ref: '#/components/schemas/RTALogCommonData' + description: 'A common log query response. + + ' + RTALogCommonData: type: object - required: - - code - - message properties: - code: - type: string - description: Descriptive error code (not http status code) - message: - type: string - description: Plaintext error description - example: something went wrong - requestId: - type: string - description: ID of the individual request - target: - type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - TntTenantInfo: + result: + $ref: '#/components/schemas/RTALogCommonResult' + RTALogCommonResult: + type: array + items: + $ref: '#/components/schemas/RTALogCommonResultItem' + RTALogCommonResultItem: type: object - required: - - tenantId - - servicePlan - - status + description: Common log record. properties: - tenantId: - description: tenant id - type: string - example: aa97b177-9383-4934-8543-0f91a7a0283a - servicePlan: - type: string - status: - description: Provisioning status of the tenant - type: string - TntApiError: + timestamp: + $ref: '#/components/schemas/RTAtimestamp' + msg: + $ref: '#/components/schemas/RTAmessage' + RTAtimestamp: + description: Datetime in RFC 3339. + type: string + format: date-time + example: '2021-05-19T00:00:14.347+00:00' + RTAmessage: + description: message content. + type: string + RTAErrorResponse: + type: object + properties: + error: + $ref: '#/components/schemas/RTAError' + RTAError: type: object required: - code @@ -3863,6 +3567,7 @@ components: message: type: string description: Plaintext error description + example: something went wrong requestId: type: string description: ID of the individual request @@ -4006,6 +3711,19 @@ components: provider: type: string description: Provider of the model + allowedScenarios: + type: array + description: List of scenarioId:executableId pair where the model supported + items: + type: object + required: + - scenarioId + - executableId + properties: + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + executableId: + $ref: '#/components/schemas/AiExecutableId' AiModelVersionList: type: array description: List of model versions that the model object has @@ -4064,6 +3782,14 @@ components: description: List of suggested replacements for the model items: type: string + streamingSupported: + type: boolean + description: Streaming support status of the model + orchestrationCapabilities: + type: array + description: List of model capabilities supported by orchestration service + items: + type: string AiVersion: type: object required: @@ -5276,78 +5002,374 @@ components: msg: description: message content. type: string - AiId: + AiId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + AiVersionId: + description: Version ID + type: string + AiVersionDescription: + type: string + maxLength: 5000 + example: This is version v1 + description: Version description + AiCreationResponseMessage: + type: string + description: Message + example: Created + AiUrl: + type: string + format: url + AiApiErrorWithId: + type: object + required: + - id + - error + properties: + id: + $ref: '#/components/schemas/AiId' + error: + $ref: '#/components/schemas/AiApiError' + AiApiError: + type: object + required: + - code + - message + properties: + code: + type: string + description: Descriptive error code (not http status code) + message: + type: string + description: Plaintext error description + requestId: + type: string + description: ID of the individual request + target: + type: string + description: Invoked URL + details: + description: Optional details of the error message + type: object + TntTenantInfo: + type: object + required: + - tenantId + - servicePlan + - status + properties: + tenantId: + description: tenant id + type: string + example: aa97b177-9383-4934-8543-0f91a7a0283a + servicePlan: + type: string + status: + description: Provisioning status of the tenant + type: string + TntApiError: + type: object + required: + - code + - message + properties: + code: + type: string + description: Descriptive error code (not http status code) + message: + type: string + description: Plaintext error description + requestId: + type: string + description: ID of the individual request + target: + type: string + description: Invoked URL + details: + description: Optional details of the error message + type: object + KpiColumnName: + readOnly: true + type: string + description: Name of the Column + anyOf: + - enum: + - ResourceGroup + - Scenario + - Executable + - Executions + - Artifacts + - Deployments + - {} + KpiArrayOfColumnNames: + uniqueItems: true + type: array + readOnly: true + items: + $ref: '#/components/schemas/KpiColumnName' + KpiAggregationAttribute: + type: string + title: Aggregation Attribute + readOnly: true + KpiCountAggregate: + type: integer + title: CountAggregate + format: int64 + minimum: 0 + x-examples: {} + readOnly: true + KpiResultRow: + type: array + title: ResultRow + uniqueItems: false + x-examples: {} + description: '' + items: + $ref: '#/components/schemas/KpiResultRowItem' + readOnly: true + KpiResultRowItem: + title: ResultRowItem + anyOf: + - $ref: '#/components/schemas/KpiAggregationAttribute' + - $ref: '#/components/schemas/KpiCountAggregate' + x-examples: {} + KpiResultRowList: + title: ResultRowList + type: array + items: + $ref: '#/components/schemas/KpiResultRow' + KpiResultSet: + type: object + title: ResultSet + x-examples: + example-1: + header: + - ResourceGroup + - Executions + - Artifacts + - Deployments + rows: + - - 00112233-4455-6677-8899-aabbccddeeff + - 30 + - 30 + - 3 + additionalProperties: false + minProperties: 2 + maxProperties: 2 + properties: + header: + $ref: '#/components/schemas/KpiArrayOfColumnNames' + rows: + $ref: '#/components/schemas/KpiResultRowList' + readOnly: true + KpiApiError: + type: object + required: + - code + - message + properties: + code: + type: string + description: Descriptive error code (not http status code) + message: + type: string + description: Plaintext error description + requestId: + type: string + description: ID of the individual request + target: + type: string + description: Invoked URL + details: + description: Optional details of the error message + type: object + DSetUrl: + type: string + format: url + example: https://download.example.com/test/file.bin + DSetError: + description: Error Response + type: object + properties: + code: + type: string + minLength: 1 + message: + type: string + minLength: 1 + target: + type: string + minLength: 1 + requestId: + type: string + details: + type: array + uniqueItems: true + minItems: 0 + items: + required: + - code + - message + properties: + code: + type: string + minLength: 1 + message: + type: string + minLength: 1 + required: + - code + - message + x-examples: + example-1: + code: '03021655' + message: Bad request encountered. Please try again with possible-solution-here. + target: /url/path + requestId: 9832bf934f3743v3948v3 + details: + - code: '01041211' + message: Optional nested error message. + DSetFileCreationResponse: + description: Response for successful file creation + type: object + required: + - message + - url + properties: + message: + type: string + description: File creation response message + example: File creation acknowledged + url: + $ref: '#/components/schemas/DSetUrl' + BckndId: type: string pattern: ^[\w.-]{4,64}$ example: aa97b177-9383-4934-8543-0f91a7a0283a description: Generic ID - AiVersionId: - description: Version ID + BckndMessage: type: string - AiVersionDescription: + description: Message + BckndName: type: string - maxLength: 5000 - example: This is version v1 - description: Version description - AiCreationResponseMessage: + description: Name + BckndCreationResponseMessage: type: string description: Message example: Created - AiUrl: + BckndUrl: type: string format: url - AiApiErrorWithId: + BckndResourceGroupList: type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndResourceGroup' required: - - id - - error + - count + - resources + BckndResourceGroupBase: + type: object properties: - id: - $ref: '#/components/schemas/AiId' - error: - $ref: '#/components/schemas/AiApiError' - AiApiError: + resourceGroupId: + description: resource group id + type: string + tenantId: + description: tenant id + type: string + zoneId: + description: zone id + type: string + BckndResourceGroup: type: object + properties: + resourceGroupId: + description: resource group id + type: string + tenantId: + description: tenant id + type: string + zoneId: + description: zone id + type: string + createdAt: + description: Timestamp of resource group creation + type: string + format: date-time + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + status: + description: aggregated status of the onboarding process + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message + type: string required: - - code - - message + - status + - createdAt + - resourceGroupId + BckndInternalResourceGroup: + type: object properties: - code: + resourceGroupId: + description: resource group id type: string - description: Descriptive error code (not http status code) - message: + tenantId: + description: tenant id type: string - description: Plaintext error description - requestId: + zoneId: + description: zone id type: string - description: ID of the individual request - target: + createdAt: + description: Timestamp of resource group creation type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - RTAId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - RTATtl: - type: string - pattern: ^[0-9]+[m,M,h,H,d,D]$ - example: 24H - description: TTL value of deployment - RTALabelList: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/RTALabel' - RTAArtifactLabelList: + format: date-time + labels: + $ref: '#/components/schemas/BckndInternalResourceGroupLabels' + status: + description: aggregated status of the onboarding process + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message + type: string + annotations: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' + required: + - status + - createdAt + - resourceGroupId + BckndResourceGroupsPostRequest: + type: object + properties: + resourceGroupId: + description: resource group id + type: string + pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ + minLength: 3 + maxLength: 253 + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndResourceGroupLabels: type: array description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/RTAArtifactLabel' - RTALabel: + $ref: '#/components/schemas/BckndResourceGroupLabel' + BckndResourceGroupLabel: type: object required: - key @@ -5355,12 +5377,18 @@ components: properties: key: type: string - example: ai.sap.com/scenarioName - pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*ai\.sap\.com\/[\w\.-]+$ + pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ + maxLength: 63 + example: ext.ai.sap.com/my-label value: type: string maxLength: 5000 - RTAArtifactLabel: + BckndInternalResourceGroupLabels: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/BckndInternalResourceGroupLabel' + BckndInternalResourceGroupLabel: type: object required: - key @@ -5368,641 +5396,806 @@ components: properties: key: type: string - example: ext.ai.sap.com/s4hana-version - pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ - maxLength: 256 + pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ + maxLength: 63 + example: internal.ai.sap.com/my-label value: type: string maxLength: 5000 - RTACreationResponseMessage: - type: string - description: Message - example: Created - RTAScenarioId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the scenario - RTAScenario: + BckndInternalResourceGroupAnnotations: + type: array + description: Arbitrary annotations as meta information + items: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' + BckndInternalResourceGroupAnnotation: type: object - description: Entity having labels required: - - id - - name - - createdAt - - modifiedAt + - key + - value properties: - id: - $ref: '#/components/schemas/RTAScenarioId' - name: + key: type: string - maxLength: 256 - description: Name of the scenario - description: + pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ + maxLength: 63 + example: internal.ai.sap.com/my-annotation + value: type: string maxLength: 5000 - description: Description of the scenario - labels: - $ref: '#/components/schemas/RTALabelList' - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: - type: string - format: date-time - description: Timestamp of latest resource modification - RTAExecutableId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the executable - RTAExecutable: - description: Entity having labels + BckndResourceGroupDeletionResponse: type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' required: - id - - name - - scenarioId - - deployable - - createdAt - - modifiedAt + - message + BckndResourceGroupDeletionResponseMessage: + type: string + description: Message + example: Resource Group deletion scheduled + BckndResourceGroupPatchRequest: + type: object properties: - id: - $ref: '#/components/schemas/RTAExecutableId' - name: + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndEvent: + type: object + properties: + tenantId: + description: tenant id type: string - description: Name of the executable + action: + type: string + enum: + - PROVISION + - DEPROVISION + state: + type: string + enum: + - SUCCESSFUL + - FAILED + - PENDING description: + description: describes the event state type: string - description: Description of the executable - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - inputArtifacts: - $ref: '#/components/schemas/RTAExecutableInputArtifactList' - outputArtifacts: - $ref: '#/components/schemas/RTAExecutableOutputArtifactList' - parameters: - $ref: '#/components/schemas/RTAExecutableParameterList' - deployable: - type: boolean - description: Whether this pipeline is deployable - example: false - labels: - $ref: '#/components/schemas/RTALabelList' createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: type: string format: date-time - description: Timestamp of latest resource modification - RTAExecutableParameterList: - type: array - description: Executable parameters - items: - $ref: '#/components/schemas/RTAExecutableParameter' - RTAExecutableParameter: + example: '2017-09-28T08:56:23.275Z' + BckndTenant: type: object - description: Argument of an executable - required: - - name properties: - name: + tenantId: + description: tenant id type: string - description: Name of the signature argument - description: + zoneId: + description: zone id type: string - maxLength: 5000 - description: Description of the signature argument - default: + realSubaccountId: + description: real sub account id type: string - description: Default value of the signature argument - type: + servicePlan: + description: service plan type: string - enum: - - string - description: Type of the signature argument - RTAExecutableInputArtifactList: - type: array - description: List of Artifacts that the executable expects as input artifacts - items: - $ref: '#/components/schemas/RTAExecutableArtifact' - RTAExecutableOutputArtifactList: - type: array - description: List of Artifacts that the executable will produce. If storage - is not managed internally, a storage location will have to be specified when - triggering an execution - items: - $ref: '#/components/schemas/RTAExecutableArtifact' - RTAExecutableArtifact: + BckndobjectStoreSecretWithSensitiveDataRequest: type: object - description: Input or output artifact + description: This represents all the meta-data and extra information to be stored + as a k8-secret required: - name + - type + - data properties: name: type: string - description: Name of the signature argument - description: + description: Name of the object store for the secret object to be created. + Can be used later on check for existence of the secret. + example: myobjectstore + type: type: string - maxLength: 5000 - description: Description of the signature argument - kind: + description: Storage type e.g. S3, GCS,... + example: S3 + bucket: type: string - description: Kind of the artifact, i.e. model or dataset - labels: - $ref: '#/components/schemas/RTAArtifactLabelList' - RTAModelBaseData: - type: object - required: - - model - - executableId - - description - - versions - properties: - model: + description: Bucket to be used + example: mybucket1 + endpoint: type: string - description: Name of the model - executableId: - $ref: '#/components/schemas/RTAExecutableId' - description: + description: Optional parameter - URL of the storage server (S3 only) + example: www.example.com + region: type: string - description: Description of the model and its capabilities - versions: - $ref: '#/components/schemas/RTAModelVersionList' - displayName: + description: Optional parameter - Region of the storage server (S3 only) + example: eu + pathPrefix: type: string - description: Display name of the model - accessType: + description: prefix folder to be added to storage path + example: mp-api + verifyssl: type: string - description: Access type of the model - provider: + description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl + example: '0' + usehttps: type: string - description: Provider of the model - allowedScenarios: - type: array - description: List of scenarioId:executuableId pair where the model supported - items: - type: object - required: - - scenarioId - - executableId - properties: - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - executableId: - $ref: '#/components/schemas/RTAExecutableId' - RTAModelVersionList: - type: array - description: List of model versions that the model object has - items: - $ref: '#/components/schemas/RTAModelVersion' - RTAModelVersion: + description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps + example: '1' + default: '1' + data: + type: object + description: key:value pairs of data + writeOnly: true + BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: type: object - description: Model version information including whether it is latest version, - its deprecation status and retirement date + description: This represents all the meta-data and extra information to be stored + as a k8-secret required: - name - - isLatest - - deprecated + - type + - data properties: name: type: string - description: Name of model version - isLatest: - type: boolean - description: Displays whether it is the latest version offered for the model - deprecated: - type: boolean - description: Deprecation status of model - retirementDate: + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + maxLength: 233 + description: Name of the object store for the secret object to be created. + Can be used later on check for existence of the secret. + example: myobjectstore + type: type: string - description: Retirement date of model in ISO 8601 timestamp - contextLength: - type: integer - description: Context length of the model - inputTypes: - type: array - description: List of input types supported by the model - items: - type: string - capabilities: - type: array - description: List of capabilities supported by the model - items: - type: string - metadata: - type: array - description: List of metadata supported by the model - items: - type: object - additionalProperties: - type: string - cost: - type: array - description: List of costs associated with the model - items: - type: object - additionalProperties: - type: string - suggestedReplacements: - type: array - description: List of suggested replacements for the model - items: - type: string - streamingSupported: - type: boolean - description: Streaming support status of the model - orchestrationCapabilities: + description: Storage type e.g. S3, GCS,... + example: S3 + bucket: + type: string + description: Bucket to be used + example: mybucket1 + endpoint: + type: string + description: Optional parameter - URL of the storage server (S3 only) + example: www.example.com + region: + type: string + description: Optional parameter - Region of the storage server (S3 only) + example: eu + pathPrefix: + type: string + description: prefix folder to be added to storage path + example: mp-api + verifyssl: + type: string + description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl + example: '0' + usehttps: + type: string + description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps + example: '1' + default: '1' + data: + type: object + description: key:value pairs of data + writeOnly: true + BckndobjectStoreSecretStatusResponse: + description: This represents a list of meta-data of a stored secret. The 'data' + field of the secret is never retrieved. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: type: array - description: List of model capabilities supported by orchestration service items: - type: string - RTAArtifact: - description: Entity having labels - type: object + $ref: '#/components/schemas/BckndobjectStoreSecretStatus' required: - - name - - url - - executionId - - kind - - createdAt + - count + - resources + BckndobjectStoreSecretStatus: + type: object + description: This represents the meta-data of a stored secret. The 'data' field + of the secret is never retrieved. properties: + metadata: + description: Key value pairs of meta-data assigned to the secret when the + secret was being created. + type: object + properties: + serving.kubeflow.org/s3-usehttps: + type: string + description: 0 and 1 values for setting the flag + example: '1' + serving.kubeflow.org/s3-verifyssl: + type: string + description: 0 and 1 values for setting the flag + example: '0' + serving.kubeflow.org/s3-endpoint: + type: string + description: Annotation for endpoint required by KF_Serving + example: some_endpoint + serving.kubeflow.org/s3-region: + type: string + description: Annotation for region required by KF_Serving + example: EU + storage.ai.sap.com/type: + type: string + description: Storage type of the secret + example: S3 + storage.ai.sap.com/bucket: + type: string + description: bucket assigned to the secret on creation + example: my_bucket + storage.ai.sap.com/endpoint: + type: string + description: Endpoint assigned to the secret on creation + example: some_endpoint + storage.ai.sap.com/region: + type: string + description: Region of the storage server + example: EU + storage.ai.sap.com/pathPrefix: + type: string + description: Pathprefix type assigned to the secret on creation. + example: mnist_folder + storage.ai.sap.com/hdfsNameNode: + type: string + description: name node of the HDFS file system + example: https://c3272xxxxxfa8f.files.hdl.canary-eu10.hanacloud.ondemand.com + storage.ai.sap.com/headers: + type: string + description: headers for webHDFS and other protocols + example: '{"x-sap-filecontainer": "c32727xxxxxxx322dcfa8f"}' + storage.ai.sap.com/containerUri: + type: string + description: container uri of azure storage + example: + https://sapcv842awjkfb2.blob.core.windows.net/sapcp-osaas-xxx-xxxx-xxxx-xxxx-xxxx-zrs + storage.ai.sap.com/subscriptionId: + type: string + description: subscription id + example: dgewg2-gkrwnegiw + storage.ai.sap.com/tenantId: + type: string + description: tenant id + example: dawd2120-dadwad2 + storage.ai.sap.com/projectId: + type: string + description: project id of google cloud platform + example: sap-gcp-oaas-us31-1 name: + description: Name of objectstore type: string - maxLength: 256 - description: Name of the artifact; this is used for dependent pipelines - to resolve an artifact - executionId: - $ref: '#/components/schemas/RTAExecutionId' - url: - $ref: '#/components/schemas/RTAArtifactUrl' - signature: - $ref: '#/components/schemas/RTAArtifactSignature' - kind: - type: string - enum: - - model - - dataset - - resultset - - other - description: Kind of the artifact, i.e. model or dataset - labels: - $ref: '#/components/schemas/RTALabelList' - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - RTAArtifactName: + example: myobjectstore-object-store-secret + BckndobjectStoreSecretDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' + required: + - id + - message + BckndobjectStoreSecretDeletionResponseMessage: type: string - maxLength: 256 - RTAArtifactUrl: + description: Message + example: Object Store Secret has been deleted + BckndobjectStoreSecretCreationResponse: + type: object + description: Message + example: Created + properties: + message: + $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' + BckndobjectStoreSecretCreationResponseMessage: type: string - pattern: ([a-z0-9-]+):\/\/.+ - maxLength: 1024 - example: s3://some_bucket/some_path - description: 'Reference to the location of the artifact. - - Note, the credentials will be found in a secret called - - ''some_bucket-object_store_secret''. If not provided, a default will be assumed. - - ' - RTAArtifactSignature: + description: Message + example: Secret has been created + BckndobjectStoreSecretModificationResponseMessage: type: string - maxLength: 256 - RTAArtifactArray: - type: array - items: - $ref: '#/components/schemas/RTAArtifact' - RTADeployment: + description: Message + example: Secret has been modified + BckndobjectStoreSecretModificationResponse: type: object - description: Detailed data about an inference-pipeline deployment - required: - - scenarioId - - executableId - - createdAt - - modifiedAt properties: - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - executableId: - $ref: '#/components/schemas/RTAExecutableId' id: - $ref: '#/components/schemas/RTADeploymentId' - deploymentUrl: - $ref: '#/components/schemas/RTADeploymentUrl' - latestRunningTargetId: - $ref: '#/components/schemas/RTALatestRunningTargetId' - targetId: - $ref: '#/components/schemas/RTATargetId' - ttl: - $ref: '#/components/schemas/RTATtl' - status: - type: string - description: Deployment status - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - UNKNOWN - - DELETING - statusMessage: - type: string - description: Deployment status message - maxLength: 256 - lastOperation: - type: string - description: Reflection of user's action on deployment. The value will be - CREATE after user sends POST - create deployment, UPDATE after user sends - PATCH - update deployment, and DELETE after user sends DELETE - delete - deployment - enum: - - CREATE - - UPDATE - - CASCADE-UPDATE - - DELETE - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' + required: + - id + - message + BcknddockerRegistryNameComponent: + description: Name of the docker Registry store for the secret. + type: string + pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ + maxLength: 63 + example: mydockeregistry + BcknddockerRegistrySecretWithSensitiveDataRequest: + type: object + description: This represents all the meta-data and extra information to be stored + as a k8-secret + required: + - data + properties: + data: + type: object + required: + - .dockerconfigjson + description: key:value pairs of data + writeOnly: true + additionalProperties: false + properties: + .dockerconfigjson: + type: string + description: .dockerconfigjson data + BcknddockerRegistrySecretStatusResponse: + description: This represents a list of meta-data of a stored secret. The 'data' + field of the secret is never retrieved. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' + required: + - count + - resources + BcknddockerRegistrySecretStatus: + type: object + description: This represents the meta-data of a stored secret. The 'data' field + of the secret is never retrieved. + properties: + name: + description: Name of dockerRegistryStore type: string - format: date-time - description: Timestamp of latest resource modification - RTADeploymentId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the deployment - RTATargetId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Client provided reference, with which the status of a PATCHed deployment - can be tracked - RTALatestRunningTargetId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Target ID of the latest running deployment - RTADeploymentUrl: - description: Consumption URL of the pipeline deployment - type: string - format: url - RTADeploymentCreationResponseMessage: + example: mydockeregistry + BcknddockerRegistrySecretDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' + required: + - id + - message + BcknddockerRegistrySecretDeletionResponseMessage: type: string description: Message - example: Deployment scheduled - RTADeploymentCascadeUpdateResponseMessage: - type: string + example: Docker Registry Secret has been deleted + BcknddockerRegistrySecretCreationResponse: + type: object description: Message - example: Deployment Cascade Update scheduled - RTADeploymentDeletionResponseMessage: + example: Created + properties: + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretCreationResponseMessage' + BcknddockerRegistrySecretCreationResponseMessage: type: string description: Message - example: Deployment deletion scheduled - RTADeploymentModificationResponseMessage: + example: Secret has been created + BcknddockerRegistrySecretModificationResponseMessage: type: string description: Message - example: Deployment modification scheduled - RTADeploymentStatusDetails: + example: Secret has been modified + BcknddockerRegistrySecretModificationResponse: type: object - description: Current status details of the deployment - RTADeploymentDetails: + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' + required: + - id + - message + BckndGenericSecretData: + description: Base64 encoded secret data + type: object + additionalProperties: + type: string + BckndGenericSecretPostBody: type: object + required: + - name + - data properties: - scaling: - $ref: '#/components/schemas/RTABackendDetails' - resources: - $ref: '#/components/schemas/RTABackendDetails' - RTABackendDetails: + name: + description: The name of the secret + type: string + minLength: 1 + maxLength: 252 + pattern: ^[a-z0-9\-\.]+$ + data: + $ref: '#/components/schemas/BckndGenericSecretData' + labels: + $ref: '#/components/schemas/BckndGenericSecretLabels' + BckndGenericSecretPatchBody: type: object + required: + - data properties: - backendDetails: - type: object - description: Current details of the deployment - RTAExecution: + data: + $ref: '#/components/schemas/BckndGenericSecretData' + BckndGenericSecretDataResponse: + type: object + properties: + message: + $ref: '#/components/schemas/BckndMessage' + name: + $ref: '#/components/schemas/BckndName' + BckndGenericSecretDetails: type: object - description: Execution required: - - scenarioId - - executableId + - name - createdAt - - modifiedAt properties: - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - executableId: - $ref: '#/components/schemas/RTAExecutableId' - id: - $ref: '#/components/schemas/RTAExecutionId' - status: - type: string - description: Status of the execution - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - STOPPING - - STOPPED - - UNKNOWN - example: COMPLETED - statusMessage: - type: string - description: Execution status message - maxLength: 256 - submissionTimestamp: - type: string - description: Timestamp of execution submission - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true - startTimestamp: - type: string - description: Timestamp of execution start - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true - finishTimestamp: + name: + description: Name of the secret type: string - description: Timestamp of execution finish - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true createdAt: + description: Timestamp at which secret was created type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + resourceGroupSecretsSyncStatus: + description: Sync status of the replicated secrets in all resource groups + of the tenant + type: object + additionalProperties: + type: boolean + description: Resource group ID and sync status + BckndListGenericSecretsResponse: + description: This represents a list of meta-data of the secret. The 'data' field + of the secret is never retrieved. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndGenericSecretDetails' + required: + - count + - resources + BckndGenericSecretLabels: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/BckndGenericSecretLabel' + BckndGenericSecretLabel: + type: object + required: + - key + - value + properties: + key: type: string - format: date-time - description: Timestamp of latest resource modification - RTAInputArtifactArgumentBinding: + pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ + maxLength: 63 + example: ext.ai.sap.com/my-label + value: + type: string + maxLength: 5000 + BckndArgoCDRepositoryData: type: object required: - - name - url + - username + - password properties: name: - $ref: '#/components/schemas/RTAArtifactName' + description: Name of the repository + type: string + minLength: 1 + maxLength: 51 + pattern: ^[a-z0-9\-]+$ url: - $ref: '#/components/schemas/RTAArtifactUrl' - signature: - $ref: '#/components/schemas/RTAArtifactSignature' - description: Required for execution - RTAOutputArtifactArgumentBinding: + description: URL of the repository to synchronise + type: string + username: + description: Username for read-access to the repository + type: string + password: + description: Password for read-access to the repository + type: string + BckndArgoCDRepositoryCredentials: + type: object + required: + - username + - password + properties: + username: + description: Username for read-access to the repository + type: string + password: + description: Password for read-access to the repository + type: string + BckndArgoCDRepositoryDataResponse: + description: This represents a list of GitOps repositories for the tenant. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndArgoCDRepositoryDetails' + required: + - count + - resources + BckndArgoCDRepositoryCreationResponse: type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDRepositoryCreationResponseMessage' required: - - name + - id + - message + BckndArgoCDRepositoryCreationResponseMessage: + type: string + description: Message + example: Repository has been on-boarded + BckndArgoCDRepositoryDetails: + type: object + description: Repository details properties: name: - $ref: '#/components/schemas/RTAArtifactName' + description: The name of the repository + type: string url: - $ref: '#/components/schemas/RTAArtifactUrl' - description: Result of execution - RTAExecutableArgumentBinding: - type: object - required: - - key - - value - properties: - key: + description: The repository URL type: string - maxLength: 256 - value: + status: + description: The status of the repository's on-boarding type: string - description: 'Required for execution - - Result of activation - - ' - RTAExecutionId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the execution - RTAExecutionCreationResponseMessage: - type: string - description: Message - example: Execution scheduled - RTAExecutionModificationResponseMessage: + enum: + - ERROR + - IN-PROGRESS + - COMPLETED + example: COMPLETED + BckndArgoCDRepositoryDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' + required: + - id + - message + BckndArgoCDRepositoryDeletionResponseMessage: type: string description: Message - example: Execution modification scheduled - RTAExecutionDeletionResponseMessage: + example: The repository has been off-boarded. + BckndArgoCDRepositoryModificationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDRepositoryModificationResponseMessage' + required: + - id + - message + BckndArgoCDRepositoryModificationResponseMessage: type: string description: Message - example: Execution deletion scheduled - RTAExecutionStatusDetails: + example: ArgoCD application has been updated + BckndArgoCDApplicationBaseData: type: object - description: Current status details of the execution - RTALogCommonResponse: + required: + - repositoryUrl + - revision + - path + properties: + repositoryUrl: + description: URL of the repository to synchronise + type: string + revision: + description: revision to synchronise + type: string + path: + description: path within the repository to synchronise + type: string + BckndArgoCDApplicationData: type: object properties: - data: - $ref: '#/components/schemas/RTALogCommonData' - description: 'A common log query response. - - ' - RTALogCommonData: + repositoryUrl: + description: URL of the repository to synchronise + type: string + revision: + description: revision to synchronise + type: string + path: + description: path within the repository to synchronise + type: string + applicationName: + description: ArgoCD application name + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + required: + - repositoryUrl + - revision + - path + BckndAllArgoCDApplicationData: + description: list of applications type: object properties: - result: - $ref: '#/components/schemas/RTALogCommonResult' - RTALogCommonResult: - type: array - items: - $ref: '#/components/schemas/RTALogCommonResultItem' - RTALogCommonResultItem: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndArgoCDApplicationData' + required: + - count + - resources + BckndArgoCDApplicationDataRepoName: type: object - description: Common log record. + required: + - repositoryName + - revision + - path properties: - timestamp: - $ref: '#/components/schemas/RTAtimestamp' - msg: - $ref: '#/components/schemas/RTAmessage' - RTAtimestamp: - description: Datetime in RFC 3339. - type: string - format: date-time - example: '2021-05-19T00:00:14.347+00:00' - RTAmessage: - description: message content. - type: string - RTAErrorResponse: + repositoryName: + description: Name of the repository to synchronise + type: string + revision: + description: revision to synchronise + type: string + path: + description: path within the repository to synchronise + type: string + applicationName: + description: ArgoCD application name + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + BckndArgoCDApplicationStatus: type: object + description: ArgoCD application definition and status properties: - error: - $ref: '#/components/schemas/RTAError' - RTAError: + healthStatus: + description: ArgoCD application health status + type: string + syncStatus: + description: ArgoCD application sync status + type: string + message: + description: ArgoCD application health status message + type: string + source: + description: Information about the ArgoCD application itself + type: object + properties: + repoURL: + description: URL of the repository + type: string + path: + description: Path of the repository + type: string + revision: + description: Revision number of the ArgoCD application + type: string + syncFinishedAt: + description: Gets the timestamp information related to the sync state of + the ArgoCD application + type: string + syncStartedAt: + description: Get timestamp information related to the sync state of the + ArgoCD application + type: string + reconciledAt: + description: Get timestamp information related to the sync state of the + ArgoCD application + type: string + syncResourcesStatus: + description: Status of all resources that need to be synchronized with the + gitops repo + type: array + items: + type: object + properties: + name: + description: ArgoCD application object name + type: string + kind: + description: ArgoCD application object kind + type: string + status: + description: ArgoCD application object sync status + type: string + message: + description: ArgoCD application object message + type: string + syncRessourcesStatus: + deprecated: true + description: Status of all resources that need to be synchronized with the + gitops repo. Misspelled and deprecated, use syncResourcesStatus instead. + type: array + items: + type: object + properties: + name: + description: ArgoCD application object name + type: string + kind: + description: ArgoCD application object kind + type: string + status: + description: ArgoCD application object sync status + type: string + message: + description: ArgoCD application object message + type: string + BckndArgoCDApplicationDeletionResponse: type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationDeletionResponseMessage' required: - - code + - id - message + BckndArgoCDApplicationDeletionResponseMessage: + type: string + description: Message + example: ArgoCD application has been deleted + BckndArgoCDApplicationCreationResponse: + type: object properties: - code: - type: string - description: Descriptive error code (not http status code) + id: + $ref: '#/components/schemas/BckndId' message: - type: string - description: Plaintext error description - example: something went wrong - requestId: - type: string - description: ID of the individual request - target: - type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - TrckGetMetricResource: - description: Collection of various metrics/tags/labels associated against some - execution/deployment + $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' + required: + - id + - message + BckndArgoCDApplicationCreationResponseMessage: + type: string + description: Message + example: ArgoCD application has been created + BckndArgoCDApplicationModificationResponse: type: object properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - createdAt: - $ref: '#/components/schemas/TrckTimestamp' - modifiedAt: - $ref: '#/components/schemas/TrckTimestamp' - metrics: - $ref: '#/components/schemas/TrckGetMetricList' - tags: - $ref: '#/components/schemas/TrckTagList' - customInfo: - $ref: '#/components/schemas/TrckCustomInfoObjectList' - required: - - executionId - TrckMetricResource: - description: Collection of various metrics/tags/labels associated against some - execution/deployment + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' required: - - executionId + - id + - message + BckndArgoCDApplicationModificationResponseMessage: + type: string + description: Message + example: ArgoCD application has been updated + BckndArgoCDApplicationRefreshResponse: type: object properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - createdAt: - $ref: '#/components/schemas/TrckTimestamp' - modifiedAt: - $ref: '#/components/schemas/TrckTimestamp' - metrics: - $ref: '#/components/schemas/TrckMetricList' - tags: - $ref: '#/components/schemas/TrckTagList' - customInfo: - $ref: '#/components/schemas/TrckCustomInfoObjectList' - TrckGetMetricResourceList: - type: object + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' required: - - resources + - id + - message + BckndArgoCDApplicationRefreshResponseMessage: + type: string + description: Message + example: Refresh of ArgoCD application has been scheduled + BckndServiceList: + type: object properties: count: type: integer @@ -6010,511 +6203,338 @@ components: resources: type: array items: - $ref: '#/components/schemas/TrckGetMetricResource' - TrckDeleteMetricsResponse: - type: object - properties: - id: - $ref: '#/components/schemas/TrckExecutionId' - message: - type: string - example: Metric Resource was successfully deleted - TrckExecutionId: - type: string - example: aa97b177-9383-4934-8543-0f91b7a0283a - oneOf: - - $ref: '#/components/schemas/TrckMlapiExecutionId' - description: ID of the deployment/execution - TrckTimestamp: - type: string - description: Time when the metric was created or logged in RFC3339 format - format: date-time - TrckGetMetricList: - description: Array of Metric items - type: array - items: - $ref: '#/components/schemas/TrckGetMetric' - TrckMetricList: - description: Array of Metric items - type: array - items: - $ref: '#/components/schemas/TrckMetric' - TrckGetMetric: - description: Key-value metrics, where the value is numeric. Metric can also - have optional step and label fields. - type: object + $ref: '#/components/schemas/BckndService' required: - - name - - value - - timestamp + - count + - resources + BckndService: + type: object properties: name: - $ref: '#/components/schemas/TrckMetricName' - value: - $ref: '#/components/schemas/TrckMetricValue' - timestamp: - $ref: '#/components/schemas/TrckTimestamp' - step: - description: step is an optional integer that represents any measurement - of training progress (number of training iterations, number of epochs, - and so on) for the metric - type: integer - minimum: 0 - example: 2 - labels: - $ref: '#/components/schemas/TrckLabelList' - TrckMetric: - description: Key-value metrics, where the value is numeric. Metric can also - have optional step and label fields. - required: - - name - - value + description: service name + type: string + description: + description: service description + type: string + url: + description: service broker url + type: string + status: + description: aggregated status of the service + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message + type: string + BckndExtendedService: type: object properties: name: - $ref: '#/components/schemas/TrckMetricName' - value: - $ref: '#/components/schemas/TrckMetricValue' - timestamp: - $ref: '#/components/schemas/TrckTimestamp' - step: - description: step is an optional integer that represents any measurement - of training progress (number of training iterations, number of epochs, - and so on) for the metric - type: integer - minimum: 0 - example: 2 - labels: - $ref: '#/components/schemas/TrckLabelList' - TrckMetricName: - pattern: '[\w-]{1,64}' - type: string - maxLength: 256 - description: Name of the metric - example: Error Rate - TrckMetricValue: - type: number - description: Numeric Value of the metric - example: 0.98 - TrckmetricSelectorPermissibleValues: - description: Permissible value for $select could be either * or one or many - of the values from metrics, tags, custominfo - type: array - items: - type: string - enum: - - metrics - - tags - - customInfo - - '*' - TrckLabelList: - description: a list of name-value object pairs associated with some metric. - type: array - items: - $ref: '#/components/schemas/TrckLabel' - example: - - name: group - value: tree-82 - - name: metrics.ai.sap.com/Artifact.name - value: sk_learn_rf_classifier_model - TrckLabel: - description: a classifying phrase/name applied to a metric - required: - - name - - value + description: service name + type: string + description: + description: service description + type: string + url: + description: service broker url + type: string + brokerSecret: + $ref: '#/components/schemas/BckndServiceBrokerSecret' + capabilities: + $ref: '#/components/schemas/BckndServiceCapabilities' + serviceCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalog' + sharedResourceGroupStatus: + $ref: '#/components/schemas/BckndSharedResourceGroupStatus' + status: + description: aggregated status of the service + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message + type: string + BckndServiceBrokerSecret: type: object properties: name: - $ref: '#/components/schemas/TrckLabelName' - value: - description: Metric Label Value - maxLength: 256 - minLength: 1 + description: broker secret name type: string - example: sk_learn_random_forest_model - example: - name: group - value: tree-82 - TrckTagList: - description: a list of name-value object pairs associated with the execution/deployment. - Tags are queryable. - type: array - items: - $ref: '#/components/schemas/TrckTag' - TrckTag: - description: A dictionary of name-value pairs to support segregation at execution - level. - required: - - name - - value + passwordKeyRef: + description: username key reference in broker secret + type: string + usernameKeyRef: + description: password key reference in broker secret + type: string + BckndServiceCapabilities: type: object properties: - name: - oneOf: - - $ref: '#/components/schemas/TrckGenericName' - value: - description: tag value - maxLength: 256 - minLength: 1 - type: string - example: RFC-1 - example: - name: Artifact Group - value: RFC-1 - TrckCustomInfoObjectList: - description: '' + logs: + description: Capabilities to read logs from deployments and executions. + type: object + properties: + deployments: + type: boolean + executions: + type: boolean + basic: + description: Basic capabilities like creating deployments and executions. + type: object + properties: + staticDeployments: + description: There are static always running endpoints that can be used + for inference without the need to do user deployments. + type: boolean + userDeployments: + description: Services that only support batch inference typically neither + allow listing nor creation of deployments. For these, userDeployments + == false + type: boolean + createExecutions: + description: Services that only support deployment typically neither + allow create executions. For these, createExecutions == false + type: boolean + multitenant: + description: true-> AI API implementation supports resource groups (Main + Tenant scenario), false-> implementation does not support resource + groups (Service Tenant scenario) + type: boolean + BckndServiceServiceCatalog: type: array items: - $ref: '#/components/schemas/TrckCustomInfoObject' - TrckCustomInfoObject: - description: large object which provides rendering/semantic information regarding - certain metric for consuming application or can be complex metrics in JSON - format - required: - - name - - value + $ref: '#/components/schemas/BckndServiceServiceCatalogItem' + BckndServiceServiceCatalogItem: type: object properties: - name: - oneOf: - - $ref: '#/components/schemas/TrckGenericName' - value: - $ref: '#/components/schemas/TrckCustomInfoObjectData' - example: - name: Confusion Matrix - value: '[{''Predicted'': ''False'', ''Actual'': ''False'',''value'': 34},{''Predicted'': - ''False'',''Actual'': ''True'', ''value'': 124}, {''Predicted'': ''True'',''Actual'': - ''False'',''value'': 165},{ ''Predicted'': ''True'',''Actual'': ''True'',''value'': - 36}]' - TrckCustomInfoObjectData: - description: Message - minLength: 1 - type: string - example: "[{'Predicted': 'False',\t'Actual': 'False','value': 34},{'Predicted': - 'False','Actual': 'True',\t'value': 124}, {'Predicted': 'True','Actual': 'False','value': - 165},{\t'Predicted': 'True','Actual': 'True','value': 36}]" - TrckMlapiExecutionId: - description: Generic ID - pattern: ^[\w.-]{4,64}$ - type: string - example: aa97b177-9383-4934-8543-0f91b7a0283a - TrckGenericName: - description: Generic name which can belong to a tag,label,metric or customInfo - Object - maxLength: 256 - minLength: 1 - type: string - example: sample name - TrckLabelName: - description: Label name to label one or more metrics. "metrics.ai.sap.com/Artifact.name" - is a reserved label to associate an artifact with the metrics - maxLength: 256 - minLength: 1 - type: string - example: metrics.ai.sap.com/Artifact.name - TrckApiError: - required: - - code - - message + extendCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' + extendCredentials: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' + BckndServiceServiceCatalogItemExtendCatalog: type: object properties: - code: - description: Descriptive error code (not http status code). - type: string - message: - description: plaintext error description + bindable: + description: if the service is bindable + type: boolean + description: + description: description of the service type: string - requestId: - description: id of individual request + id: + description: id of the service type: string - target: - description: url that has been called + name: + description: name of the service type: string - details: + plans: type: array items: - $ref: '#/components/schemas/TrckDetailsErrorResponse' - TrckDetailsErrorResponse: + $ref: '#/components/schemas/BckndServiceServicePlanItem' + BckndServiceServicePlanItem: type: object properties: - code: - description: Descriptive error code (not http status code) + description: + description: description of the service plan type: string - message: - description: Plaintext error description + free: + description: if the service plan free + type: boolean + id: + description: id of the service plan type: string - TrckStringArray: - type: array - example: - - value1 - - value2 - items: - type: string - DSetUrl: - type: string - format: url - example: https://download.example.com/test/file.bin - DSetError: - description: Error Response + name: + description: name of the service plan + type: string + metadata: + $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' + BckndServiceServicePlanItemMetadata: type: object properties: - code: - type: string - minLength: 1 - message: - type: string - minLength: 1 - target: - type: string - minLength: 1 - requestId: - type: string - details: + supportedPlatforms: + description: supported platforms of the service plan type: array - uniqueItems: true - minItems: 0 items: - required: - - code - - message - properties: - code: - type: string - minLength: 1 - message: - type: string - minLength: 1 + type: string + enum: + - cloudfoundry + - kubernetes + - sapbtp + BckndServiceServiceCatalogItemExtendCredentials: + type: object + properties: + shared: + type: object + properties: + serviceUrls: + type: object + properties: + AI_API_URL: + type: string + BckndSharedResourceGroupStatus: + type: object + properties: + isEnabled: + description: indicates whether shared resource group is enabled + type: boolean + id: + description: shared resource group id + type: string + state: + description: current state of shared resource group + type: string + BckndDeploymentResourceQuotaResponse: + type: object required: - - code - - message - x-examples: - example-1: - code: '03021655' - message: Bad request encountered. Please try again with possible-solution-here. - target: /url/path - requestId: 9832bf934f3743v3948v3 - details: - - code: '01041211' - message: Optional nested error message. - DSetFileCreationResponse: - description: Response for successful file creation + - quotas + properties: + usage: + $ref: '#/components/schemas/BckndDeploymentUsage' + quotas: + type: array + items: + $ref: '#/components/schemas/BckndDeploymentQuotaItem' + BckndDeploymentUsage: type: object required: - - message - - url + - count + - items properties: - message: - type: string - description: File creation response message - example: File creation acknowledged - url: - $ref: '#/components/schemas/DSetUrl' - MetaCapabilities: + count: + type: integer + items: + type: array + items: + $ref: '#/components/schemas/BckndUsageResourcePlanItem' + BckndUsageResourcePlanItem: type: object required: - - aiApi + - id properties: - runtimeIdentifier: + id: type: string - example: aicore - description: The name of the runtime - runtimeApiVersion: - $ref: '#/components/schemas/MetaVersion' - description: + resourcePlanType: type: string - aiApi: - $ref: '#/components/schemas/MetaAiApi' - extensions: - $ref: '#/components/schemas/MetaExtensions' - MetaExtensions: + configuredMaxReplicas: + type: integer + BckndDeploymentQuotaItem: type: object properties: - analytics: - type: object - required: - - version - properties: - version: - $ref: '#/components/schemas/MetaVersion' - resourceGroups: - type: object - required: - - version - properties: - version: - $ref: '#/components/schemas/MetaVersion' - dataset: + resourcePlanType: + type: string + deploymentQuota: + $ref: '#/components/schemas/BckndDeploymentQuota' + BckndDeploymentQuota: + type: object + properties: + maxCount: + type: integer + description: The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + maxReplicaPerDeployment: + type: integer + BckndCommonResourceQuotaResponse: + type: object + required: + - quota + properties: + usage: type: object properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: - description: List of Dataset extension capabilities - type: object - properties: - upload: - description: Support for uploading of files - type: boolean - default: true - download: - description: Support for downloading of files - type: boolean - default: true - delete: - description: Support for deletion of files - type: boolean - default: true - limits: - type: object - properties: - maxUploadFileSize: - type: integer - description: Max size (in bytes) of a single uploaded file allowed - by this runtime per resource group. - default: 104857600 - maxFilesPerDataset: - description: Max number of files per dataset. <0 means unlimited. - type: integer - default: -1 - acceptedContentTypes: - type: array - items: - type: string - pattern: ^\w+\/([\w+-]\.)?[\w.-]+(\+[\w-]+)*$ - required: - - version - metrics: + count: + type: integer + quota: type: object properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: - description: List of Metrics extension capabilities - type: object - properties: - extendedResults: - description: Support for returning extended results - type: boolean - default: false - required: - - version - MetaAiApi: - description: There are (currently) the following types of execution engines 1) - complete runtimes that offer executions and deployments, 2) runtimes that - do only batch inference and therefore don't support deployments 3) runtimes - that allow deployments, but with predefined models and therefore don't need - executions 4) runtimes that have fixed endpoints and therefore only need listing - deployments + maxCount: + type: integer + description: The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + BckndExecutableResourceQuotaResponse: type: object + required: + - quota properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: + usage: type: object properties: - multitenant: - type: boolean - description: true-> AI API implementation supports resource groups (Main - Tenant scenario), false-> implementation does not support resource - groups (Service Tenant scenario) - default: true - shareable: - type: boolean - description: true-> clients can use just one instance (global static - models), false-> clients should avoid sharing an instance - default: true - staticDeployments: - type: boolean - description: There are static always running endpoints that can be used - for inference without the need to do user deployments. - default: true - userDeployments: - type: boolean - description: Services that only support batch inference typically neither - allow listing nor creation of deployments. For these, userDeployments - == false - default: true - userExecutions: - type: boolean - default: true - timeToLiveDeployments: - type: boolean - default: false - executionSchedules: - type: boolean - default: false - logs: - type: object - properties: - executions: - type: boolean - default: true - deployments: - type: boolean - default: true - bulkUpdates: - type: object - description: Services that support patch on /executions and /deployments - to change targetStatus of multiple executions and deployments. - properties: - executions: - type: boolean - default: false - deployments: - type: boolean - default: false - limits: + servingTemplateCount: + type: integer + workflowTemplateCount: + type: integer + quota: type: object properties: - executions: - type: object - properties: - maxRunningCount: - description: Max nr of executions allowed by this runtime per resource - group. <0 means unlimited. - type: integer - default: -1 - deployments: - type: object - properties: - maxRunningCount: - description: Max nr of deployments allowed by this runtime per resource - group. <0 means unlimited. - type: integer - default: -1 - timeToLiveDeployments: - type: object - properties: - minimum: - type: string - default: 10m - maximum: - type: string - default: '-1' + servingTemplateMaxCount: + type: integer + description: The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + workflowTemplateMaxCount: + type: integer + description: The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + BckndResourcePatchBody: + type: object required: - - version - MetaVersion: - example: 1.2.3 - type: string - pattern: - ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - MetaAPIVersion: + - resourcePlans + properties: + resourcePlans: + $ref: '#/components/schemas/BckndResourcePatchResourcePlans' + BckndResourcePatchResourcePlans: + type: array + items: + $ref: '#/components/schemas/BckndResourcePatchNodes' + BckndResourcePatchNodes: type: object + required: + - name + - request properties: - versionId: - type: string - description: API version identifier - example: v1 - url: + name: type: string - description: URL of the API version - example: https://api.example.com/v1 - description: + request: + type: integer + BckndResourcePatchResponse: + type: object + required: + - message + properties: + message: type: string - description: version description - example: Example API - description: API version description - MetaApiError: + BckndResourceGetResponse: + type: object + required: + - resourcePlans + properties: + resourcePlans: + $ref: '#/components/schemas/BckndResourceGetResourcePlans' + BckndResourceGetResourcePlans: + type: object + additionalProperties: + type: object + required: + - provisioned + - requested + properties: + provisioned: + type: integer + requested: + type: integer + BckndErrorResponse: + type: object + properties: + error: + $ref: '#/components/schemas/BckndError' + BckndError: type: object required: - code @@ -6526,6 +6546,7 @@ components: message: type: string description: Plaintext error description + example: something went wrong requestId: type: string description: ID of the individual request @@ -6536,166 +6557,208 @@ components: description: Optional details of the error message type: object parameters: - KpiquerySelect: - name: $select - description: Columns to select + TrckqueryFilter: + example: executionId eq 'aa97b177-9383-4934-8543-0f91b7a0283a' + name: $filter + description: Filter parameter allows filtering of metric resource using ExecutionId(s). + User can only use in, eq operators in filter expression. + schema: + type: string in: query required: false + deprecated: true + TrckexecutionIds: + example: + executionIds=aa97b177-9383-4934-8543-0f91b7a0283a,aa97b177-9383-4934-8543-0f91b7a0283b + name: executionIds + description: executionIds parameter allows filtering of metric resource using + single or multiple ExecutionId(s). schema: - uniqueItems: true - type: array - readOnly: true - default: - - ResourceGroup - - Executions - - Artifacts - - Deployments - items: - $ref: '#/components/schemas/KpiColumnName' + $ref: '#/components/schemas/TrckStringArray' + in: query style: form + required: false explode: false - BckndtokenHeader: - name: Authorization - in: header - description: Authorization bearer token containing a JWT token. + TrckmetricAttributeSelector: + examples: + selectAll: + value: $select=* + selectSpecific: + value: $select=metrics,customInfo + name: $select + description: returns only the resources that the client explicitly requests. + User can also pass * as a value for $select, which will behave same as that + of not passing $select query param. + schema: + $ref: '#/components/schemas/TrckmetricSelectorPermissibleValues' + in: query + style: form required: false + explode: false + TrcktagFilters: + example: name1=value1,name2!=value2,name3,name4=v%26a%3D%2Cl%23u%21%3De%5E2%25 + name: tagFilters + description: Filter metrics using tags by providing expressions in the format + name=value or name!=value, separated by commas (,). The results will include + only those metrics that match all the specified tag expressions, ensuring + a logical AND operation. The filter supports up to 100 tag expressions, key-only + searches (e.g., name) without a value, and tags containing special characters, + which must be properly percent-encoded for accurate matching. schema: type: string - Bckndai-resource-group: - name: AI-Resource-Group - in: header - description: Specify an existing resource group id to use + maxLength: 5000 + in: query + style: form required: false + explode: false + TrckexecutionId: + name: executionId + description: The Id of an execution schema: - type: string - Bckndai-resource-group-default: + $ref: '#/components/schemas/TrckExecutionId' + in: query + required: true + TrcktrackingResourceGroupHeader: name: AI-Resource-Group + description: Specify a resource group id in: header - description: Specify an existing resource group id to use. Uses "default" if - value not provided. - required: false schema: type: string - default: default - Bckndai-tenant-scope: - name: AI-Tenant-Scope - in: header - description: Specify whether the main tenant scope is to be used - required: false - schema: - type: boolean - example: true - Bckndtop: + required: true + Trcktop: name: $top description: Number of results to display in: query required: false schema: type: integer - minimum: 0 + maximum: 10000 + default: 1000 example: 10 - Bckndskip: + x-visible: false + Trckskip: name: $skip description: Number of results to be skipped from the ordered list of results in: query required: false schema: type: integer - minimum: 0 example: 10 - Bckndcount: - name: $count - description: When the $count field is set to false, the response contains a - count of the items present in the response. When the $count field is set to - true, the response contains a count of all the items present on the server, - and not just the ones in the response. When the $count field is not passed, - it is false by default. - in: query + x-visible: false + RTAtokenHeader: + name: Authorization + in: header + description: Authorization bearer token containing a JWT token. required: false - schema: - type: boolean - example: true - BckndresourceGroupId: - name: resourceGroupId - description: Resource group identifier - in: path - required: true schema: type: string - pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ - minLength: 3 - maxLength: 253 - example: my-test-rg - BckndobjectStoreName: - name: objectStoreName - description: Name of the object store for the secret. - in: path - required: true + RTAlimit: + in: query + name: $top + description: The max number of entries to return. Defaults to 1000. Limited + to 5000 max. + required: false schema: - type: string - pattern: ^[a-zA-Z0-9\.\-_]+$ - example: My_objectStore - BcknddockerRegistryName: - name: dockerRegistryName - description: Name of the docker Registry store for the secret. - in: path - required: true + type: integer + minimum: 1 + maximum: 5000 + default: 1000 + examples: + min: + value: 1 + summary: Min number of entries to return + max: + value: 5000 + summary: Max number of entries to return + default: + value: 1000 + summary: default number of entries to return + RTAstart: + name: start + in: query + description: The start time for the query as a RFC 3339 datetime format. Defaults + to one hour ago. + in timezone need to be encoded to %2B. + required: false schema: type: string - pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ - maxLength: 63 - example: mydockeregistry - BckndsecretName: - name: secretName - in: path - required: true + format: date-time + examples: + zulu: + value: '2021-05-19T00:00:14.347Z' + summary: Datetime example use Z as timezone + utc: + value: 2021-05-19T00:00:14.347%2B00:00 + summary: Datetime example use +00:00 as timezone, where + is encoded to + %2B + local-plus: + value: 2021-05-19T08:00:14.347%2B08:00 + summary: Datetime example use +08:00 as timezone, where + is encoded to + %2B + local-minus: + value: '2021-05-18T16:00:14.347-08:00' + summary: Datetime example use -08:00 as timezone + RTAend: + name: end + in: query + description: The end time for the query as a RFC 3339 datetime format. Defaults + to now. + in timezone need to be encoded to %2B. + required: false schema: type: string - minLength: 1 - maxLength: 252 - pattern: ^[a-z0-9\-\.]+$ - BckndrepositoryName: - name: repositoryName - description: Name of the repository - in: path - required: true + format: date-time + examples: + zulu: + value: '2021-05-19T01:00:14.347Z' + summary: Datetime example use Z as timezone + utc: + value: 2021-05-19T01:00:14.347%2B00:00 + summary: Datetime example use +00:00 as timezone, where + is encoded to + %2B + local-plus: + value: 2021-05-19T09:00:14.347%2B08:00 + summary: Datetime example use +08:00 as timezone, where + is encoded to + %2B + local-minus: + value: '2021-05-18T17:00:14.347-08:00' + summary: Datetime example use -08:00 as timezone + RTAorder: + name: $order + in: query + description: "Determines the sort order. Supported values are asc or desc. Defaults + to asc. Sort order:\n * `asc` - Ascending, earliest in the order will appear + at the top of the list\n * `desc` - Descending, last in the order will appear + at the top of the list\n" + required: false schema: type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndapplicationName: - name: applicationName - description: Name of the ArgoCD application + enum: + - asc + - desc + examples: + asc: + value: asc + summary: Sort the results in ascending order + desc: + value: desc + summary: Sort the results in descending order + RTAexecutionId: + name: executionId + description: Execution identifier in: path required: true schema: type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndServiceName: - name: ServiceName - description: Name of the Service + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + RTAdeploymentId: + name: deploymentId + description: Deployment identifier in: path required: true schema: type: string - pattern: ^[a-zA-Z0-9\-_]+$ - minLength: 1 - maxLength: 32 - example: cashapp - BckndquotaOnly: - name: quotaOnly - description: When being set to true, the response contains only the quota of - the resource and not the quota usage. - in: query - required: false - schema: - type: boolean - example: true + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a AiresourceGroupHeader: in: header name: AI-Resource-Group @@ -6987,234 +7050,192 @@ components: - status example: status x-visible: false - RTAtokenHeader: - name: Authorization - in: header - description: Authorization bearer token containing a JWT token. - required: false - schema: - type: string - RTAlimit: + KpiquerySelect: + name: $select + description: Columns to select in: query - name: $top - description: The max number of entries to return. Defaults to 1000. Limited - to 5000 max. required: false schema: - type: integer - minimum: 1 - maximum: 5000 - default: 1000 - examples: - min: - value: 1 - summary: Min number of entries to return - max: - value: 5000 - summary: Max number of entries to return + uniqueItems: true + type: array + readOnly: true default: - value: 1000 - summary: default number of entries to return - RTAstart: - name: start - in: query - description: The start time for the query as a RFC 3339 datetime format. Defaults - to one hour ago. + in timezone need to be encoded to %2B. - required: false - schema: - type: string - format: date-time - examples: - zulu: - value: '2021-05-19T00:00:14.347Z' - summary: Datetime example use Z as timezone - utc: - value: 2021-05-19T00:00:14.347%2B00:00 - summary: Datetime example use +00:00 as timezone, where + is encoded to - %2B - local-plus: - value: 2021-05-19T08:00:14.347%2B08:00 - summary: Datetime example use +08:00 as timezone, where + is encoded to - %2B - local-minus: - value: '2021-05-18T16:00:14.347-08:00' - summary: Datetime example use -08:00 as timezone - RTAend: - name: end - in: query - description: The end time for the query as a RFC 3339 datetime format. Defaults - to now. + in timezone need to be encoded to %2B. - required: false + - ResourceGroup + - Executions + - Artifacts + - Deployments + items: + $ref: '#/components/schemas/KpiColumnName' + style: form + explode: false + DSetresourceGroupHeader: + in: header + name: AI-Resource-Group + description: Specify a resource group id schema: type: string - format: date-time - examples: - zulu: - value: '2021-05-19T01:00:14.347Z' - summary: Datetime example use Z as timezone - utc: - value: 2021-05-19T01:00:14.347%2B00:00 - summary: Datetime example use +00:00 as timezone, where + is encoded to - %2B - local-plus: - value: 2021-05-19T09:00:14.347%2B08:00 - summary: Datetime example use +08:00 as timezone, where + is encoded to - %2B - local-minus: - value: '2021-05-18T17:00:14.347-08:00' - summary: Datetime example use -08:00 as timezone - RTAorder: - name: $order - in: query - description: "Determines the sort order. Supported values are asc or desc. Defaults - to asc. Sort order:\n * `asc` - Ascending, earliest in the order will appear - at the top of the list\n * `desc` - Descending, last in the order will appear - at the top of the list\n" required: false - schema: - type: string - enum: - - asc - - desc - examples: - asc: - value: asc - summary: Sort the results in ascending order - desc: - value: desc - summary: Sort the results in descending order - RTAexecutionId: - name: executionId - description: Execution identifier - in: path - required: true - schema: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - RTAdeploymentId: - name: deploymentId - description: Deployment identifier + DSetpath: + name: path in: path required: true schema: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - TrckqueryFilter: - example: executionId eq 'aa97b177-9383-4934-8543-0f91b7a0283a' - name: $filter - description: Filter parameter allows filtering of metric resource using ExecutionId(s). - User can only use in, eq operators in filter expression. - schema: - type: string - in: query - required: false - deprecated: true - TrckexecutionIds: - example: - executionIds=aa97b177-9383-4934-8543-0f91b7a0283a,aa97b177-9383-4934-8543-0f91b7a0283b - name: executionIds - description: executionIds parameter allows filtering of metric resource using - single or multiple ExecutionId(s). - schema: - $ref: '#/components/schemas/TrckStringArray' + format: path + pattern: ^(([\w.-]+):([\w.-]+)|([\w.-]+))(/([\w./-]+[\w.-]+)?)?$ + maxLength: 1024 + description: path relative to the object store root URL in the secret + DSetoverwrite: + name: overwrite in: query - style: form required: false - explode: false - TrckmetricAttributeSelector: - examples: - selectAll: - value: $select=* - selectSpecific: - value: $select=metrics,customInfo - name: $select - description: returns only the resources that the client explicitly requests. - User can also pass * as a value for $select, which will behave same as that - of not passing $select query param. schema: - $ref: '#/components/schemas/TrckmetricSelectorPermissibleValues' - in: query - style: form + type: boolean + description: If true, then file is overwritten. Default is false. + BckndtokenHeader: + name: Authorization + in: header + description: Authorization bearer token containing a JWT token. required: false - explode: false - TrcktagFilters: - example: name1=value1,name2!=value2,name3,name4=v%26a%3D%2Cl%23u%21%3De%5E2%25 - name: tagFilters - description: Filter metrics using tags by providing expressions in the format - name=value or name!=value, separated by commas (,). The results will include - only those metrics that match all the specified tag expressions, ensuring - a logical AND operation. The filter supports up to 100 tag expressions, key-only - searches (e.g., name) without a value, and tags containing special characters, - which must be properly percent-encoded for accurate matching. schema: type: string - maxLength: 5000 - in: query - style: form - required: false - explode: false - TrckexecutionId: - name: executionId - description: The Id of an execution + Bckndai-resource-group: + name: AI-Resource-Group + in: header + description: Specify an existing resource group id to use + required: false schema: - $ref: '#/components/schemas/TrckExecutionId' - in: query - required: true - TrcktrackingResourceGroupHeader: + type: string + Bckndai-resource-group-default: name: AI-Resource-Group - description: Specify a resource group id in: header + description: Specify an existing resource group id to use. Uses "default" if + value not provided. + required: false schema: type: string - required: true - Trcktop: + default: default + Bckndai-tenant-scope: + name: AI-Tenant-Scope + in: header + description: Specify whether the main tenant scope is to be used + required: false + schema: + type: boolean + example: true + Bckndtop: name: $top description: Number of results to display in: query required: false schema: type: integer - maximum: 10000 - default: 1000 + minimum: 0 example: 10 - x-visible: false - Trckskip: + Bckndskip: name: $skip description: Number of results to be skipped from the ordered list of results in: query required: false schema: type: integer + minimum: 0 example: 10 - x-visible: false - DSetresourceGroupHeader: - in: header - name: AI-Resource-Group - description: Specify a resource group id + Bckndcount: + name: $count + description: When the $count field is set to false, the response contains a + count of the items present in the response. When the $count field is set to + true, the response contains a count of all the items present on the server, + and not just the ones in the response. When the $count field is not passed, + it is false by default. + in: query + required: false + schema: + type: boolean + example: true + BckndresourceGroupId: + name: resourceGroupId + description: Resource group identifier + in: path + required: true schema: type: string - required: false - DSetpath: - name: path + pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ + minLength: 3 + maxLength: 253 + example: my-test-rg + BckndobjectStoreName: + name: objectStoreName + description: Name of the object store for the secret. in: path required: true schema: type: string - format: path - pattern: ^(([\w.-]+):([\w.-]+)|([\w.-]+))(/([\w./-]+[\w.-]+)?)?$ - maxLength: 1024 - description: path relative to the object store root URL in the secret - DSetoverwrite: - name: overwrite + pattern: ^[a-zA-Z0-9\.\-_]+$ + example: My_objectStore + BcknddockerRegistryName: + name: dockerRegistryName + description: Name of the docker Registry store for the secret. + in: path + required: true + schema: + type: string + pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ + maxLength: 63 + example: mydockeregistry + BckndsecretName: + name: secretName + in: path + required: true + schema: + type: string + minLength: 1 + maxLength: 252 + pattern: ^[a-z0-9\-\.]+$ + BckndrepositoryName: + name: repositoryName + description: Name of the repository + in: path + required: true + schema: + type: string + minLength: 1 + maxLength: 51 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndapplicationName: + name: applicationName + description: Name of the ArgoCD application + in: path + required: true + schema: + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndServiceName: + name: ServiceName + description: Name of the Service + in: path + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9\-_]+$ + minLength: 1 + maxLength: 32 + example: cashapp + BckndquotaOnly: + name: quotaOnly + description: When being set to true, the response contains only the quota of + the resource and not the quota usage. in: query required: false schema: type: boolean - description: If true, then file is overwritten. Default is false. + example: true responses: - KpiNotFound: + MetaNotFound: description: The specified resource was not found content: application/json: @@ -7222,53 +7243,68 @@ components: type: object properties: error: - $ref: '#/components/schemas/KpiApiError' - KpiTooManyRequests: - description: Too many requests + $ref: '#/components/schemas/MetaApiError' + TrckBadRequest: content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/KpiApiError' - KpiInvalidRequest: - description: Invalid request + $ref: '#/components/schemas/TrckApiError' + description: The specification of the resource was incorrect + TrckNotImplemented: content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/KpiApiError' - BckndCommonError: - description: HTTP status codes 401, 403 or 500. Response body contains further - details. + $ref: '#/components/schemas/TrckApiError' + description: Operation is not Supported. + TrckNotFound: + description: The specified resource was not found content: application/json: schema: - $ref: '#/components/schemas/BckndErrorResponse' - BckndNotFound: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + TrckPayloadTooLarge: + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + description: request entity is larger than limits defined by server. + RTANotFound: description: The specified resource was not found content: application/json: schema: - $ref: '#/components/schemas/BckndErrorResponse' - BckndBadRequest: + $ref: '#/components/schemas/RTAErrorResponse' + RTABadRequest: description: The request was malformed and could thus not be processed. content: application/json: schema: - $ref: '#/components/schemas/BckndErrorResponse' - TntNotFound: - description: The specified resource was not found + $ref: '#/components/schemas/RTAErrorResponse' + RTACommonError: + description: HTTP status codes 401, 403 or 500. Response body contains further + details. content: application/json: schema: - type: object - properties: - error: - $ref: '#/components/schemas/TntApiError' + $ref: '#/components/schemas/RTAErrorResponse' + RTAUnauthorized: + description: Lacks valid authentication credentials for the target resource. + content: + application/json: + schema: + $ref: '#/components/schemas/RTAErrorResponse' AiNotFound: description: The specified resource was not found content: @@ -7297,67 +7333,42 @@ components: properties: error: $ref: '#/components/schemas/AiApiError' - RTANotFound: + TntNotFound: description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTABadRequest: - description: The request was malformed and could thus not be processed. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTACommonError: - description: HTTP status codes 401, 403 or 500. Response body contains further - details. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTAUnauthorized: - description: Lacks valid authentication credentials for the target resource. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - TrckBadRequest: content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - description: The specification of the resource was incorrect - TrckNotImplemented: + $ref: '#/components/schemas/TntApiError' + KpiNotFound: + description: The specified resource was not found content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - description: Operation is not Supported. - TrckNotFound: - description: The specified resource was not found + $ref: '#/components/schemas/KpiApiError' + KpiTooManyRequests: + description: Too many requests content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - TrckPayloadTooLarge: + $ref: '#/components/schemas/KpiApiError' + KpiInvalidRequest: + description: Invalid request content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - description: request entity is larger than limits defined by server. + $ref: '#/components/schemas/KpiApiError' DSetBadRequest: description: The specification of the resource was incorrect content: @@ -7470,12 +7481,22 @@ components: the artifact API to register this file. schema: $ref: '#/components/schemas/DSetUrl' - MetaNotFound: + BckndCommonError: + description: HTTP status codes 401, 403 or 500. Response body contains further + details. + content: + application/json: + schema: + $ref: '#/components/schemas/BckndErrorResponse' + BckndNotFound: description: The specified resource was not found content: application/json: schema: - type: object - properties: - error: - $ref: '#/components/schemas/MetaApiError' + $ref: '#/components/schemas/BckndErrorResponse' + BckndBadRequest: + description: The request was malformed and could thus not be processed. + content: + application/json: + schema: + $ref: '#/components/schemas/BckndErrorResponse' From e8662e316bc16b4940f4deef2ea78872fa10dde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20D=C3=BCmont?= Date: Thu, 5 Jun 2025 10:15:16 +0200 Subject: [PATCH 2/2] Update test coverage --- .../ai/sdk/core/client/ScenarioUnitTest.java | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/core/src/test/java/com/sap/ai/sdk/core/client/ScenarioUnitTest.java b/core/src/test/java/com/sap/ai/sdk/core/client/ScenarioUnitTest.java index c8227de92..7d72ab363 100644 --- a/core/src/test/java/com/sap/ai/sdk/core/client/ScenarioUnitTest.java +++ b/core/src/test/java/com/sap/ai/sdk/core/client/ScenarioUnitTest.java @@ -6,8 +6,10 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static org.assertj.core.api.Assertions.assertThat; +import com.sap.ai.sdk.core.model.AiModelBaseDataAllowedScenariosInner; import com.sap.ai.sdk.core.model.AiModelVersion; import com.sap.ai.sdk.core.model.AiScenarioLabel; +import java.util.Map; import lombok.val; import org.apache.hc.core5.http.HttpStatus; import org.junit.jupiter.api.Test; @@ -156,15 +158,37 @@ void getScenarioModels() { "count": 1, "resources": [ { + "accessType": "Remote", + "allowedScenarios": [ + { + "executableId": "aicore-opensource", + "scenarioId": "foundation-models" + }, + { + "executableId": "orchestration", + "scenarioId": "orchestration" + } + ], "description": "Mistral mixtral-8x7b-instruct-v01 model", + "displayName": "Mistral FooBar", "executableId": "aicore-opensource", "model": "mistralai--mixtral-8x7b-instruct-v01", + "provider": "Mistral", "versions": [ { + "capabilities": ["text-generation"], + "orchestrationCapabilities": [], + "contextLength": 8000, + "cost": [ + {"inputCost": "0.00086"}, + {"outputCost": "0.00158"} + ], "deprecated": false, + "inputTypes": ["text"], "isLatest": true, "name": "202407", - "retirementDate": "" + "retirementDate": "", + "streamingSupported": true } ] } @@ -182,11 +206,29 @@ void getScenarioModels() { assertThat(scenario.getDescription()).isEqualTo("Mistral mixtral-8x7b-instruct-v01 model"); assertThat(scenario.getExecutableId()).isEqualTo("aicore-opensource"); assertThat(scenario.getModel()).isEqualTo("mistralai--mixtral-8x7b-instruct-v01"); + assertThat(scenario.getAccessType()).isEqualTo("Remote"); + assertThat(scenario.getDisplayName()).isEqualTo("Mistral FooBar"); + assertThat(scenario.getProvider()).isEqualTo("Mistral"); + assertThat(scenario.getAllowedScenarios()) + .containsExactly( + AiModelBaseDataAllowedScenariosInner.create() + .scenarioId("foundation-models") + .executableId("aicore-opensource"), + AiModelBaseDataAllowedScenariosInner.create() + .scenarioId("orchestration") + .executableId("orchestration")); AiModelVersion aiModelVersion = scenario.getVersions().get(0); assertThat(aiModelVersion.getName()).isEqualTo("202407"); assertThat(aiModelVersion.isIsLatest()).isTrue(); assertThat(aiModelVersion.isDeprecated()).isFalse(); assertThat(aiModelVersion.getRetirementDate()).isEmpty(); + assertThat(aiModelVersion.getCapabilities()).containsExactly("text-generation"); + assertThat(aiModelVersion.getOrchestrationCapabilities()).isEmpty(); + assertThat(aiModelVersion.getContextLength()).isEqualTo(8000); + assertThat(aiModelVersion.getInputTypes()).containsExactly("text"); + assertThat(aiModelVersion.isStreamingSupported()).isTrue(); + assertThat(aiModelVersion.getCost()) + .containsExactly(Map.of("inputCost", "0.00086"), Map.of("outputCost", "0.00158")); } }