diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/PromptClient.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/PromptClient.java
index cd8d63268..56326c8db 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/PromptClient.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/PromptClient.java
@@ -7,10 +7,10 @@
import com.google.common.collect.Iterables;
import com.sap.ai.sdk.core.AiCoreService;
import com.sap.ai.sdk.prompt.registry.client.PromptTemplatesApi;
+import com.sap.ai.sdk.prompt.registry.model.PromptTemplate;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateSpecResponseFormat;
import com.sap.ai.sdk.prompt.registry.model.ResponseFormatText;
import com.sap.ai.sdk.prompt.registry.model.SingleChatTemplate;
-import com.sap.ai.sdk.prompt.registry.model.Template;
import com.sap.cloud.sdk.cloudplatform.connectivity.ApacheHttpClient5Accessor;
import com.sap.cloud.sdk.services.openapi.apiclient.ApiClient;
import javax.annotation.Nonnull;
@@ -59,7 +59,7 @@ private static ApiClient addMixin(@Nonnull final AiCoreService service) {
converter ->
converter.setObjectMapper(
getDefaultObjectMapper()
- .addMixIn(Template.class, JacksonMixin.TemplateMixIn.class)
+ .addMixIn(PromptTemplate.class, JacksonMixin.TemplateMixIn.class)
.addMixIn(
PromptTemplateSpecResponseFormat.class,
JacksonMixin.ResponseFormat.class)));
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/client/OrchestrationConfigsApi.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/client/OrchestrationConfigsApi.java
new file mode 100644
index 000000000..008c1fb3d
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/client/OrchestrationConfigsApi.java
@@ -0,0 +1,715 @@
+package com.sap.ai.sdk.prompt.registry.client;
+
+import com.google.common.annotations.Beta;
+import com.sap.ai.sdk.prompt.registry.model.OrchestrationConfigDeleteResponse;
+import com.sap.ai.sdk.prompt.registry.model.OrchestrationConfigGetResponse;
+import com.sap.ai.sdk.prompt.registry.model.OrchestrationConfigListResponse;
+import com.sap.ai.sdk.prompt.registry.model.OrchestrationConfigPostRequest;
+import com.sap.ai.sdk.prompt.registry.model.OrchestrationConfigPostResponse;
+import com.sap.cloud.sdk.cloudplatform.connectivity.Destination;
+import com.sap.cloud.sdk.services.openapi.apiclient.ApiClient;
+import com.sap.cloud.sdk.services.openapi.core.AbstractOpenApiService;
+import com.sap.cloud.sdk.services.openapi.core.OpenApiRequestException;
+import java.io.File;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.MediaType;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.util.UriComponentsBuilder;
+
+/**
+ * Prompt Registry API in version 0.0.1.
+ *
+ *
Prompt Storage service for Design time & Runtime prompt templates.
+ */
+public class OrchestrationConfigsApi extends AbstractOpenApiService {
+ /**
+ * Instantiates this API class to invoke operations on the Prompt Registry API.
+ *
+ * @param httpDestination The destination that API should be used with
+ */
+ public OrchestrationConfigsApi(@Nonnull final Destination httpDestination) {
+ super(httpDestination);
+ }
+
+ /**
+ * Instantiates this API class to invoke operations on the Prompt Registry API based on a given
+ * {@link ApiClient}.
+ *
+ * @param apiClient ApiClient to invoke the API on
+ */
+ @Beta
+ public OrchestrationConfigsApi(@Nonnull final ApiClient apiClient) {
+ super(apiClient);
+ }
+
+ /**
+ * Create or update an orchestration config
+ *
+ *
200 - Successful response
+ *
+ *
403 - Forbidden Error
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigPostRequest (required) The value for the parameter
+ * orchestrationConfigPostRequest
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @return OrchestrationConfigPostResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse createUpdateOrchestrationConfig(
+ @Nonnull final OrchestrationConfigPostRequest orchestrationConfigPostRequest,
+ @Nullable final String aiResourceGroup)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = orchestrationConfigPostRequest;
+
+ // verify the required parameter 'orchestrationConfigPostRequest' is set
+ if (orchestrationConfigPostRequest == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'orchestrationConfigPostRequest' when calling createUpdateOrchestrationConfig");
+ }
+
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs").build().toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {"application/json"};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.POST,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * Create or update an orchestration config
+ *
+ * 200 - Successful response
+ *
+ *
403 - Forbidden Error
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigPostRequest The value for the parameter
+ * orchestrationConfigPostRequest
+ * @return OrchestrationConfigPostResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse createUpdateOrchestrationConfig(
+ @Nonnull final OrchestrationConfigPostRequest orchestrationConfigPostRequest)
+ throws OpenApiRequestException {
+ return createUpdateOrchestrationConfig(orchestrationConfigPostRequest, null);
+ }
+
+ /**
+ * Delete orchestration config
+ *
+ *
200 - Successful response
+ *
+ *
404 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId (required) The value for the parameter orchestrationConfigId
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @return OrchestrationConfigDeleteResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigDeleteResponse deleteOrchestrationConfig(
+ @Nonnull final UUID orchestrationConfigId, @Nullable final String aiResourceGroup)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ // verify the required parameter 'orchestrationConfigId' is set
+ if (orchestrationConfigId == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'orchestrationConfigId' when calling deleteOrchestrationConfig");
+ }
+
+ // create path and map variables
+ final Map localVarPathParams = new HashMap();
+ localVarPathParams.put("orchestrationConfigId", orchestrationConfigId);
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs/{orchestrationConfigId}")
+ .buildAndExpand(localVarPathParams)
+ .toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.DELETE,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * Delete orchestration config
+ *
+ * 200 - Successful response
+ *
+ *
404 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId The value for the parameter orchestrationConfigId
+ * @return OrchestrationConfigDeleteResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigDeleteResponse deleteOrchestrationConfig(
+ @Nonnull final UUID orchestrationConfigId) throws OpenApiRequestException {
+ return deleteOrchestrationConfig(orchestrationConfigId, null);
+ }
+
+ /**
+ * Export orchestration config
+ *
+ *
200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId (required) The value for the parameter orchestrationConfigId
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @return File
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public File exportOrchestrationConfig(
+ @Nonnull final UUID orchestrationConfigId, @Nullable final String aiResourceGroup)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ // verify the required parameter 'orchestrationConfigId' is set
+ if (orchestrationConfigId == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'orchestrationConfigId' when calling exportOrchestrationConfig");
+ }
+
+ // create path and map variables
+ final Map localVarPathParams = new HashMap();
+ localVarPathParams.put("orchestrationConfigId", orchestrationConfigId);
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs/{orchestrationConfigId}/export")
+ .buildAndExpand(localVarPathParams)
+ .toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/octet-stream", "application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.GET,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * Export orchestration config
+ *
+ * 200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId The value for the parameter orchestrationConfigId
+ * @return File
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public File exportOrchestrationConfig(@Nonnull final UUID orchestrationConfigId)
+ throws OpenApiRequestException {
+ return exportOrchestrationConfig(orchestrationConfigId, null);
+ }
+
+ /**
+ * Get orchestration config by UUID
+ *
+ *
200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId (required) The value for the parameter orchestrationConfigId
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @param resolveTemplateRef (optional, default to false) The value for the parameter
+ * resolveTemplateRef
+ * @return OrchestrationConfigGetResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse getOrchestrationConfigByUuid(
+ @Nonnull final UUID orchestrationConfigId,
+ @Nullable final String aiResourceGroup,
+ @Nullable final Boolean resolveTemplateRef)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ // verify the required parameter 'orchestrationConfigId' is set
+ if (orchestrationConfigId == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'orchestrationConfigId' when calling getOrchestrationConfigByUuid");
+ }
+
+ // create path and map variables
+ final Map localVarPathParams = new HashMap();
+ localVarPathParams.put("orchestrationConfigId", orchestrationConfigId);
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs/{orchestrationConfigId}")
+ .buildAndExpand(localVarPathParams)
+ .toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ localVarQueryParams.putAll(
+ apiClient.parameterToMultiValueMap(null, "resolve_template_ref", resolveTemplateRef));
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.GET,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * Get orchestration config by UUID
+ *
+ * 200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param orchestrationConfigId The value for the parameter orchestrationConfigId
+ * @return OrchestrationConfigGetResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse getOrchestrationConfigByUuid(
+ @Nonnull final UUID orchestrationConfigId) throws OpenApiRequestException {
+ return getOrchestrationConfigByUuid(orchestrationConfigId, null, null);
+ }
+
+ /**
+ * Import orchestration config
+ *
+ *
200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @param _file (optional) The value for the parameter _file
+ * @return OrchestrationConfigPostResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse importOrchestrationConfig(
+ @Nullable final String aiResourceGroup, @Nullable final File _file)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs/import").build().toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ if (_file != null) localVarFormParams.add("file", new FileSystemResource(_file));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {"multipart/form-data"};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.POST,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * Import orchestration config
+ *
+ * 200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
0 - Common Error
+ *
+ * @return OrchestrationConfigPostResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse importOrchestrationConfig()
+ throws OpenApiRequestException {
+ return importOrchestrationConfig(null, null);
+ }
+
+ /**
+ * List orchestration config history
+ *
+ *
200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param scenario (required) The value for the parameter scenario
+ * @param version (required) The value for the parameter version
+ * @param name (required) The value for the parameter name
+ * @param modelName (required) The value for the parameter modelName
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @param includeSpec (optional, default to false) The value for the parameter includeSpec
+ * @param resolveTemplateRef (optional, default to false) The value for the parameter
+ * resolveTemplateRef
+ * @return OrchestrationConfigListResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse listOrchestrationConfigHistory(
+ @Nonnull final String scenario,
+ @Nonnull final String version,
+ @Nonnull final String name,
+ @Nonnull final String modelName,
+ @Nullable final String aiResourceGroup,
+ @Nullable final Boolean includeSpec,
+ @Nullable final Boolean resolveTemplateRef)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ // verify the required parameter 'scenario' is set
+ if (scenario == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'scenario' when calling listOrchestrationConfigHistory");
+ }
+
+ // verify the required parameter 'version' is set
+ if (version == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'version' when calling listOrchestrationConfigHistory");
+ }
+
+ // verify the required parameter 'name' is set
+ if (name == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'name' when calling listOrchestrationConfigHistory");
+ }
+
+ // verify the required parameter 'modelName' is set
+ if (modelName == null) {
+ throw new OpenApiRequestException(
+ "Missing the required parameter 'modelName' when calling listOrchestrationConfigHistory");
+ }
+
+ // create path and map variables
+ final Map localVarPathParams = new HashMap();
+ localVarPathParams.put("scenario", scenario);
+ localVarPathParams.put("version", version);
+ localVarPathParams.put("name", name);
+ localVarPathParams.put("model_name", modelName);
+ final String localVarPath =
+ UriComponentsBuilder.fromPath(
+ "/lm/scenarios/{scenario}/orchestrationConfigs/{name}/versions/{version}/models/{model_name}/history")
+ .buildAndExpand(localVarPathParams)
+ .toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ localVarQueryParams.putAll(
+ apiClient.parameterToMultiValueMap(null, "include_spec", includeSpec));
+ localVarQueryParams.putAll(
+ apiClient.parameterToMultiValueMap(null, "resolve_template_ref", resolveTemplateRef));
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.GET,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * List orchestration config history
+ *
+ * 200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param scenario The value for the parameter scenario
+ * @param version The value for the parameter version
+ * @param name The value for the parameter name
+ * @param modelName The value for the parameter modelName
+ * @return OrchestrationConfigListResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse listOrchestrationConfigHistory(
+ @Nonnull final String scenario,
+ @Nonnull final String version,
+ @Nonnull final String name,
+ @Nonnull final String modelName)
+ throws OpenApiRequestException {
+ return listOrchestrationConfigHistory(scenario, version, name, modelName, null, null, null);
+ }
+
+ /**
+ * List orchestration configs
+ *
+ *
200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @param aiResourceGroup (optional) Specify a resource group id to use
+ * @param scenario (optional) The value for the parameter scenario
+ * @param name (optional) The value for the parameter name
+ * @param version (optional) The value for the parameter version
+ * @param modelName (optional) The value for the parameter modelName
+ * @param retrieve (optional, default to both) The value for the parameter retrieve
+ * @param includeSpec (optional, default to false) The value for the parameter includeSpec
+ * @param resolveTemplateRef (optional, default to false) The value for the parameter
+ * resolveTemplateRef
+ * @return OrchestrationConfigListResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse listOrchestrationConfigs(
+ @Nullable final String aiResourceGroup,
+ @Nullable final String scenario,
+ @Nullable final String name,
+ @Nullable final String version,
+ @Nullable final String modelName,
+ @Nullable final String retrieve,
+ @Nullable final Boolean includeSpec,
+ @Nullable final Boolean resolveTemplateRef)
+ throws OpenApiRequestException {
+ final Object localVarPostBody = null;
+
+ final String localVarPath =
+ UriComponentsBuilder.fromPath("/lm/orchestrationConfigs").build().toUriString();
+
+ final MultiValueMap localVarQueryParams =
+ new LinkedMultiValueMap();
+ final HttpHeaders localVarHeaderParams = new HttpHeaders();
+ final MultiValueMap localVarFormParams =
+ new LinkedMultiValueMap();
+
+ localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "scenario", scenario));
+ localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "name", name));
+ localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "version", version));
+ localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "model_name", modelName));
+ localVarQueryParams.putAll(apiClient.parameterToMultiValueMap(null, "retrieve", retrieve));
+ localVarQueryParams.putAll(
+ apiClient.parameterToMultiValueMap(null, "include_spec", includeSpec));
+ localVarQueryParams.putAll(
+ apiClient.parameterToMultiValueMap(null, "resolve_template_ref", resolveTemplateRef));
+
+ if (aiResourceGroup != null)
+ localVarHeaderParams.add("AI-Resource-Group", apiClient.parameterToString(aiResourceGroup));
+
+ final String[] localVarAccepts = {"application/json"};
+ final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+ final String[] localVarContentTypes = {};
+ final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+
+ final String[] localVarAuthNames = new String[] {};
+
+ final ParameterizedTypeReference localVarReturnType =
+ new ParameterizedTypeReference() {};
+ return apiClient.invokeAPI(
+ localVarPath,
+ HttpMethod.GET,
+ localVarQueryParams,
+ localVarPostBody,
+ localVarHeaderParams,
+ localVarFormParams,
+ localVarAccept,
+ localVarContentType,
+ localVarAuthNames,
+ localVarReturnType);
+ }
+
+ /**
+ * List orchestration configs
+ *
+ * 200 - Successful response
+ *
+ *
400 - Bad Request
+ *
+ *
403 - Forbidden Error
+ *
+ *
0 - Common Error
+ *
+ * @return OrchestrationConfigListResponse
+ * @throws OpenApiRequestException if an error occurs while attempting to invoke the API
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse listOrchestrationConfigs() throws OpenApiRequestException {
+ return listOrchestrationConfigs(null, null, null, null, null, null, null, null);
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/MultiChatTemplate.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/MultiChatTemplate.java
index 6a9e5b6ae..ad40f2642 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/MultiChatTemplate.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/MultiChatTemplate.java
@@ -28,7 +28,7 @@
/** MultiChatTemplate */
// CHECKSTYLE:OFF
-public class MultiChatTemplate implements Template
+public class MultiChatTemplate implements PromptTemplate
// CHECKSTYLE:ON
{
@JsonProperty("role")
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigDeleteResponse.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigDeleteResponse.java
new file mode 100644
index 000000000..e44de9301
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigDeleteResponse.java
@@ -0,0 +1,191 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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;
+
+/** OrchestrationConfigDeleteResponse */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigDeleteResponse
+// CHECKSTYLE:ON
+{
+ @JsonProperty("message")
+ private String message;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigDeleteResponse. */
+ protected OrchestrationConfigDeleteResponse() {}
+
+ /**
+ * Set the message of this {@link OrchestrationConfigDeleteResponse} instance and return the same
+ * instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigDeleteResponse}
+ * @return The same instance of this {@link OrchestrationConfigDeleteResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigDeleteResponse message(@Nonnull final String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get message
+ *
+ * @return message The message of this {@link OrchestrationConfigDeleteResponse} instance.
+ */
+ @Nonnull
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Set the message of this {@link OrchestrationConfigDeleteResponse} instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigDeleteResponse}
+ */
+ public void setMessage(@Nonnull final String message) {
+ this.message = message;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link
+ * OrchestrationConfigDeleteResponse}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigDeleteResponse}
+ * 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(
+ "OrchestrationConfigDeleteResponse has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigDeleteResponse} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (message != null) declaredFields.put("message", message);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigDeleteResponse} 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 OrchestrationConfigDeleteResponse orchestrationConfigDeleteResponse =
+ (OrchestrationConfigDeleteResponse) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigDeleteResponse.cloudSdkCustomFields)
+ && Objects.equals(this.message, orchestrationConfigDeleteResponse.message);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(message, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigDeleteResponse {\n");
+ sb.append(" message: ").append(toIndentedString(message)).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
+ * OrchestrationConfigDeleteResponse} instance with all required arguments.
+ */
+ public static Builder create() {
+ return (message) -> new OrchestrationConfigDeleteResponse().message(message);
+ }
+
+ /** Builder helper class. */
+ public interface Builder {
+ /**
+ * Set the message of this {@link OrchestrationConfigDeleteResponse} instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigDeleteResponse}
+ * @return The OrchestrationConfigDeleteResponse instance.
+ */
+ OrchestrationConfigDeleteResponse message(@Nonnull final String message);
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigGetResponse.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigGetResponse.java
new file mode 100644
index 000000000..f44624dff
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigGetResponse.java
@@ -0,0 +1,534 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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 java.util.UUID;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/** OrchestrationConfigGetResponse */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigGetResponse
+// CHECKSTYLE:ON
+{
+ @JsonProperty("id")
+ private UUID id;
+
+ @JsonProperty("name")
+ private String name;
+
+ @JsonProperty("version")
+ private String version;
+
+ @JsonProperty("scenario")
+ private String scenario;
+
+ @JsonProperty("model_name")
+ private String modelName;
+
+ @JsonProperty("creation_timestamp")
+ private String creationTimestamp;
+
+ @JsonProperty("managed_by")
+ private String managedBy;
+
+ @JsonProperty("is_version_head")
+ private Boolean isVersionHead;
+
+ @JsonProperty("resource_group_id")
+ private String resourceGroupId;
+
+ @JsonProperty("spec")
+ private Object spec = null;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigGetResponse. */
+ protected OrchestrationConfigGetResponse() {}
+
+ /**
+ * Set the id of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse id(@Nullable final UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ *
+ * @return id The id of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public UUID getId() {
+ return id;
+ }
+
+ /**
+ * Set the id of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setId(@Nullable final UUID id) {
+ this.id = id;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse name(@Nullable final String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ *
+ * @return name The name of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setName(@Nullable final String name) {
+ this.name = name;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse version(@Nullable final String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get version
+ *
+ * @return version The version of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setVersion(@Nullable final String version) {
+ this.version = version;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse scenario(@Nullable final String scenario) {
+ this.scenario = scenario;
+ return this;
+ }
+
+ /**
+ * Get scenario
+ *
+ * @return scenario The scenario of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public String getScenario() {
+ return scenario;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setScenario(@Nullable final String scenario) {
+ this.scenario = scenario;
+ }
+
+ /**
+ * Set the modelName of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param modelName The modelName of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse modelName(@Nullable final String modelName) {
+ this.modelName = modelName;
+ return this;
+ }
+
+ /**
+ * Get modelName
+ *
+ * @return modelName The modelName of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public String getModelName() {
+ return modelName;
+ }
+
+ /**
+ * Set the modelName of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param modelName The modelName of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setModelName(@Nullable final String modelName) {
+ this.modelName = modelName;
+ }
+
+ /**
+ * Set the creationTimestamp of this {@link OrchestrationConfigGetResponse} instance and return
+ * the same instance.
+ *
+ * @param creationTimestamp The creationTimestamp of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse creationTimestamp(
+ @Nullable final String creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ return this;
+ }
+
+ /**
+ * Get creationTimestamp
+ *
+ * @return creationTimestamp The creationTimestamp of this {@link OrchestrationConfigGetResponse}
+ * instance.
+ */
+ @Nonnull
+ public String getCreationTimestamp() {
+ return creationTimestamp;
+ }
+
+ /**
+ * Set the creationTimestamp of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param creationTimestamp The creationTimestamp of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setCreationTimestamp(@Nullable final String creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
+
+ /**
+ * Set the managedBy of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param managedBy The managedBy of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse managedBy(@Nullable final String managedBy) {
+ this.managedBy = managedBy;
+ return this;
+ }
+
+ /**
+ * Get managedBy
+ *
+ * @return managedBy The managedBy of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public String getManagedBy() {
+ return managedBy;
+ }
+
+ /**
+ * Set the managedBy of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param managedBy The managedBy of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setManagedBy(@Nullable final String managedBy) {
+ this.managedBy = managedBy;
+ }
+
+ /**
+ * Set the isVersionHead of this {@link OrchestrationConfigGetResponse} instance and return the
+ * same instance.
+ *
+ * @param isVersionHead The isVersionHead of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse isVersionHead(@Nullable final Boolean isVersionHead) {
+ this.isVersionHead = isVersionHead;
+ return this;
+ }
+
+ /**
+ * Get isVersionHead
+ *
+ * @return isVersionHead The isVersionHead of this {@link OrchestrationConfigGetResponse}
+ * instance.
+ */
+ @Nonnull
+ public Boolean isIsVersionHead() {
+ return isVersionHead;
+ }
+
+ /**
+ * Set the isVersionHead of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param isVersionHead The isVersionHead of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setIsVersionHead(@Nullable final Boolean isVersionHead) {
+ this.isVersionHead = isVersionHead;
+ }
+
+ /**
+ * Set the resourceGroupId of this {@link OrchestrationConfigGetResponse} instance and return the
+ * same instance.
+ *
+ * @param resourceGroupId The resourceGroupId of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse resourceGroupId(@Nullable final String resourceGroupId) {
+ this.resourceGroupId = resourceGroupId;
+ return this;
+ }
+
+ /**
+ * Get resourceGroupId
+ *
+ * @return resourceGroupId The resourceGroupId of this {@link OrchestrationConfigGetResponse}
+ * instance.
+ */
+ @Nonnull
+ public String getResourceGroupId() {
+ return resourceGroupId;
+ }
+
+ /**
+ * Set the resourceGroupId of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param resourceGroupId The resourceGroupId of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setResourceGroupId(@Nullable final String resourceGroupId) {
+ this.resourceGroupId = resourceGroupId;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigGetResponse} instance and return the same
+ * instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigGetResponse}
+ * @return The same instance of this {@link OrchestrationConfigGetResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigGetResponse spec(@Nullable final Object spec) {
+ this.spec = spec;
+ return this;
+ }
+
+ /**
+ * Get spec
+ *
+ * @return spec The spec of this {@link OrchestrationConfigGetResponse} instance.
+ */
+ @Nonnull
+ public Object getSpec() {
+ return spec;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigGetResponse} instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigGetResponse}
+ */
+ public void setSpec(@Nullable final Object spec) {
+ this.spec = spec;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link OrchestrationConfigGetResponse}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigGetResponse}
+ * 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(
+ "OrchestrationConfigGetResponse has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigGetResponse} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (id != null) declaredFields.put("id", id);
+ if (name != null) declaredFields.put("name", name);
+ if (version != null) declaredFields.put("version", version);
+ if (scenario != null) declaredFields.put("scenario", scenario);
+ if (modelName != null) declaredFields.put("modelName", modelName);
+ if (creationTimestamp != null) declaredFields.put("creationTimestamp", creationTimestamp);
+ if (managedBy != null) declaredFields.put("managedBy", managedBy);
+ if (isVersionHead != null) declaredFields.put("isVersionHead", isVersionHead);
+ if (resourceGroupId != null) declaredFields.put("resourceGroupId", resourceGroupId);
+ if (spec != null) declaredFields.put("spec", spec);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigGetResponse} 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 OrchestrationConfigGetResponse orchestrationConfigGetResponse =
+ (OrchestrationConfigGetResponse) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigGetResponse.cloudSdkCustomFields)
+ && Objects.equals(this.id, orchestrationConfigGetResponse.id)
+ && Objects.equals(this.name, orchestrationConfigGetResponse.name)
+ && Objects.equals(this.version, orchestrationConfigGetResponse.version)
+ && Objects.equals(this.scenario, orchestrationConfigGetResponse.scenario)
+ && Objects.equals(this.modelName, orchestrationConfigGetResponse.modelName)
+ && Objects.equals(this.creationTimestamp, orchestrationConfigGetResponse.creationTimestamp)
+ && Objects.equals(this.managedBy, orchestrationConfigGetResponse.managedBy)
+ && Objects.equals(this.isVersionHead, orchestrationConfigGetResponse.isVersionHead)
+ && Objects.equals(this.resourceGroupId, orchestrationConfigGetResponse.resourceGroupId)
+ && Objects.equals(this.spec, orchestrationConfigGetResponse.spec);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ id,
+ name,
+ version,
+ scenario,
+ modelName,
+ creationTimestamp,
+ managedBy,
+ isVersionHead,
+ resourceGroupId,
+ spec,
+ cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigGetResponse {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" version: ").append(toIndentedString(version)).append("\n");
+ sb.append(" scenario: ").append(toIndentedString(scenario)).append("\n");
+ sb.append(" modelName: ").append(toIndentedString(modelName)).append("\n");
+ sb.append(" creationTimestamp: ").append(toIndentedString(creationTimestamp)).append("\n");
+ sb.append(" managedBy: ").append(toIndentedString(managedBy)).append("\n");
+ sb.append(" isVersionHead: ").append(toIndentedString(isVersionHead)).append("\n");
+ sb.append(" resourceGroupId: ").append(toIndentedString(resourceGroupId)).append("\n");
+ sb.append(" spec: ").append(toIndentedString(spec)).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 new {@link OrchestrationConfigGetResponse} instance. No arguments are required. */
+ public static OrchestrationConfigGetResponse create() {
+ return new OrchestrationConfigGetResponse();
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigListResponse.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigListResponse.java
new file mode 100644
index 000000000..105caf3c9
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigListResponse.java
@@ -0,0 +1,272 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.Set;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/** OrchestrationConfigListResponse */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigListResponse
+// CHECKSTYLE:ON
+{
+ @JsonProperty("count")
+ private Integer count;
+
+ @JsonProperty("resources")
+ private List resources = new ArrayList<>();
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigListResponse. */
+ protected OrchestrationConfigListResponse() {}
+
+ /**
+ * Set the count of this {@link OrchestrationConfigListResponse} instance and return the same
+ * instance.
+ *
+ * @param count The count of this {@link OrchestrationConfigListResponse}
+ * @return The same instance of this {@link OrchestrationConfigListResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse count(@Nonnull final Integer count) {
+ this.count = count;
+ return this;
+ }
+
+ /**
+ * Get count
+ *
+ * @return count The count of this {@link OrchestrationConfigListResponse} instance.
+ */
+ @Nonnull
+ public Integer getCount() {
+ return count;
+ }
+
+ /**
+ * Set the count of this {@link OrchestrationConfigListResponse} instance.
+ *
+ * @param count The count of this {@link OrchestrationConfigListResponse}
+ */
+ public void setCount(@Nonnull final Integer count) {
+ this.count = count;
+ }
+
+ /**
+ * Set the resources of this {@link OrchestrationConfigListResponse} instance and return the same
+ * instance.
+ *
+ * @param resources The resources of this {@link OrchestrationConfigListResponse}
+ * @return The same instance of this {@link OrchestrationConfigListResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse resources(
+ @Nonnull final List resources) {
+ this.resources = resources;
+ return this;
+ }
+
+ /**
+ * Add one resources instance to this {@link OrchestrationConfigListResponse}.
+ *
+ * @param resourcesItem The resources that should be added
+ * @return The same instance of type {@link OrchestrationConfigListResponse}
+ */
+ @Nonnull
+ public OrchestrationConfigListResponse addResourcesItem(
+ @Nonnull final OrchestrationConfigGetResponse resourcesItem) {
+ if (this.resources == null) {
+ this.resources = new ArrayList<>();
+ }
+ this.resources.add(resourcesItem);
+ return this;
+ }
+
+ /**
+ * Get resources
+ *
+ * @return resources The resources of this {@link OrchestrationConfigListResponse} instance.
+ */
+ @Nonnull
+ public List getResources() {
+ return resources;
+ }
+
+ /**
+ * Set the resources of this {@link OrchestrationConfigListResponse} instance.
+ *
+ * @param resources The resources of this {@link OrchestrationConfigListResponse}
+ */
+ public void setResources(@Nonnull final List resources) {
+ this.resources = resources;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link OrchestrationConfigListResponse}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigListResponse}
+ * 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(
+ "OrchestrationConfigListResponse has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigListResponse} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (count != null) declaredFields.put("count", count);
+ if (resources != null) declaredFields.put("resources", resources);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigListResponse} 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 OrchestrationConfigListResponse orchestrationConfigListResponse =
+ (OrchestrationConfigListResponse) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigListResponse.cloudSdkCustomFields)
+ && Objects.equals(this.count, orchestrationConfigListResponse.count)
+ && Objects.equals(this.resources, orchestrationConfigListResponse.resources);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(count, resources, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigListResponse {\n");
+ sb.append(" count: ").append(toIndentedString(count)).append("\n");
+ sb.append(" resources: ").append(toIndentedString(resources)).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
+ * OrchestrationConfigListResponse} instance with all required arguments.
+ */
+ public static Builder create() {
+ return (count) ->
+ (resources) -> new OrchestrationConfigListResponse().count(count).resources(resources);
+ }
+
+ /** Builder helper class. */
+ public interface Builder {
+ /**
+ * Set the count of this {@link OrchestrationConfigListResponse} instance.
+ *
+ * @param count The count of this {@link OrchestrationConfigListResponse}
+ * @return The OrchestrationConfigListResponse builder.
+ */
+ Builder1 count(@Nonnull final Integer count);
+ }
+
+ /** Builder helper class. */
+ public interface Builder1 {
+ /**
+ * Set the resources of this {@link OrchestrationConfigListResponse} instance.
+ *
+ * @param resources The resources of this {@link OrchestrationConfigListResponse}
+ * @return The OrchestrationConfigListResponse instance.
+ */
+ OrchestrationConfigListResponse resources(
+ @Nonnull final List resources);
+
+ /**
+ * Set the resources of this {@link OrchestrationConfigListResponse} instance.
+ *
+ * @param resources The resources of this {@link OrchestrationConfigListResponse}
+ * @return The OrchestrationConfigListResponse instance.
+ */
+ default OrchestrationConfigListResponse resources(
+ @Nonnull final OrchestrationConfigGetResponse... resources) {
+ return resources(Arrays.asList(resources));
+ }
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostRequest.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostRequest.java
new file mode 100644
index 000000000..98f805439
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostRequest.java
@@ -0,0 +1,345 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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;
+
+/** OrchestrationConfigPostRequest */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigPostRequest
+// CHECKSTYLE:ON
+{
+ @JsonProperty("name")
+ private String name;
+
+ @JsonProperty("version")
+ private String version;
+
+ @JsonProperty("scenario")
+ private String scenario;
+
+ @JsonProperty("spec")
+ private Object spec = null;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigPostRequest. */
+ protected OrchestrationConfigPostRequest() {}
+
+ /**
+ * Set the name of this {@link OrchestrationConfigPostRequest} instance and return the same
+ * instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostRequest}
+ * @return The same instance of this {@link OrchestrationConfigPostRequest} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostRequest name(@Nonnull final String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ *
+ * @return name The name of this {@link OrchestrationConfigPostRequest} instance.
+ */
+ @Nonnull
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostRequest}
+ */
+ public void setName(@Nonnull final String name) {
+ this.name = name;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigPostRequest} instance and return the same
+ * instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostRequest}
+ * @return The same instance of this {@link OrchestrationConfigPostRequest} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostRequest version(@Nonnull final String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get version
+ *
+ * @return version The version of this {@link OrchestrationConfigPostRequest} instance.
+ */
+ @Nonnull
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostRequest}
+ */
+ public void setVersion(@Nonnull final String version) {
+ this.version = version;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostRequest} instance and return the same
+ * instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostRequest}
+ * @return The same instance of this {@link OrchestrationConfigPostRequest} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostRequest scenario(@Nonnull final String scenario) {
+ this.scenario = scenario;
+ return this;
+ }
+
+ /**
+ * Get scenario
+ *
+ * @return scenario The scenario of this {@link OrchestrationConfigPostRequest} instance.
+ */
+ @Nonnull
+ public String getScenario() {
+ return scenario;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostRequest}
+ */
+ public void setScenario(@Nonnull final String scenario) {
+ this.scenario = scenario;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigPostRequest} instance and return the same
+ * instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigPostRequest}
+ * @return The same instance of this {@link OrchestrationConfigPostRequest} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostRequest spec(@Nonnull final Object spec) {
+ this.spec = spec;
+ return this;
+ }
+
+ /**
+ * Get spec
+ *
+ * @return spec The spec of this {@link OrchestrationConfigPostRequest} instance.
+ */
+ @Nonnull
+ public Object getSpec() {
+ return spec;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigPostRequest}
+ */
+ public void setSpec(@Nonnull final Object spec) {
+ this.spec = spec;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link OrchestrationConfigPostRequest}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigPostRequest}
+ * 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(
+ "OrchestrationConfigPostRequest has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigPostRequest} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (name != null) declaredFields.put("name", name);
+ if (version != null) declaredFields.put("version", version);
+ if (scenario != null) declaredFields.put("scenario", scenario);
+ if (spec != null) declaredFields.put("spec", spec);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigPostRequest} 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 OrchestrationConfigPostRequest orchestrationConfigPostRequest =
+ (OrchestrationConfigPostRequest) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigPostRequest.cloudSdkCustomFields)
+ && Objects.equals(this.name, orchestrationConfigPostRequest.name)
+ && Objects.equals(this.version, orchestrationConfigPostRequest.version)
+ && Objects.equals(this.scenario, orchestrationConfigPostRequest.scenario)
+ && Objects.equals(this.spec, orchestrationConfigPostRequest.spec);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, version, scenario, spec, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigPostRequest {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" version: ").append(toIndentedString(version)).append("\n");
+ sb.append(" scenario: ").append(toIndentedString(scenario)).append("\n");
+ sb.append(" spec: ").append(toIndentedString(spec)).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
+ * OrchestrationConfigPostRequest} instance with all required arguments.
+ */
+ public static Builder create() {
+ return (name) ->
+ (version) ->
+ (scenario) ->
+ (spec) ->
+ new OrchestrationConfigPostRequest()
+ .name(name)
+ .version(version)
+ .scenario(scenario)
+ .spec(spec);
+ }
+
+ /** Builder helper class. */
+ public interface Builder {
+ /**
+ * Set the name of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostRequest}
+ * @return The OrchestrationConfigPostRequest builder.
+ */
+ Builder1 name(@Nonnull final String name);
+ }
+
+ /** Builder helper class. */
+ public interface Builder1 {
+ /**
+ * Set the version of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostRequest}
+ * @return The OrchestrationConfigPostRequest builder.
+ */
+ Builder2 version(@Nonnull final String version);
+ }
+
+ /** Builder helper class. */
+ public interface Builder2 {
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostRequest}
+ * @return The OrchestrationConfigPostRequest builder.
+ */
+ Builder3 scenario(@Nonnull final String scenario);
+ }
+
+ /** Builder helper class. */
+ public interface Builder3 {
+ /**
+ * Set the spec of this {@link OrchestrationConfigPostRequest} instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigPostRequest}
+ * @return The OrchestrationConfigPostRequest instance.
+ */
+ OrchestrationConfigPostRequest spec(@Nonnull final Object spec);
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostResponse.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostResponse.java
new file mode 100644
index 000000000..548322963
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigPostResponse.java
@@ -0,0 +1,448 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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 java.util.UUID;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/** OrchestrationConfigPostResponse */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigPostResponse
+// CHECKSTYLE:ON
+{
+ @JsonProperty("message")
+ private String message;
+
+ @JsonProperty("id")
+ private UUID id;
+
+ @JsonProperty("scenario")
+ private String scenario;
+
+ @JsonProperty("name")
+ private String name;
+
+ @JsonProperty("version")
+ private String version;
+
+ @JsonProperty("model_name")
+ private String modelName;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigPostResponse. */
+ protected OrchestrationConfigPostResponse() {}
+
+ /**
+ * Set the message of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse message(@Nonnull final String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get message
+ *
+ * @return message The message of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Set the message of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setMessage(@Nonnull final String message) {
+ this.message = message;
+ }
+
+ /**
+ * Set the id of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse id(@Nonnull final UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ *
+ * @return id The id of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public UUID getId() {
+ return id;
+ }
+
+ /**
+ * Set the id of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setId(@Nonnull final UUID id) {
+ this.id = id;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse scenario(@Nonnull final String scenario) {
+ this.scenario = scenario;
+ return this;
+ }
+
+ /**
+ * Get scenario
+ *
+ * @return scenario The scenario of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public String getScenario() {
+ return scenario;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setScenario(@Nonnull final String scenario) {
+ this.scenario = scenario;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse name(@Nonnull final String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ *
+ * @return name The name of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setName(@Nonnull final String name) {
+ this.name = name;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse version(@Nonnull final String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get version
+ *
+ * @return version The version of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setVersion(@Nonnull final String version) {
+ this.version = version;
+ }
+
+ /**
+ * Set the modelName of this {@link OrchestrationConfigPostResponse} instance and return the same
+ * instance.
+ *
+ * @param modelName The modelName of this {@link OrchestrationConfigPostResponse}
+ * @return The same instance of this {@link OrchestrationConfigPostResponse} class
+ */
+ @Nonnull
+ public OrchestrationConfigPostResponse modelName(@Nonnull final String modelName) {
+ this.modelName = modelName;
+ return this;
+ }
+
+ /**
+ * Get modelName
+ *
+ * @return modelName The modelName of this {@link OrchestrationConfigPostResponse} instance.
+ */
+ @Nonnull
+ public String getModelName() {
+ return modelName;
+ }
+
+ /**
+ * Set the modelName of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param modelName The modelName of this {@link OrchestrationConfigPostResponse}
+ */
+ public void setModelName(@Nonnull final String modelName) {
+ this.modelName = modelName;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link OrchestrationConfigPostResponse}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigPostResponse}
+ * 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(
+ "OrchestrationConfigPostResponse has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigPostResponse} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (message != null) declaredFields.put("message", message);
+ if (id != null) declaredFields.put("id", id);
+ if (scenario != null) declaredFields.put("scenario", scenario);
+ if (name != null) declaredFields.put("name", name);
+ if (version != null) declaredFields.put("version", version);
+ if (modelName != null) declaredFields.put("modelName", modelName);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigPostResponse} 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 OrchestrationConfigPostResponse orchestrationConfigPostResponse =
+ (OrchestrationConfigPostResponse) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigPostResponse.cloudSdkCustomFields)
+ && Objects.equals(this.message, orchestrationConfigPostResponse.message)
+ && Objects.equals(this.id, orchestrationConfigPostResponse.id)
+ && Objects.equals(this.scenario, orchestrationConfigPostResponse.scenario)
+ && Objects.equals(this.name, orchestrationConfigPostResponse.name)
+ && Objects.equals(this.version, orchestrationConfigPostResponse.version)
+ && Objects.equals(this.modelName, orchestrationConfigPostResponse.modelName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(message, id, scenario, name, version, modelName, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigPostResponse {\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" scenario: ").append(toIndentedString(scenario)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" version: ").append(toIndentedString(version)).append("\n");
+ sb.append(" modelName: ").append(toIndentedString(modelName)).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
+ * OrchestrationConfigPostResponse} instance with all required arguments.
+ */
+ public static Builder create() {
+ return (message) ->
+ (id) ->
+ (scenario) ->
+ (name) ->
+ (version) ->
+ (modelName) ->
+ new OrchestrationConfigPostResponse()
+ .message(message)
+ .id(id)
+ .scenario(scenario)
+ .name(name)
+ .version(version)
+ .modelName(modelName);
+ }
+
+ /** Builder helper class. */
+ public interface Builder {
+ /**
+ * Set the message of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param message The message of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse builder.
+ */
+ Builder1 message(@Nonnull final String message);
+ }
+
+ /** Builder helper class. */
+ public interface Builder1 {
+ /**
+ * Set the id of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse builder.
+ */
+ Builder2 id(@Nonnull final UUID id);
+ }
+
+ /** Builder helper class. */
+ public interface Builder2 {
+ /**
+ * Set the scenario of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse builder.
+ */
+ Builder3 scenario(@Nonnull final String scenario);
+ }
+
+ /** Builder helper class. */
+ public interface Builder3 {
+ /**
+ * Set the name of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse builder.
+ */
+ Builder4 name(@Nonnull final String name);
+ }
+
+ /** Builder helper class. */
+ public interface Builder4 {
+ /**
+ * Set the version of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse builder.
+ */
+ Builder5 version(@Nonnull final String version);
+ }
+
+ /** Builder helper class. */
+ public interface Builder5 {
+ /**
+ * Set the modelName of this {@link OrchestrationConfigPostResponse} instance.
+ *
+ * @param modelName The modelName of this {@link OrchestrationConfigPostResponse}
+ * @return The OrchestrationConfigPostResponse instance.
+ */
+ OrchestrationConfigPostResponse modelName(@Nonnull final String modelName);
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigResource.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigResource.java
new file mode 100644
index 000000000..700714997
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/OrchestrationConfigResource.java
@@ -0,0 +1,488 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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 java.util.UUID;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+/** OrchestrationConfigResource */
+// CHECKSTYLE:OFF
+public class OrchestrationConfigResource
+// CHECKSTYLE:ON
+{
+ @JsonProperty("id")
+ private UUID id;
+
+ @JsonProperty("name")
+ private String name;
+
+ @JsonProperty("version")
+ private String version;
+
+ @JsonProperty("scenario")
+ private String scenario;
+
+ @JsonProperty("creation_timestamp")
+ private String creationTimestamp;
+
+ @JsonProperty("managed_by")
+ private String managedBy;
+
+ @JsonProperty("is_version_head")
+ private Boolean isVersionHead;
+
+ @JsonProperty("resource_group_id")
+ private String resourceGroupId;
+
+ @JsonProperty("spec")
+ private Object spec = null;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for OrchestrationConfigResource. */
+ protected OrchestrationConfigResource() {}
+
+ /**
+ * Set the id of this {@link OrchestrationConfigResource} instance and return the same instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource id(@Nullable final UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get id
+ *
+ * @return id The id of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public UUID getId() {
+ return id;
+ }
+
+ /**
+ * Set the id of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param id The id of this {@link OrchestrationConfigResource}
+ */
+ public void setId(@Nullable final UUID id) {
+ this.id = id;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigResource} instance and return the same instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource name(@Nullable final String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get name
+ *
+ * @return name The name of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param name The name of this {@link OrchestrationConfigResource}
+ */
+ public void setName(@Nullable final String name) {
+ this.name = name;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigResource} instance and return the same
+ * instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource version(@Nullable final String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get version
+ *
+ * @return version The version of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Set the version of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param version The version of this {@link OrchestrationConfigResource}
+ */
+ public void setVersion(@Nullable final String version) {
+ this.version = version;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigResource} instance and return the same
+ * instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource scenario(@Nullable final String scenario) {
+ this.scenario = scenario;
+ return this;
+ }
+
+ /**
+ * Get scenario
+ *
+ * @return scenario The scenario of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public String getScenario() {
+ return scenario;
+ }
+
+ /**
+ * Set the scenario of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param scenario The scenario of this {@link OrchestrationConfigResource}
+ */
+ public void setScenario(@Nullable final String scenario) {
+ this.scenario = scenario;
+ }
+
+ /**
+ * Set the creationTimestamp of this {@link OrchestrationConfigResource} instance and return the
+ * same instance.
+ *
+ * @param creationTimestamp The creationTimestamp of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource creationTimestamp(@Nullable final String creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ return this;
+ }
+
+ /**
+ * Get creationTimestamp
+ *
+ * @return creationTimestamp The creationTimestamp of this {@link OrchestrationConfigResource}
+ * instance.
+ */
+ @Nonnull
+ public String getCreationTimestamp() {
+ return creationTimestamp;
+ }
+
+ /**
+ * Set the creationTimestamp of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param creationTimestamp The creationTimestamp of this {@link OrchestrationConfigResource}
+ */
+ public void setCreationTimestamp(@Nullable final String creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
+
+ /**
+ * Set the managedBy of this {@link OrchestrationConfigResource} instance and return the same
+ * instance.
+ *
+ * @param managedBy The managedBy of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource managedBy(@Nullable final String managedBy) {
+ this.managedBy = managedBy;
+ return this;
+ }
+
+ /**
+ * Get managedBy
+ *
+ * @return managedBy The managedBy of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public String getManagedBy() {
+ return managedBy;
+ }
+
+ /**
+ * Set the managedBy of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param managedBy The managedBy of this {@link OrchestrationConfigResource}
+ */
+ public void setManagedBy(@Nullable final String managedBy) {
+ this.managedBy = managedBy;
+ }
+
+ /**
+ * Set the isVersionHead of this {@link OrchestrationConfigResource} instance and return the same
+ * instance.
+ *
+ * @param isVersionHead The isVersionHead of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource isVersionHead(@Nullable final Boolean isVersionHead) {
+ this.isVersionHead = isVersionHead;
+ return this;
+ }
+
+ /**
+ * Get isVersionHead
+ *
+ * @return isVersionHead The isVersionHead of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public Boolean isIsVersionHead() {
+ return isVersionHead;
+ }
+
+ /**
+ * Set the isVersionHead of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param isVersionHead The isVersionHead of this {@link OrchestrationConfigResource}
+ */
+ public void setIsVersionHead(@Nullable final Boolean isVersionHead) {
+ this.isVersionHead = isVersionHead;
+ }
+
+ /**
+ * Set the resourceGroupId of this {@link OrchestrationConfigResource} instance and return the
+ * same instance.
+ *
+ * @param resourceGroupId The resourceGroupId of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource resourceGroupId(@Nullable final String resourceGroupId) {
+ this.resourceGroupId = resourceGroupId;
+ return this;
+ }
+
+ /**
+ * Get resourceGroupId
+ *
+ * @return resourceGroupId The resourceGroupId of this {@link OrchestrationConfigResource}
+ * instance.
+ */
+ @Nonnull
+ public String getResourceGroupId() {
+ return resourceGroupId;
+ }
+
+ /**
+ * Set the resourceGroupId of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param resourceGroupId The resourceGroupId of this {@link OrchestrationConfigResource}
+ */
+ public void setResourceGroupId(@Nullable final String resourceGroupId) {
+ this.resourceGroupId = resourceGroupId;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigResource} instance and return the same instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigResource}
+ * @return The same instance of this {@link OrchestrationConfigResource} class
+ */
+ @Nonnull
+ public OrchestrationConfigResource spec(@Nullable final Object spec) {
+ this.spec = spec;
+ return this;
+ }
+
+ /**
+ * Get spec
+ *
+ * @return spec The spec of this {@link OrchestrationConfigResource} instance.
+ */
+ @Nonnull
+ public Object getSpec() {
+ return spec;
+ }
+
+ /**
+ * Set the spec of this {@link OrchestrationConfigResource} instance.
+ *
+ * @param spec The spec of this {@link OrchestrationConfigResource}
+ */
+ public void setSpec(@Nullable final Object spec) {
+ this.spec = spec;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link OrchestrationConfigResource}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link OrchestrationConfigResource}
+ * 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(
+ "OrchestrationConfigResource has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link OrchestrationConfigResource} instance including
+ * unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (id != null) declaredFields.put("id", id);
+ if (name != null) declaredFields.put("name", name);
+ if (version != null) declaredFields.put("version", version);
+ if (scenario != null) declaredFields.put("scenario", scenario);
+ if (creationTimestamp != null) declaredFields.put("creationTimestamp", creationTimestamp);
+ if (managedBy != null) declaredFields.put("managedBy", managedBy);
+ if (isVersionHead != null) declaredFields.put("isVersionHead", isVersionHead);
+ if (resourceGroupId != null) declaredFields.put("resourceGroupId", resourceGroupId);
+ if (spec != null) declaredFields.put("spec", spec);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link OrchestrationConfigResource} 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 OrchestrationConfigResource orchestrationConfigResource = (OrchestrationConfigResource) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, orchestrationConfigResource.cloudSdkCustomFields)
+ && Objects.equals(this.id, orchestrationConfigResource.id)
+ && Objects.equals(this.name, orchestrationConfigResource.name)
+ && Objects.equals(this.version, orchestrationConfigResource.version)
+ && Objects.equals(this.scenario, orchestrationConfigResource.scenario)
+ && Objects.equals(this.creationTimestamp, orchestrationConfigResource.creationTimestamp)
+ && Objects.equals(this.managedBy, orchestrationConfigResource.managedBy)
+ && Objects.equals(this.isVersionHead, orchestrationConfigResource.isVersionHead)
+ && Objects.equals(this.resourceGroupId, orchestrationConfigResource.resourceGroupId)
+ && Objects.equals(this.spec, orchestrationConfigResource.spec);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ id,
+ name,
+ version,
+ scenario,
+ creationTimestamp,
+ managedBy,
+ isVersionHead,
+ resourceGroupId,
+ spec,
+ cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class OrchestrationConfigResource {\n");
+ sb.append(" id: ").append(toIndentedString(id)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" version: ").append(toIndentedString(version)).append("\n");
+ sb.append(" scenario: ").append(toIndentedString(scenario)).append("\n");
+ sb.append(" creationTimestamp: ").append(toIndentedString(creationTimestamp)).append("\n");
+ sb.append(" managedBy: ").append(toIndentedString(managedBy)).append("\n");
+ sb.append(" isVersionHead: ").append(toIndentedString(isVersionHead)).append("\n");
+ sb.append(" resourceGroupId: ").append(toIndentedString(resourceGroupId)).append("\n");
+ sb.append(" spec: ").append(toIndentedString(spec)).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 new {@link OrchestrationConfigResource} instance. No arguments are required. */
+ public static OrchestrationConfigResource create() {
+ return new OrchestrationConfigResource();
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/Template.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplate.java
similarity index 91%
rename from core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/Template.java
rename to core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplate.java
index a4d6bd7e5..7910e9de2 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/Template.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplate.java
@@ -14,10 +14,10 @@
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-/** Template */
+/** PromptTemplate */
@JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION)
@JsonSubTypes({
@JsonSubTypes.Type(value = MultiChatTemplate.class),
@JsonSubTypes.Type(value = SingleChatTemplate.class),
})
-public interface Template {}
+public interface PromptTemplate {}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSpec.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSpec.java
index 6e7b8e9fe..02af6a027 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSpec.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSpec.java
@@ -32,7 +32,7 @@ public class PromptTemplateSpec
// CHECKSTYLE:ON
{
@JsonProperty("template")
- private List template = new ArrayList<>();
+ private List template = new ArrayList<>();
@JsonProperty("defaults")
private Object defaults;
@@ -59,7 +59,7 @@ protected PromptTemplateSpec() {}
* @return The same instance of this {@link PromptTemplateSpec} class
*/
@Nonnull
- public PromptTemplateSpec template(@Nonnull final List template) {
+ public PromptTemplateSpec template(@Nonnull final List template) {
this.template = template;
return this;
}
@@ -71,7 +71,7 @@ public PromptTemplateSpec template(@Nonnull final List template) {
* @return The same instance of type {@link PromptTemplateSpec}
*/
@Nonnull
- public PromptTemplateSpec addTemplateItem(@Nonnull final Template templateItem) {
+ public PromptTemplateSpec addTemplateItem(@Nonnull final PromptTemplate templateItem) {
if (this.template == null) {
this.template = new ArrayList<>();
}
@@ -85,7 +85,7 @@ public PromptTemplateSpec addTemplateItem(@Nonnull final Template templateItem)
* @return template The template of this {@link PromptTemplateSpec} instance.
*/
@Nonnull
- public List getTemplate() {
+ public List getTemplate() {
return template;
}
@@ -94,7 +94,7 @@ public List getTemplate() {
*
* @param template The template of this {@link PromptTemplateSpec}
*/
- public void setTemplate(@Nonnull final List template) {
+ public void setTemplate(@Nonnull final List template) {
this.template = template;
}
@@ -369,7 +369,7 @@ public interface Builder {
* @param template The template of this {@link PromptTemplateSpec}
* @return The PromptTemplateSpec instance.
*/
- PromptTemplateSpec template(@Nonnull final List template);
+ PromptTemplateSpec template(@Nonnull final List template);
/**
* Set the template of this {@link PromptTemplateSpec} instance.
@@ -377,7 +377,7 @@ public interface Builder {
* @param template The template of this {@link PromptTemplateSpec}
* @return The PromptTemplateSpec instance.
*/
- default PromptTemplateSpec template(@Nonnull final Template... template) {
+ default PromptTemplateSpec template(@Nonnull final PromptTemplate... template) {
return template(Arrays.asList(template));
}
}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSubstitutionResponse.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSubstitutionResponse.java
index 51be802a7..57e85e654 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSubstitutionResponse.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/PromptTemplateSubstitutionResponse.java
@@ -31,7 +31,7 @@ public class PromptTemplateSubstitutionResponse
// CHECKSTYLE:ON
{
@JsonProperty("parsedPrompt")
- private List parsedPrompt = new ArrayList<>();
+ private List parsedPrompt = new ArrayList<>();
@JsonProperty("resource")
private PromptTemplateGetResponse resource;
@@ -51,7 +51,7 @@ protected PromptTemplateSubstitutionResponse() {}
*/
@Nonnull
public PromptTemplateSubstitutionResponse parsedPrompt(
- @Nullable final List parsedPrompt) {
+ @Nullable final List parsedPrompt) {
this.parsedPrompt = parsedPrompt;
return this;
}
@@ -64,7 +64,7 @@ public PromptTemplateSubstitutionResponse parsedPrompt(
*/
@Nonnull
public PromptTemplateSubstitutionResponse addParsedPromptItem(
- @Nonnull final Template parsedPromptItem) {
+ @Nonnull final PromptTemplate parsedPromptItem) {
if (this.parsedPrompt == null) {
this.parsedPrompt = new ArrayList<>();
}
@@ -79,7 +79,7 @@ public PromptTemplateSubstitutionResponse addParsedPromptItem(
* instance.
*/
@Nonnull
- public List getParsedPrompt() {
+ public List getParsedPrompt() {
return parsedPrompt;
}
@@ -88,7 +88,7 @@ public List getParsedPrompt() {
*
* @param parsedPrompt The parsedPrompt of this {@link PromptTemplateSubstitutionResponse}
*/
- public void setParsedPrompt(@Nullable final List parsedPrompt) {
+ public void setParsedPrompt(@Nullable final List parsedPrompt) {
this.parsedPrompt = parsedPrompt;
}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/RuntimeOrchestrationConfigFile.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/RuntimeOrchestrationConfigFile.java
new file mode 100644
index 000000000..5f4e4c594
--- /dev/null
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/RuntimeOrchestrationConfigFile.java
@@ -0,0 +1,291 @@
+/*
+ * Prompt Registry API
+ * Prompt Storage service for Design time & Runtime prompt templates.
+ *
+ *
+ *
+ * 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.prompt.registry.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;
+
+/** RuntimeOrchestrationConfigFile */
+// CHECKSTYLE:OFF
+public class RuntimeOrchestrationConfigFile
+// CHECKSTYLE:ON
+{
+ @JsonProperty("apiVersion")
+ private String apiVersion;
+
+ @JsonProperty("kind")
+ private String kind;
+
+ @JsonProperty("metadata")
+ private RuntimePromptTemplateFileMetadata metadata;
+
+ @JsonProperty("spec")
+ private Object spec = null;
+
+ @JsonAnySetter @JsonAnyGetter
+ private final Map cloudSdkCustomFields = new LinkedHashMap<>();
+
+ /** Default constructor for RuntimeOrchestrationConfigFile. */
+ protected RuntimeOrchestrationConfigFile() {}
+
+ /**
+ * Set the apiVersion of this {@link RuntimeOrchestrationConfigFile} instance and return the same
+ * instance.
+ *
+ * @param apiVersion The apiVersion of this {@link RuntimeOrchestrationConfigFile}
+ * @return The same instance of this {@link RuntimeOrchestrationConfigFile} class
+ */
+ @Nonnull
+ public RuntimeOrchestrationConfigFile apiVersion(@Nullable final String apiVersion) {
+ this.apiVersion = apiVersion;
+ return this;
+ }
+
+ /**
+ * Get apiVersion
+ *
+ * @return apiVersion The apiVersion of this {@link RuntimeOrchestrationConfigFile} instance.
+ */
+ @Nonnull
+ public String getApiVersion() {
+ return apiVersion;
+ }
+
+ /**
+ * Set the apiVersion of this {@link RuntimeOrchestrationConfigFile} instance.
+ *
+ * @param apiVersion The apiVersion of this {@link RuntimeOrchestrationConfigFile}
+ */
+ public void setApiVersion(@Nullable final String apiVersion) {
+ this.apiVersion = apiVersion;
+ }
+
+ /**
+ * Set the kind of this {@link RuntimeOrchestrationConfigFile} instance and return the same
+ * instance.
+ *
+ * @param kind The kind of this {@link RuntimeOrchestrationConfigFile}
+ * @return The same instance of this {@link RuntimeOrchestrationConfigFile} class
+ */
+ @Nonnull
+ public RuntimeOrchestrationConfigFile kind(@Nullable final String kind) {
+ this.kind = kind;
+ return this;
+ }
+
+ /**
+ * Get kind
+ *
+ * @return kind The kind of this {@link RuntimeOrchestrationConfigFile} instance.
+ */
+ @Nonnull
+ public String getKind() {
+ return kind;
+ }
+
+ /**
+ * Set the kind of this {@link RuntimeOrchestrationConfigFile} instance.
+ *
+ * @param kind The kind of this {@link RuntimeOrchestrationConfigFile}
+ */
+ public void setKind(@Nullable final String kind) {
+ this.kind = kind;
+ }
+
+ /**
+ * Set the metadata of this {@link RuntimeOrchestrationConfigFile} instance and return the same
+ * instance.
+ *
+ * @param metadata The metadata of this {@link RuntimeOrchestrationConfigFile}
+ * @return The same instance of this {@link RuntimeOrchestrationConfigFile} class
+ */
+ @Nonnull
+ public RuntimeOrchestrationConfigFile metadata(
+ @Nullable final RuntimePromptTemplateFileMetadata metadata) {
+ this.metadata = metadata;
+ return this;
+ }
+
+ /**
+ * Get metadata
+ *
+ * @return metadata The metadata of this {@link RuntimeOrchestrationConfigFile} instance.
+ */
+ @Nonnull
+ public RuntimePromptTemplateFileMetadata getMetadata() {
+ return metadata;
+ }
+
+ /**
+ * Set the metadata of this {@link RuntimeOrchestrationConfigFile} instance.
+ *
+ * @param metadata The metadata of this {@link RuntimeOrchestrationConfigFile}
+ */
+ public void setMetadata(@Nullable final RuntimePromptTemplateFileMetadata metadata) {
+ this.metadata = metadata;
+ }
+
+ /**
+ * Set the spec of this {@link RuntimeOrchestrationConfigFile} instance and return the same
+ * instance.
+ *
+ * @param spec The spec of this {@link RuntimeOrchestrationConfigFile}
+ * @return The same instance of this {@link RuntimeOrchestrationConfigFile} class
+ */
+ @Nonnull
+ public RuntimeOrchestrationConfigFile spec(@Nullable final Object spec) {
+ this.spec = spec;
+ return this;
+ }
+
+ /**
+ * Get spec
+ *
+ * @return spec The spec of this {@link RuntimeOrchestrationConfigFile} instance.
+ */
+ @Nonnull
+ public Object getSpec() {
+ return spec;
+ }
+
+ /**
+ * Set the spec of this {@link RuntimeOrchestrationConfigFile} instance.
+ *
+ * @param spec The spec of this {@link RuntimeOrchestrationConfigFile}
+ */
+ public void setSpec(@Nullable final Object spec) {
+ this.spec = spec;
+ }
+
+ /**
+ * Get the names of the unrecognizable properties of the {@link RuntimeOrchestrationConfigFile}.
+ *
+ * @return The set of properties names
+ */
+ @JsonIgnore
+ @Nonnull
+ public Set getCustomFieldNames() {
+ return cloudSdkCustomFields.keySet();
+ }
+
+ /**
+ * Get the value of an unrecognizable property of this {@link RuntimeOrchestrationConfigFile}
+ * 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(
+ "RuntimeOrchestrationConfigFile has no field with name '" + name + "'.");
+ }
+ return cloudSdkCustomFields.get(name);
+ }
+
+ /**
+ * Get the value of all properties of this {@link RuntimeOrchestrationConfigFile} instance
+ * including unrecognized properties.
+ *
+ * @return The map of all properties
+ */
+ @JsonIgnore
+ @Nonnull
+ public Map toMap() {
+ final Map declaredFields = new LinkedHashMap<>(cloudSdkCustomFields);
+ if (apiVersion != null) declaredFields.put("apiVersion", apiVersion);
+ if (kind != null) declaredFields.put("kind", kind);
+ if (metadata != null) declaredFields.put("metadata", metadata);
+ if (spec != null) declaredFields.put("spec", spec);
+ return declaredFields;
+ }
+
+ /**
+ * Set an unrecognizable property of this {@link RuntimeOrchestrationConfigFile} 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 RuntimeOrchestrationConfigFile runtimeOrchestrationConfigFile =
+ (RuntimeOrchestrationConfigFile) o;
+ return Objects.equals(
+ this.cloudSdkCustomFields, runtimeOrchestrationConfigFile.cloudSdkCustomFields)
+ && Objects.equals(this.apiVersion, runtimeOrchestrationConfigFile.apiVersion)
+ && Objects.equals(this.kind, runtimeOrchestrationConfigFile.kind)
+ && Objects.equals(this.metadata, runtimeOrchestrationConfigFile.metadata)
+ && Objects.equals(this.spec, runtimeOrchestrationConfigFile.spec);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(apiVersion, kind, metadata, spec, cloudSdkCustomFields);
+ }
+
+ @Override
+ @Nonnull
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("class RuntimeOrchestrationConfigFile {\n");
+ sb.append(" apiVersion: ").append(toIndentedString(apiVersion)).append("\n");
+ sb.append(" kind: ").append(toIndentedString(kind)).append("\n");
+ sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
+ sb.append(" spec: ").append(toIndentedString(spec)).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 new {@link RuntimeOrchestrationConfigFile} instance. No arguments are required. */
+ public static RuntimeOrchestrationConfigFile create() {
+ return new RuntimeOrchestrationConfigFile();
+ }
+}
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/SingleChatTemplate.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/SingleChatTemplate.java
index e42378100..0f15cc5ac 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/SingleChatTemplate.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/model/SingleChatTemplate.java
@@ -25,7 +25,7 @@
/** SingleChatTemplate */
// CHECKSTYLE:OFF
-public class SingleChatTemplate implements Template
+public class SingleChatTemplate implements PromptTemplate
// CHECKSTYLE:ON
{
@JsonProperty("role")
diff --git a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverter.java b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverter.java
index 1d3a6926d..c06f6e666 100644
--- a/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverter.java
+++ b/core-services/prompt-registry/src/main/java/com/sap/ai/sdk/prompt/registry/spring/SpringAiConverter.java
@@ -1,8 +1,8 @@
package com.sap.ai.sdk.prompt.registry.spring;
+import com.sap.ai.sdk.prompt.registry.model.PromptTemplate;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateSubstitutionResponse;
import com.sap.ai.sdk.prompt.registry.model.SingleChatTemplate;
-import com.sap.ai.sdk.prompt.registry.model.Template;
import java.util.List;
import javax.annotation.Nonnull;
import lombok.val;
@@ -33,7 +33,7 @@ public static List promptTemplateToMessages(
// TRANSFORM TEMPLATE TO SPRING AI MESSAGES
return res.stream()
.map(
- (Template t) -> {
+ (PromptTemplate t) -> {
final SingleChatTemplate message = (SingleChatTemplate) t;
return (Message)
switch (message.getRole()) {
diff --git a/core-services/prompt-registry/src/main/resources/spec/prompt-registry.yaml b/core-services/prompt-registry/src/main/resources/spec/prompt-registry.yaml
index a139dba0a..b511b8fbf 100644
--- a/core-services/prompt-registry/src/main/resources/spec/prompt-registry.yaml
+++ b/core-services/prompt-registry/src/main/resources/spec/prompt-registry.yaml
@@ -8,6 +8,8 @@ info:
tags:
- name: prompt templates
description: Tag for prompt templates operations
+ - name: orchestration configs
+ description: Tag for orchestration configs operations
paths:
/lm/promptTemplates:
@@ -314,10 +316,262 @@ paths:
$ref: "#/components/responses/ForbiddenError"
default:
$ref: "#/components/responses/CommonError"
+ /lm/orchestrationConfigs:
+ post:
+ operationId: registry.controller.orchestration_config_controller.create_update_orchestration_config
+ x-sap-cloud-sdk-operation-name: createUpdateOrchestrationConfig
+ description: Create or update an orchestration config
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigPostRequest"
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigPostResponse"
+ 403:
+ $ref: "#/components/responses/ForbiddenError"
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ default:
+ $ref: "#/components/responses/CommonError"
+ get:
+ operationId: registry.controller.orchestration_config_controller.list_orchestration_configs
+ x-sap-cloud-sdk-operation-name: listOrchestrationConfigs
+ description: List orchestration configs
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ - name: scenario
+ in: query
+ schema:
+ type: string
+ - name: name
+ in: query
+ schema:
+ type: string
+ - name: version
+ in: query
+ schema:
+ type: string
+ - name: model_name
+ in: query
+ schema:
+ type: string
+ - name: retrieve
+ in: query
+ schema:
+ type: string
+ default: both
+ enum:
+ - both
+ - imperative
+ - declarative
+ - name: include_spec
+ in: query
+ schema:
+ type: boolean
+ default: false
+ - name: resolve_template_ref
+ in: query
+ schema:
+ type: boolean
+ default: false
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigListResponse"
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ 403:
+ $ref: "#/components/responses/ForbiddenError"
+ default:
+ $ref: "#/components/responses/CommonError"
+ /lm/scenarios/{scenario}/orchestrationConfigs/{name}/versions/{version}/models/{model_name}/history:
+ get:
+ operationId: registry.controller.orchestration_config_controller.list_orchestration_config_history
+ x-sap-cloud-sdk-operation-name: listOrchestrationConfigHistory
+ description: List orchestration config history
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ - name: scenario
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: version
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: name
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: model_name
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: include_spec
+ in: query
+ schema:
+ type: boolean
+ default: false
+ - name: resolve_template_ref
+ in: query
+ schema:
+ type: boolean
+ default: false
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigListResponse"
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ 403:
+ $ref: "#/components/responses/ForbiddenError"
+ default:
+ $ref: "#/components/responses/CommonError"
+ /lm/orchestrationConfigs/{orchestrationConfigId}:
+ get:
+ operationId: registry.controller.orchestration_config_controller.get_orchestration_config_by_uuid
+ x-sap-cloud-sdk-operation-name: getOrchestrationConfigByUuid
+ description: Get orchestration config by UUID
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ - name: orchestrationConfigId
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ - name: resolve_template_ref
+ in: query
+ schema:
+ type: boolean
+ default: false
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigGetResponse"
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ 403:
+ $ref: "#/components/responses/ForbiddenError"
+ default:
+ $ref: "#/components/responses/CommonError"
+ delete:
+ operationId: registry.controller.orchestration_config_controller.delete_orchestration_config
+ x-sap-cloud-sdk-operation-name: deleteOrchestrationConfig
+ description: Delete orchestration config
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ - name: orchestrationConfigId
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigDeleteResponse"
+ 404:
+ $ref: "#/components/responses/NotFound"
+ 403:
+ $ref: "#/components/responses/ForbiddenError"
+ default:
+ $ref: "#/components/responses/CommonError"
+ /lm/orchestrationConfigs/import:
+ post:
+ operationId: registry.controller.orchestration_config_controller.import_orchestration_config
+ x-sap-cloud-sdk-operation-name: importOrchestrationConfig
+ description: Import orchestration config
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ requestBody:
+ content:
+ multipart/form-data:
+ schema:
+ type: object
+ properties:
+ file:
+ type: string
+ format: binary
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/json:
+ schema:
+ $ref: "#/components/schemas/OrchestrationConfigPostResponse"
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ default:
+ $ref: "#/components/responses/CommonError"
+ /lm/orchestrationConfigs/{orchestrationConfigId}/export:
+ get:
+ operationId: registry.controller.orchestration_config_controller.export_orchestration_config
+ x-sap-cloud-sdk-operation-name: exportOrchestrationConfig
+ description: Export orchestration config
+ tags:
+ - orchestration configs
+ parameters:
+ - $ref: "#/components/parameters/ai-resource-group"
+ - name: orchestrationConfigId
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ 200:
+ description: Successful response
+ content:
+ application/octet-stream:
+ schema:
+ type: string
+ format: binary
+ 400:
+ $ref: "#/components/responses/BadRequest"
+ default:
+ $ref: "#/components/responses/CommonError"
components:
schemas:
- Template:
+ PromptTemplate:
oneOf:
- $ref: "#/components/schemas/SingleChatTemplate"
- $ref: "#/components/schemas/MultiChatTemplate"
@@ -391,7 +645,7 @@ components:
template:
type: array
items:
- $ref: "#/components/schemas/Template"
+ $ref: "#/components/schemas/PromptTemplate"
defaults:
type: object
additionalFields:
@@ -657,7 +911,7 @@ components:
parsedPrompt:
type: array
items:
- $ref: "#/components/schemas/Template"
+ $ref: "#/components/schemas/PromptTemplate"
resource:
$ref: "#/components/schemas/PromptTemplateGetResponse"
ErrorResponse:
@@ -670,6 +924,137 @@ components:
type: string
message:
type: string
+ OrchestrationConfigResource:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ version:
+ type: string
+ scenario:
+ type: string
+ creation_timestamp:
+ type: string
+ format: timestamp
+ managed_by:
+ type: string
+ is_version_head:
+ type: boolean
+ resource_group_id:
+ type: string
+ spec:
+ $ref: "llm-orchestration/src/spec/v2.yaml#/components/schemas/OrchestrationConfig"
+ OrchestrationConfigListResponse:
+ type: object
+ required:
+ - count
+ - resources
+ properties:
+ count:
+ type: integer
+ resources:
+ type: array
+ items:
+ $ref: "#/components/schemas/OrchestrationConfigGetResponse"
+ # Orchestration Config Schemas - referencing v2.yaml
+ OrchestrationConfigPostRequest:
+ type: object
+ required:
+ - name
+ - version
+ - scenario
+ - spec
+ properties:
+ name:
+ type: string
+ maxLength: 120
+ pattern: "^[a-zA-Z0-9_-]+$"
+ version:
+ type: string
+ maxLength: 10
+ pattern: "^[a-zA-Z0-9._-]+$"
+ scenario:
+ type: string
+ maxLength: 120
+ pattern: "^[a-zA-Z0-9_-]+$"
+ spec:
+ $ref: "llm-orchestration/src/spec/v2.yaml#/components/schemas/OrchestrationConfig"
+ OrchestrationConfigPostResponse:
+ type: object
+ required:
+ - message
+ - id
+ - scenario
+ - name
+ - version
+ - model_name
+ properties:
+ message:
+ type: string
+ id:
+ type: string
+ format: uuid
+ scenario:
+ type: string
+ name:
+ type: string
+ version:
+ type: string
+ model_name:
+ type: string
+ OrchestrationConfigGetResponse:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ name:
+ type: string
+ version:
+ type: string
+ scenario:
+ type: string
+ model_name:
+ type: string
+ creation_timestamp:
+ type: string
+ format: timestamp
+ managed_by:
+ type: string
+ is_version_head:
+ type: boolean
+ resource_group_id:
+ type: string
+ spec:
+ $ref: "llm-orchestration/src/spec/v2.yaml#/components/schemas/OrchestrationConfig"
+ OrchestrationConfigDeleteResponse:
+ type: object
+ required:
+ - message
+ properties:
+ message:
+ type: string
+ RuntimeOrchestrationConfigFile:
+ type: object
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ properties:
+ name:
+ type: string
+ version:
+ type: string
+ scenario:
+ type: string
+ spec:
+ $ref: "llm-orchestration/src/spec/v2.yaml#/components/schemas/OrchestrationConfig"
responses:
BadRequest:
description: Bad Request
@@ -702,4 +1087,4 @@ components:
description: Specify a resource group id to use
required: false
schema:
- type: string
\ No newline at end of file
+ type: string
diff --git a/docs/release_notes.md b/docs/release_notes.md
index 6d043220b..e6890713b 100644
--- a/docs/release_notes.md
+++ b/docs/release_notes.md
@@ -8,7 +8,7 @@
### 🔧 Compatibility Notes
--
+- [Prompt Registry] `Template` has been renamed to `PromptTemplate`.
### ✨ New Functionality
diff --git a/sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/PromptRegistryTest.java b/sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/PromptRegistryTest.java
index 2854a5a97..e52422d4b 100644
--- a/sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/PromptRegistryTest.java
+++ b/sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/PromptRegistryTest.java
@@ -2,12 +2,12 @@
import static org.assertj.core.api.Assertions.assertThat;
+import com.sap.ai.sdk.prompt.registry.model.PromptTemplate;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateDeleteResponse;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateListResponse;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplatePostResponse;
import com.sap.ai.sdk.prompt.registry.model.PromptTemplateSubstitutionResponse;
import com.sap.ai.sdk.prompt.registry.model.SingleChatTemplate;
-import com.sap.ai.sdk.prompt.registry.model.Template;
import java.io.IOException;
import java.util.List;
import org.junit.jupiter.api.Test;
@@ -34,7 +34,7 @@ void createDeleteTemplate() {
// use template
PromptTemplateSubstitutionResponse template = controller.useTemplate();
- List prompt = template.getParsedPrompt();
+ List prompt = template.getParsedPrompt();
assertThat(prompt).hasSize(2);
SingleChatTemplate userMessage = (SingleChatTemplate) prompt.get(1);
assertThat(userMessage.getRole()).isEqualTo("user");