diff --git a/.changeset/tricky-buses-feel.md b/.changeset/tricky-buses-feel.md new file mode 100644 index 000000000..473b21617 --- /dev/null +++ b/.changeset/tricky-buses-feel.md @@ -0,0 +1,5 @@ +--- +'@sap-ai-sdk/ai-api': minor +--- + +[feat] Update `ai-api` package with the new specification (2509b). diff --git a/packages/ai-api/src/client/AI_CORE_API/execution-api.ts b/packages/ai-api/src/client/AI_CORE_API/execution-api.ts index 2a1f4cfec..ac0676b7a 100644 --- a/packages/ai-api/src/client/AI_CORE_API/execution-api.ts +++ b/packages/ai-api/src/client/AI_CORE_API/execution-api.ts @@ -14,6 +14,13 @@ import type { AiExecutionModificationRequest, AiExecutionModificationResponse, AiExecutionDeletionResponse, + AiExecutionScheduleList, + AiExecutionScheduleCreationData, + AiExecutionScheduleCreationResponse, + AiExecutionSchedule, + AiExecutionScheduleModificationRequest, + AiExecutionScheduleModificationResponse, + AiExecutionScheduleDeletionResponse, RTALogCommonResponse } from './schema/index.js'; /** @@ -162,6 +169,112 @@ export const ExecutionApi = { }, ExecutionApi._defaultBasePath ), + /** + * Retrieve a list of execution schedules that match the specified filter criteria. + * Filter criteria include executionScheduleStatus or a configurationId. + * With top/skip parameters it is possible to paginate the result list. + * + * @param queryParameters - Object containing the following keys: configurationId, status, $top, $skip. + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleQuery: ( + queryParameters: { + configurationId?: string; + status?: 'ACTIVE' | 'INACTIVE'; + $top?: number; + $skip?: number; + }, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'get', + '/lm/executionSchedules', + { + queryParameters, + headerParameters + }, + ExecutionApi._defaultBasePath + ), + /** + * Create an execution schedule using the configuration specified by configurationId, and schedule. + * @param body - Request body. + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleCreate: ( + body: AiExecutionScheduleCreationData, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'post', + '/lm/executionSchedules', + { + body, + headerParameters + }, + ExecutionApi._defaultBasePath + ), + /** + * Retrieve details for execution schedule with executionScheduleId. + * @param executionScheduleId - Execution Schedule identifier + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleGet: ( + executionScheduleId: string, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'get', + '/lm/executionSchedules/{executionScheduleId}', + { + pathParameters: { executionScheduleId }, + headerParameters + }, + ExecutionApi._defaultBasePath + ), + /** + * Update details of an execution schedule + * @param executionScheduleId - Execution Schedule identifier + * @param body - Request body. + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleModify: ( + executionScheduleId: string, + body: AiExecutionScheduleModificationRequest, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'patch', + '/lm/executionSchedules/{executionScheduleId}', + { + pathParameters: { executionScheduleId }, + body, + headerParameters + }, + ExecutionApi._defaultBasePath + ), + /** + * Delete the execution schedule with executionScheduleId. + * @param executionScheduleId - Execution Schedule identifier + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleDelete: ( + executionScheduleId: string, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'delete', + '/lm/executionSchedules/{executionScheduleId}', + { + pathParameters: { executionScheduleId }, + headerParameters + }, + ExecutionApi._defaultBasePath + ), /** * Retrieve the number of available executions. The number can be filtered by * scenarioId, configurationId, executableIdsList or by execution status. @@ -196,6 +309,30 @@ export const ExecutionApi = { }, ExecutionApi._defaultBasePath ), + /** + * Retrieve the number of scheduled executions. The number can be filtered by + * configurationId or executionScheduleStatus. + * + * @param queryParameters - Object containing the following keys: configurationId, status. + * @param headerParameters - Object containing the following keys: AI-Resource-Group. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + executionScheduleCount: ( + queryParameters: { + configurationId?: string; + status?: 'ACTIVE' | 'INACTIVE'; + }, + headerParameters: { 'AI-Resource-Group': string } + ) => + new OpenApiRequestBuilder( + 'get', + '/lm/executionSchedules/$count', + { + queryParameters, + headerParameters + }, + ExecutionApi._defaultBasePath + ), /** * Retrieve logs of an execution for getting insight into the execution results or failures. * @param executionId - Execution identifier diff --git a/packages/ai-api/src/client/AI_CORE_API/execution-schedule-api.ts b/packages/ai-api/src/client/AI_CORE_API/execution-schedule-api.ts deleted file mode 100644 index 63a8f1212..000000000 --- a/packages/ai-api/src/client/AI_CORE_API/execution-schedule-api.ts +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. - * - * This is a generated file powered by the SAP Cloud SDK for JavaScript. - */ -import { OpenApiRequestBuilder } from '@sap-ai-sdk/core'; -import type { - AiExecutionScheduleList, - AiExecutionScheduleCreationData, - AiExecutionScheduleCreationResponse, - AiExecutionSchedule, - AiExecutionScheduleModificationRequest, - AiExecutionScheduleModificationResponse, - AiExecutionScheduleDeletionResponse -} from './schema/index.js'; -/** - * Representation of the 'ExecutionScheduleApi'. - * This API is part of the 'AI_CORE_API' service. - */ -export const ExecutionScheduleApi = { - _defaultBasePath: undefined, - /** - * Retrieve a list of execution schedules that match the specified filter criteria. - * Filter criteria include executionScheduleStatus or a configurationId. - * With top/skip parameters it is possible to paginate the result list. - * - * @param queryParameters - Object containing the following keys: configurationId, status, $top, $skip. - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleQuery: ( - queryParameters: { - configurationId?: string; - status?: 'ACTIVE' | 'INACTIVE'; - $top?: number; - $skip?: number; - }, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'get', - '/lm/executionSchedules', - { - queryParameters, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ), - /** - * Create an execution schedule using the configuration specified by configurationId, and schedule. - * @param body - Request body. - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleCreate: ( - body: AiExecutionScheduleCreationData, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'post', - '/lm/executionSchedules', - { - body, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ), - /** - * Retrieve details for execution schedule with executionScheduleId. - * @param executionScheduleId - Execution Schedule identifier - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleGet: ( - executionScheduleId: string, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'get', - '/lm/executionSchedules/{executionScheduleId}', - { - pathParameters: { executionScheduleId }, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ), - /** - * Update details of an execution schedule - * @param executionScheduleId - Execution Schedule identifier - * @param body - Request body. - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleModify: ( - executionScheduleId: string, - body: AiExecutionScheduleModificationRequest, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'patch', - '/lm/executionSchedules/{executionScheduleId}', - { - pathParameters: { executionScheduleId }, - body, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ), - /** - * Delete the execution schedule with executionScheduleId. - * @param executionScheduleId - Execution Schedule identifier - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleDelete: ( - executionScheduleId: string, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'delete', - '/lm/executionSchedules/{executionScheduleId}', - { - pathParameters: { executionScheduleId }, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ), - /** - * Retrieve the number of scheduled executions. The number can be filtered by - * configurationId or executionScheduleStatus. - * - * @param queryParameters - Object containing the following keys: configurationId, status. - * @param headerParameters - Object containing the following keys: AI-Resource-Group. - * @returns The request builder, use the `execute()` method to trigger the request. - */ - executionScheduleCount: ( - queryParameters: { - configurationId?: string; - status?: 'ACTIVE' | 'INACTIVE'; - }, - headerParameters: { 'AI-Resource-Group': string } - ) => - new OpenApiRequestBuilder( - 'get', - '/lm/executionSchedules/$count', - { - queryParameters, - headerParameters - }, - ExecutionScheduleApi._defaultBasePath - ) -}; diff --git a/packages/ai-api/src/client/AI_CORE_API/index.ts b/packages/ai-api/src/client/AI_CORE_API/index.ts index 03759b960..444a62eba 100644 --- a/packages/ai-api/src/client/AI_CORE_API/index.ts +++ b/packages/ai-api/src/client/AI_CORE_API/index.ts @@ -7,7 +7,6 @@ export * from './artifact-api.js'; export * from './configuration-api.js'; export * from './deployment-api.js'; export * from './execution-api.js'; -export * from './execution-schedule-api.js'; export * from './scenario-api.js'; export * from './executable-api.js'; export * from './meta-api.js'; diff --git a/packages/ai-api/src/client/AI_CORE_API/resource-api.ts b/packages/ai-api/src/client/AI_CORE_API/resource-api.ts index 7d9550908..110f7291c 100644 --- a/packages/ai-api/src/client/AI_CORE_API/resource-api.ts +++ b/packages/ai-api/src/client/AI_CORE_API/resource-api.ts @@ -7,7 +7,8 @@ import { OpenApiRequestBuilder } from '@sap-ai-sdk/core'; import type { BckndResourceGetResponse, BckndResourcePatchBody, - BckndResourcePatchResponse + BckndResourcePatchResponse, + BckndInstanceTypeGetResponse } from './schema/index.js'; /** * Representation of the 'ResourceApi'. @@ -47,5 +48,21 @@ export const ResourceApi = { headerParameters }, ResourceApi._defaultBasePath + ), + /** + * Lists all the instance types available in the cluster. + * @param headerParameters - Object containing the following keys: Authorization. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + kubesubmitV4InstanceTypesGet: (headerParameters?: { + Authorization?: string; + }) => + new OpenApiRequestBuilder( + 'get', + '/admin/resources/instanceTypes', + { + headerParameters + }, + ResourceApi._defaultBasePath ) }; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-details.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-details.ts index 5188c6841..63786fcc5 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-details.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-details.ts @@ -3,7 +3,7 @@ * * This is a generated file powered by the SAP Cloud SDK for JavaScript. */ - +import type { BckndGenericSecretLabels } from './bcknd-generic-secret-labels.js'; /** * Representation of the 'BckndGenericSecretDetails' schema. */ @@ -16,6 +16,7 @@ export type BckndGenericSecretDetails = { * Timestamp at which secret was created */ createdAt: string; + labels?: BckndGenericSecretLabels; /** * Sync status of the replicated secrets in all resource groups of the tenant */ diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-patch-body.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-patch-body.ts index 2b85222a9..aedae3744 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-patch-body.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-generic-secret-patch-body.ts @@ -4,9 +4,11 @@ * This is a generated file powered by the SAP Cloud SDK for JavaScript. */ import type { BckndGenericSecretData } from './bcknd-generic-secret-data.js'; +import type { BckndGenericSecretLabels } from './bcknd-generic-secret-labels.js'; /** * Representation of the 'BckndGenericSecretPatchBody' schema. */ export type BckndGenericSecretPatchBody = { data: BckndGenericSecretData; + labels?: BckndGenericSecretLabels; } & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type-get-response.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type-get-response.ts new file mode 100644 index 000000000..11bc5130f --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type-get-response.ts @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. + * + * This is a generated file powered by the SAP Cloud SDK for JavaScript. + */ +import type { BckndInstanceType } from './bcknd-instance-type.js'; +/** + * Representation of the 'BckndInstanceTypeGetResponse' schema. + */ +export type BckndInstanceTypeGetResponse = { + instanceTypes: BckndInstanceType; +} & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type.ts new file mode 100644 index 000000000..80d794679 --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-instance-type.ts @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. + * + * This is a generated file powered by the SAP Cloud SDK for JavaScript. + */ + +/** + * Representation of the 'BckndInstanceType' schema. + */ +export type BckndInstanceType = Record< + string, + { + /** + * Memory allocated for the instance type (e.g., "16Gi") + */ + memory: string; + /** + * Number of CPU cores allocated for the instance type + */ + cpu: number; + /** + * Number of GPUs allocated for the instance type + */ + gpu: number; + /** + * Number of billable units per hour for the instance type + */ + billableUnitsPerHour: number; + } & Record +>; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-service-capabilities.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-service-capabilities.ts index 93e68e9e9..ec4b4b15b 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-service-capabilities.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-service-capabilities.ts @@ -31,6 +31,10 @@ export type BckndServiceCapabilities = { * Services that only support deployment typically neither allow create executions. For these, createExecutions == false */ createExecutions?: boolean; + /** + * Services that only support create, read and delete of prompt templates + */ + userPromptTemplates?: boolean; /** * true-> AI API implementation supports resource groups (Main Tenant scenario), false-> implementation does not support resource groups (Service Tenant scenario) */ diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/index.ts b/packages/ai-api/src/client/AI_CORE_API/schema/index.ts index b2e5e85f0..63663263a 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/index.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/index.ts @@ -9,32 +9,15 @@ export * from './meta-ai-api.js'; export * from './meta-version.js'; export * from './meta-api-version.js'; export * from './meta-api-error.js'; -export * from './trck-get-metric-resource.js'; -export * from './trck-metric-resource.js'; -export * from './trck-get-metric-resource-list.js'; -export * from './trck-delete-metrics-response.js'; -export * from './trck-execution-id.js'; -export * from './trck-timestamp.js'; -export * from './trck-get-metric-list.js'; -export * from './trck-metric-list.js'; -export * from './trck-get-metric.js'; -export * from './trck-metric.js'; -export * from './trck-metric-name.js'; -export * from './trck-metric-value.js'; -export * from './trckmetric-selector-permissible-values.js'; -export * from './trck-label-list.js'; -export * from './trck-label.js'; -export * from './trck-tag-list.js'; -export * from './trck-tag.js'; -export * from './trck-custom-info-object-list.js'; -export * from './trck-custom-info-object.js'; -export * from './trck-custom-info-object-data.js'; -export * from './trck-mlapi-execution-id.js'; -export * from './trck-generic-name.js'; -export * from './trck-label-name.js'; -export * from './trck-api-error.js'; -export * from './trck-details-error-response.js'; -export * from './trck-string-array.js'; +export * from './kpi-column-name.js'; +export * from './kpi-array-of-column-names.js'; +export * from './kpi-aggregation-attribute.js'; +export * from './kpi-count-aggregate.js'; +export * from './kpi-result-row.js'; +export * from './kpi-result-row-item.js'; +export * from './kpi-result-row-list.js'; +export * from './kpi-result-set.js'; +export * from './kpi-api-error.js'; export * from './rta-id.js'; export * from './rta-ttl.js'; export * from './rta-label-list.js'; @@ -88,6 +71,138 @@ export * from './rt-atimestamp.js'; export * from './rt-amessage.js'; export * from './rta-error-response.js'; export * from './rta-error.js'; +export * from './d-set-url.js'; +export * from './d-set-error.js'; +export * from './d-set-file-creation-response.js'; +export * from './trck-get-metric-resource.js'; +export * from './trck-metric-resource.js'; +export * from './trck-get-metric-resource-list.js'; +export * from './trck-delete-metrics-response.js'; +export * from './trck-execution-id.js'; +export * from './trck-timestamp.js'; +export * from './trck-get-metric-list.js'; +export * from './trck-metric-list.js'; +export * from './trck-get-metric.js'; +export * from './trck-metric.js'; +export * from './trck-metric-name.js'; +export * from './trck-metric-value.js'; +export * from './trckmetric-selector-permissible-values.js'; +export * from './trck-label-list.js'; +export * from './trck-label.js'; +export * from './trck-tag-list.js'; +export * from './trck-tag.js'; +export * from './trck-custom-info-object-list.js'; +export * from './trck-custom-info-object.js'; +export * from './trck-custom-info-object-data.js'; +export * from './trck-mlapi-execution-id.js'; +export * from './trck-generic-name.js'; +export * from './trck-label-name.js'; +export * from './trck-api-error.js'; +export * from './trck-details-error-response.js'; +export * from './trck-string-array.js'; +export * from './bcknd-id.js'; +export * from './bcknd-message.js'; +export * from './bcknd-name.js'; +export * from './bcknd-creation-response-message.js'; +export * from './bcknd-url.js'; +export * from './bcknd-resource-group-list.js'; +export * from './bcknd-resource-group-base.js'; +export * from './bcknd-resource-group.js'; +export * from './bcknd-internal-resource-group.js'; +export * from './bcknd-resource-groups-post-request.js'; +export * from './bcknd-resource-group-labels.js'; +export * from './bcknd-resource-group-label.js'; +export * from './bcknd-internal-resource-group-labels.js'; +export * from './bcknd-internal-resource-group-label.js'; +export * from './bcknd-internal-resource-group-annotations.js'; +export * from './bcknd-internal-resource-group-annotation.js'; +export * from './bcknd-resource-group-deletion-response.js'; +export * from './bcknd-resource-group-deletion-response-message.js'; +export * from './bcknd-resource-group-patch-request.js'; +export * from './bcknd-event.js'; +export * from './bcknd-tenant.js'; +export * from './bckndobject-store-secret-with-sensitive-data-request.js'; +export * from './bckndobject-store-secret-with-sensitive-data-request-for-post-call.js'; +export * from './bckndobject-store-secret-status-response.js'; +export * from './bckndobject-store-secret-status.js'; +export * from './bckndobject-store-secret-deletion-response.js'; +export * from './bckndobject-store-secret-deletion-response-message.js'; +export * from './bckndobject-store-secret-creation-response.js'; +export * from './bckndobject-store-secret-creation-response-message.js'; +export * from './bckndobject-store-secret-modification-response-message.js'; +export * from './bckndobject-store-secret-modification-response.js'; +export * from './bcknddocker-registry-name-component.js'; +export * from './bcknddocker-registry-secret-with-sensitive-data-request.js'; +export * from './bcknddocker-registry-secret-status-response.js'; +export * from './bcknddocker-registry-secret-status.js'; +export * from './bcknddocker-registry-secret-deletion-response.js'; +export * from './bcknddocker-registry-secret-deletion-response-message.js'; +export * from './bcknddocker-registry-secret-creation-response.js'; +export * from './bcknddocker-registry-secret-creation-response-message.js'; +export * from './bcknddocker-registry-secret-modification-response-message.js'; +export * from './bcknddocker-registry-secret-modification-response.js'; +export * from './bcknd-generic-secret-data.js'; +export * from './bcknd-generic-secret-post-body.js'; +export * from './bcknd-generic-secret-patch-body.js'; +export * from './bcknd-generic-secret-data-response.js'; +export * from './bcknd-generic-secret-details.js'; +export * from './bcknd-list-generic-secrets-response.js'; +export * from './bcknd-generic-secret-labels.js'; +export * from './bcknd-generic-secret-label.js'; +export * from './bcknd-argo-cd-repository-data.js'; +export * from './bcknd-argo-cd-repository-credentials.js'; +export * from './bcknd-argo-cd-repository-data-response.js'; +export * from './bcknd-argo-cd-repository-creation-response.js'; +export * from './bcknd-argo-cd-repository-creation-response-message.js'; +export * from './bcknd-argo-cd-repository-details.js'; +export * from './bcknd-argo-cd-repository-deletion-response.js'; +export * from './bcknd-argo-cd-repository-deletion-response-message.js'; +export * from './bcknd-argo-cd-repository-modification-response.js'; +export * from './bcknd-argo-cd-repository-modification-response-message.js'; +export * from './bcknd-argo-cd-application-base-data.js'; +export * from './bcknd-argo-cd-application-data.js'; +export * from './bcknd-all-argo-cd-application-data.js'; +export * from './bcknd-argo-cd-application-data-repo-name.js'; +export * from './bcknd-argo-cd-application-status.js'; +export * from './bcknd-argo-cd-application-deletion-response.js'; +export * from './bcknd-argo-cd-application-deletion-response-message.js'; +export * from './bcknd-argo-cd-application-creation-response.js'; +export * from './bcknd-argo-cd-application-creation-response-message.js'; +export * from './bcknd-argo-cd-application-modification-response.js'; +export * from './bcknd-argo-cd-application-modification-response-message.js'; +export * from './bcknd-argo-cd-application-refresh-response.js'; +export * from './bcknd-argo-cd-application-refresh-response-message.js'; +export * from './bcknd-service-list.js'; +export * from './bcknd-service.js'; +export * from './bcknd-extended-service.js'; +export * from './bcknd-service-broker-secret.js'; +export * from './bcknd-service-capabilities.js'; +export * from './bcknd-service-service-catalog.js'; +export * from './bcknd-service-service-catalog-item.js'; +export * from './bcknd-service-service-catalog-item-extend-catalog.js'; +export * from './bcknd-service-service-plan-item.js'; +export * from './bcknd-service-service-plan-item-metadata.js'; +export * from './bcknd-service-service-catalog-item-extend-credentials.js'; +export * from './bcknd-shared-resource-group-status.js'; +export * from './bcknd-deployment-resource-quota-response.js'; +export * from './bcknd-deployment-usage.js'; +export * from './bcknd-usage-resource-plan-item.js'; +export * from './bcknd-deployment-quota-item.js'; +export * from './bcknd-deployment-quota.js'; +export * from './bcknd-common-resource-quota-response.js'; +export * from './bcknd-executable-resource-quota-response.js'; +export * from './bcknd-resource-patch-body.js'; +export * from './bcknd-resource-patch-resource-plans.js'; +export * from './bcknd-resource-patch-nodes.js'; +export * from './bcknd-resource-patch-response.js'; +export * from './bcknd-resource-get-response.js'; +export * from './bcknd-instance-type-get-response.js'; +export * from './bcknd-resource-get-resource-plans.js'; +export * from './bcknd-instance-type.js'; +export * from './bcknd-error-response.js'; +export * from './bcknd-error.js'; +export * from './tnt-tenant-info.js'; +export * from './tnt-api-error.js'; export * from './ai-scenario.js'; export * from './ai-scenario-label-list.js'; export * from './ai-label-list.js'; @@ -202,116 +317,3 @@ export * from './ai-creation-response-message.js'; export * from './ai-url.js'; export * from './ai-api-error-with-id.js'; export * from './ai-api-error.js'; -export * from './tnt-tenant-info.js'; -export * from './tnt-api-error.js'; -export * from './kpi-column-name.js'; -export * from './kpi-array-of-column-names.js'; -export * from './kpi-aggregation-attribute.js'; -export * from './kpi-count-aggregate.js'; -export * from './kpi-result-row.js'; -export * from './kpi-result-row-item.js'; -export * from './kpi-result-row-list.js'; -export * from './kpi-result-set.js'; -export * from './kpi-api-error.js'; -export * from './d-set-url.js'; -export * from './d-set-error.js'; -export * from './d-set-file-creation-response.js'; -export * from './bcknd-id.js'; -export * from './bcknd-message.js'; -export * from './bcknd-name.js'; -export * from './bcknd-creation-response-message.js'; -export * from './bcknd-url.js'; -export * from './bcknd-resource-group-list.js'; -export * from './bcknd-resource-group-base.js'; -export * from './bcknd-resource-group.js'; -export * from './bcknd-internal-resource-group.js'; -export * from './bcknd-resource-groups-post-request.js'; -export * from './bcknd-resource-group-labels.js'; -export * from './bcknd-resource-group-label.js'; -export * from './bcknd-internal-resource-group-labels.js'; -export * from './bcknd-internal-resource-group-label.js'; -export * from './bcknd-internal-resource-group-annotations.js'; -export * from './bcknd-internal-resource-group-annotation.js'; -export * from './bcknd-resource-group-deletion-response.js'; -export * from './bcknd-resource-group-deletion-response-message.js'; -export * from './bcknd-resource-group-patch-request.js'; -export * from './bcknd-event.js'; -export * from './bcknd-tenant.js'; -export * from './bckndobject-store-secret-with-sensitive-data-request.js'; -export * from './bckndobject-store-secret-with-sensitive-data-request-for-post-call.js'; -export * from './bckndobject-store-secret-status-response.js'; -export * from './bckndobject-store-secret-status.js'; -export * from './bckndobject-store-secret-deletion-response.js'; -export * from './bckndobject-store-secret-deletion-response-message.js'; -export * from './bckndobject-store-secret-creation-response.js'; -export * from './bckndobject-store-secret-creation-response-message.js'; -export * from './bckndobject-store-secret-modification-response-message.js'; -export * from './bckndobject-store-secret-modification-response.js'; -export * from './bcknddocker-registry-name-component.js'; -export * from './bcknddocker-registry-secret-with-sensitive-data-request.js'; -export * from './bcknddocker-registry-secret-status-response.js'; -export * from './bcknddocker-registry-secret-status.js'; -export * from './bcknddocker-registry-secret-deletion-response.js'; -export * from './bcknddocker-registry-secret-deletion-response-message.js'; -export * from './bcknddocker-registry-secret-creation-response.js'; -export * from './bcknddocker-registry-secret-creation-response-message.js'; -export * from './bcknddocker-registry-secret-modification-response-message.js'; -export * from './bcknddocker-registry-secret-modification-response.js'; -export * from './bcknd-generic-secret-data.js'; -export * from './bcknd-generic-secret-post-body.js'; -export * from './bcknd-generic-secret-patch-body.js'; -export * from './bcknd-generic-secret-data-response.js'; -export * from './bcknd-generic-secret-details.js'; -export * from './bcknd-list-generic-secrets-response.js'; -export * from './bcknd-generic-secret-labels.js'; -export * from './bcknd-generic-secret-label.js'; -export * from './bcknd-argo-cd-repository-data.js'; -export * from './bcknd-argo-cd-repository-credentials.js'; -export * from './bcknd-argo-cd-repository-data-response.js'; -export * from './bcknd-argo-cd-repository-creation-response.js'; -export * from './bcknd-argo-cd-repository-creation-response-message.js'; -export * from './bcknd-argo-cd-repository-details.js'; -export * from './bcknd-argo-cd-repository-deletion-response.js'; -export * from './bcknd-argo-cd-repository-deletion-response-message.js'; -export * from './bcknd-argo-cd-repository-modification-response.js'; -export * from './bcknd-argo-cd-repository-modification-response-message.js'; -export * from './bcknd-argo-cd-application-base-data.js'; -export * from './bcknd-argo-cd-application-data.js'; -export * from './bcknd-all-argo-cd-application-data.js'; -export * from './bcknd-argo-cd-application-data-repo-name.js'; -export * from './bcknd-argo-cd-application-status.js'; -export * from './bcknd-argo-cd-application-deletion-response.js'; -export * from './bcknd-argo-cd-application-deletion-response-message.js'; -export * from './bcknd-argo-cd-application-creation-response.js'; -export * from './bcknd-argo-cd-application-creation-response-message.js'; -export * from './bcknd-argo-cd-application-modification-response.js'; -export * from './bcknd-argo-cd-application-modification-response-message.js'; -export * from './bcknd-argo-cd-application-refresh-response.js'; -export * from './bcknd-argo-cd-application-refresh-response-message.js'; -export * from './bcknd-service-list.js'; -export * from './bcknd-service.js'; -export * from './bcknd-extended-service.js'; -export * from './bcknd-service-broker-secret.js'; -export * from './bcknd-service-capabilities.js'; -export * from './bcknd-service-service-catalog.js'; -export * from './bcknd-service-service-catalog-item.js'; -export * from './bcknd-service-service-catalog-item-extend-catalog.js'; -export * from './bcknd-service-service-plan-item.js'; -export * from './bcknd-service-service-plan-item-metadata.js'; -export * from './bcknd-service-service-catalog-item-extend-credentials.js'; -export * from './bcknd-shared-resource-group-status.js'; -export * from './bcknd-deployment-resource-quota-response.js'; -export * from './bcknd-deployment-usage.js'; -export * from './bcknd-usage-resource-plan-item.js'; -export * from './bcknd-deployment-quota-item.js'; -export * from './bcknd-deployment-quota.js'; -export * from './bcknd-common-resource-quota-response.js'; -export * from './bcknd-executable-resource-quota-response.js'; -export * from './bcknd-resource-patch-body.js'; -export * from './bcknd-resource-patch-resource-plans.js'; -export * from './bcknd-resource-patch-nodes.js'; -export * from './bcknd-resource-patch-response.js'; -export * from './bcknd-resource-get-response.js'; -export * from './bcknd-resource-get-resource-plans.js'; -export * from './bcknd-error-response.js'; -export * from './bcknd-error.js'; diff --git a/packages/ai-api/src/spec/AI_CORE_API.yaml b/packages/ai-api/src/spec/AI_CORE_API.yaml index d2c302244..8b1ec2d2e 100644 --- a/packages/ai-api/src/spec/AI_CORE_API.yaml +++ b/packages/ai-api/src/spec/AI_CORE_API.yaml @@ -9,7 +9,7 @@ info: with high performance. Register your own Docker registry, synchronize your AI content from your own git repository, and register your own object store for training data and trained models.\n" - version: 2.40.1 + version: 2.41.0 x-sap-shortText: Create and manage AI scenarios, trainings, deployments, and artifacts in SAP AI Core. @@ -61,7 +61,7 @@ tags: description: Access to tenant information - name: Meta description: Metadata about API provider and capabilities - - name: Execution Schedule + - name: Execution description: Access to executionSchedules paths: /lm/artifacts: @@ -573,7 +573,7 @@ paths: - $ref: '#/components/parameters/AiresourceGroupHeader' get: tags: - - Execution Schedule + - Execution summary: Get list of execution schedules description: 'Retrieve a list of execution schedules that match the specified @@ -601,7 +601,7 @@ paths: $ref: '#/components/responses/AiBadRequest' post: tags: - - Execution Schedule + - Execution summary: Create execution schedule description: Create an execution schedule using the configuration specified @@ -633,7 +633,7 @@ paths: - $ref: '#/components/parameters/AiexecutionScheduleId' get: tags: - - Execution Schedule + - Execution summary: Get information about an execution schedule description: Retrieve details for execution schedule with executionScheduleId. operationId: execution_schedule.get @@ -650,7 +650,7 @@ paths: $ref: '#/components/responses/AiNotFound' patch: tags: - - Execution Schedule + - Execution summary: Update an execution schedule description: Update details of an execution schedule operationId: execution_schedule.modify @@ -673,7 +673,7 @@ paths: $ref: '#/components/responses/AiNotFound' delete: tags: - - Execution Schedule + - Execution summary: Delete execution schedule description: Delete the execution schedule with executionScheduleId. operationId: execution_schedule.delete @@ -948,7 +948,7 @@ paths: /lm/executionSchedules/$count: get: tags: - - Execution Schedule + - Execution summary: Get number of execution schedules description: 'Retrieve the number of scheduled executions. The number can be @@ -1731,6 +1731,26 @@ paths: $ref: '#/components/responses/BckndBadRequest' default: $ref: '#/components/responses/BckndCommonError' + /admin/resources/instanceTypes: + get: + tags: + - Resource + summary: Get list of available instance types + description: Lists all the instance types available in the cluster. + operationId: kubesubmit.v4.instance_types.get + parameters: + - $ref: '#/components/parameters/BckndtokenHeader' + responses: + '200': + description: List of available instance types + content: + application/json: + schema: + $ref: '#/components/schemas/BckndInstanceTypeGetResponse' + '400': + $ref: '#/components/responses/BckndBadRequest' + default: + $ref: '#/components/responses/BckndCommonError' /lm/executions/{executionId}/logs: get: tags: @@ -2494,7 +2514,7 @@ components: can be requested from SAP BTP cloud cockpit. flows: clientCredentials: - tokenUrl: https://(subdomain_identity_zone).authentication.(host)/oauth/token + tokenUrl: https://{subdomain_identity_zone}.authentication.{host}/oauth/token scopes: {} schemas: MetaCapabilities: @@ -2731,357 +2751,149 @@ components: details: description: Optional details of the error message type: object - TrckGetMetricResource: - description: - Collection of various metrics/tags/labels associated against some - execution/deployment - type: object - properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - createdAt: - $ref: '#/components/schemas/TrckTimestamp' - modifiedAt: - $ref: '#/components/schemas/TrckTimestamp' - metrics: - $ref: '#/components/schemas/TrckGetMetricList' - tags: - $ref: '#/components/schemas/TrckTagList' - customInfo: - $ref: '#/components/schemas/TrckCustomInfoObjectList' - required: - - executionId - TrckMetricResource: - description: - Collection of various metrics/tags/labels associated against some - execution/deployment - required: - - executionId + KpiColumnName: + readOnly: true + type: string + description: Name of the Column + anyOf: + - enum: + - ResourceGroup + - Scenario + - Executable + - Executions + - Artifacts + - Deployments + - {} + KpiArrayOfColumnNames: + uniqueItems: true + type: array + readOnly: true + items: + $ref: '#/components/schemas/KpiColumnName' + KpiAggregationAttribute: + type: string + title: Aggregation Attribute + readOnly: true + KpiCountAggregate: + type: integer + title: CountAggregate + format: int64 + minimum: 0 + x-examples: {} + readOnly: true + KpiResultRow: + type: array + title: ResultRow + uniqueItems: false + x-examples: {} + description: '' + items: + $ref: '#/components/schemas/KpiResultRowItem' + readOnly: true + KpiResultRowItem: + title: ResultRowItem + anyOf: + - $ref: '#/components/schemas/KpiAggregationAttribute' + - $ref: '#/components/schemas/KpiCountAggregate' + x-examples: {} + KpiResultRowList: + title: ResultRowList + type: array + items: + $ref: '#/components/schemas/KpiResultRow' + KpiResultSet: type: object + title: ResultSet + x-examples: + example-1: + header: + - ResourceGroup + - Executions + - Artifacts + - Deployments + rows: + - - 00112233-4455-6677-8899-aabbccddeeff + - 30 + - 30 + - 3 + additionalProperties: false + minProperties: 2 + maxProperties: 2 properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - createdAt: - $ref: '#/components/schemas/TrckTimestamp' - modifiedAt: - $ref: '#/components/schemas/TrckTimestamp' - metrics: - $ref: '#/components/schemas/TrckMetricList' - tags: - $ref: '#/components/schemas/TrckTagList' - customInfo: - $ref: '#/components/schemas/TrckCustomInfoObjectList' - TrckGetMetricResourceList: + header: + $ref: '#/components/schemas/KpiArrayOfColumnNames' + rows: + $ref: '#/components/schemas/KpiResultRowList' + readOnly: true + KpiApiError: type: object required: - - resources - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/TrckGetMetricResource' - TrckDeleteMetricsResponse: - type: object + - code + - message properties: - id: - $ref: '#/components/schemas/TrckExecutionId' + code: + type: string + description: Descriptive error code (not http status code) message: type: string - example: Metric Resource was successfully deleted - TrckExecutionId: + description: Plaintext error description + requestId: + type: string + description: ID of the individual request + target: + type: string + description: Invoked URL + details: + description: Optional details of the error message + type: object + RTAId: type: string - example: aa97b177-9383-4934-8543-0f91b7a0283a - oneOf: - - $ref: '#/components/schemas/TrckMlapiExecutionId' - description: ID of the deployment/execution - TrckTimestamp: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + RTATtl: type: string - description: Time when the metric was created or logged in RFC3339 format - format: date-time - TrckGetMetricList: - description: Array of Metric items + pattern: ^[0-9]+[m,M,h,H,d,D]$ + example: 24H + description: TTL value of deployment + RTALabelList: type: array + description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/TrckGetMetric' - TrckMetricList: - description: Array of Metric items + $ref: '#/components/schemas/RTALabel' + RTAArtifactLabelList: type: array + description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/TrckMetric' - TrckGetMetric: - description: - Key-value metrics, where the value is numeric. Metric can also - have optional step and label fields. + $ref: '#/components/schemas/RTAArtifactLabel' + RTALabel: type: object required: - - name + - key - value - - timestamp properties: - name: - $ref: '#/components/schemas/TrckMetricName' + key: + type: string + example: ai.sap.com/scenarioName + pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*ai\.sap\.com\/[\w\.-]+$ value: - $ref: '#/components/schemas/TrckMetricValue' - timestamp: - $ref: '#/components/schemas/TrckTimestamp' - step: - description: - step is an optional integer that represents any measurement - of training progress (number of training iterations, number of epochs, - and so on) for the metric - type: integer - minimum: 0 - example: 2 - labels: - $ref: '#/components/schemas/TrckLabelList' - TrckMetric: - description: - Key-value metrics, where the value is numeric. Metric can also - have optional step and label fields. + type: string + maxLength: 5000 + RTAArtifactLabel: + type: object required: - - name + - key - value - type: object properties: - name: - $ref: '#/components/schemas/TrckMetricName' + key: + type: string + example: ext.ai.sap.com/s4hana-version + pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ + maxLength: 256 value: - $ref: '#/components/schemas/TrckMetricValue' - timestamp: - $ref: '#/components/schemas/TrckTimestamp' - step: - description: - step is an optional integer that represents any measurement - of training progress (number of training iterations, number of epochs, - and so on) for the metric - type: integer - minimum: 0 - example: 2 - labels: - $ref: '#/components/schemas/TrckLabelList' - TrckMetricName: - pattern: '[\w-]{1,64}' - type: string - maxLength: 256 - description: Name of the metric - example: Error Rate - TrckMetricValue: - type: number - description: Numeric Value of the metric - example: 0.98 - TrckmetricSelectorPermissibleValues: - description: - Permissible value for $select could be either * or one or many - of the values from metrics, tags, custominfo - type: array - items: - type: string - enum: - - metrics - - tags - - customInfo - - '*' - TrckLabelList: - description: a list of name-value object pairs associated with some metric. - type: array - items: - $ref: '#/components/schemas/TrckLabel' - example: - - name: group - value: tree-82 - - name: metrics.ai.sap.com/Artifact.name - value: sk_learn_rf_classifier_model - TrckLabel: - description: a classifying phrase/name applied to a metric - required: - - name - - value - type: object - properties: - name: - $ref: '#/components/schemas/TrckLabelName' - value: - description: Metric Label Value - maxLength: 256 - minLength: 1 - type: string - example: sk_learn_random_forest_model - example: - name: group - value: tree-82 - TrckTagList: - description: - a list of name-value object pairs associated with the execution/deployment. - Tags are queryable. - type: array - items: - $ref: '#/components/schemas/TrckTag' - TrckTag: - description: - A dictionary of name-value pairs to support segregation at execution - level. - required: - - name - - value - type: object - properties: - name: - oneOf: - - $ref: '#/components/schemas/TrckGenericName' - value: - description: tag value - maxLength: 256 - minLength: 1 - type: string - example: RFC-1 - example: - name: Artifact Group - value: RFC-1 - TrckCustomInfoObjectList: - description: '' - type: array - items: - $ref: '#/components/schemas/TrckCustomInfoObject' - TrckCustomInfoObject: - description: - large object which provides rendering/semantic information regarding - certain metric for consuming application or can be complex metrics in JSON - format - required: - - name - - value - type: object - properties: - name: - oneOf: - - $ref: '#/components/schemas/TrckGenericName' - value: - $ref: '#/components/schemas/TrckCustomInfoObjectData' - example: - name: Confusion Matrix - value: - "[{'Predicted': 'False', 'Actual': 'False','value': 34},{'Predicted': - 'False','Actual': 'True', 'value': 124}, {'Predicted': 'True','Actual': - 'False','value': 165},{ 'Predicted': 'True','Actual': 'True','value': - 36}]" - TrckCustomInfoObjectData: - description: Message - minLength: 1 - type: string - example: - "[{'Predicted': 'False',\t'Actual': 'False','value': 34},{'Predicted': - 'False','Actual': 'True',\t'value': 124}, {'Predicted': 'True','Actual': 'False','value': - 165},{\t'Predicted': 'True','Actual': 'True','value': 36}]" - TrckMlapiExecutionId: - description: Generic ID - pattern: ^[\w.-]{4,64}$ - type: string - example: aa97b177-9383-4934-8543-0f91b7a0283a - TrckGenericName: - description: - Generic name which can belong to a tag,label,metric or customInfo - Object - maxLength: 256 - minLength: 1 - type: string - example: sample name - TrckLabelName: - description: - Label name to label one or more metrics. "metrics.ai.sap.com/Artifact.name" - is a reserved label to associate an artifact with the metrics - maxLength: 256 - minLength: 1 - type: string - example: metrics.ai.sap.com/Artifact.name - TrckApiError: - required: - - code - - message - type: object - properties: - code: - description: Descriptive error code (not http status code). - type: string - message: - description: plaintext error description - type: string - requestId: - description: id of individual request - type: string - target: - description: url that has been called - type: string - details: - type: array - items: - $ref: '#/components/schemas/TrckDetailsErrorResponse' - TrckDetailsErrorResponse: - type: object - properties: - code: - description: Descriptive error code (not http status code) - type: string - message: - description: Plaintext error description - type: string - TrckStringArray: - type: array - example: - - value1 - - value2 - items: - type: string - RTAId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - RTATtl: - type: string - pattern: ^[0-9]+[m,M,h,H,d,D]$ - example: 24H - description: TTL value of deployment - RTALabelList: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/RTALabel' - RTAArtifactLabelList: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/RTAArtifactLabel' - RTALabel: - type: object - required: - - key - - value - properties: - key: - type: string - example: ai.sap.com/scenarioName - pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*ai\.sap\.com\/[\w\.-]+$ - value: - type: string - maxLength: 5000 - RTAArtifactLabel: - type: object - required: - - key - - value - properties: - key: - type: string - example: ext.ai.sap.com/s4hana-version - pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ - maxLength: 256 - value: - type: string - maxLength: 5000 - RTACreationResponseMessage: + type: string + maxLength: 5000 + RTACreationResponseMessage: type: string description: Message example: Created @@ -3673,103 +3485,109 @@ components: details: description: Optional details of the error message type: object - AiScenario: + DSetUrl: + type: string + format: url + example: https://download.example.com/test/file.bin + DSetError: + description: Error Response type: object - description: - 'An ML Scenario consists of a number of executables. E.g., there - can be one or several training executables, an inference (deployment) executable. - An ML Scenario is versioned. - - ' - required: - - name - - id - - createdAt - - modifiedAt properties: - name: + code: type: string - maxLength: 256 - description: Name of the scenario - description: + minLength: 1 + message: type: string - maxLength: 5000 - description: Description of the scenario - labels: - $ref: '#/components/schemas/AiScenarioLabelList' - id: - $ref: '#/components/schemas/AiScenarioId' - createdAt: + minLength: 1 + target: type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + minLength: 1 + requestId: type: string - format: date-time - description: Timestamp of latest resource modification - AiScenarioLabelList: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/AiScenarioLabel' - AiLabelList: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/AiLabel' - AiScenarioLabel: + details: + type: array + uniqueItems: true + minItems: 0 + items: + required: + - code + - message + properties: + code: + type: string + minLength: 1 + message: + type: string + minLength: 1 + required: + - code + - message + x-examples: + example-1: + code: '03021655' + message: Bad request encountered. Please try again with possible-solution-here. + target: /url/path + requestId: 9832bf934f3743v3948v3 + details: + - code: '01041211' + message: Optional nested error message. + DSetFileCreationResponse: + description: Response for successful file creation type: object required: - - key - - value + - message + - url properties: - key: - $ref: '#/components/schemas/AiScenarioLabelKey' - value: - $ref: '#/components/schemas/AiLabelValue' - AiLabel: + message: + type: string + description: File creation response message + example: File creation acknowledged + url: + $ref: '#/components/schemas/DSetUrl' + TrckGetMetricResource: + description: + Collection of various metrics/tags/labels associated against some + execution/deployment type: object - required: - - key - - value properties: - key: - $ref: '#/components/schemas/AiLabelKey' - value: - $ref: '#/components/schemas/AiLabelValue' - AiLabelValue: - type: string - maxLength: 5000 - AiScenarioLabelKey: - type: string - example: scenarios.ai.sap.com/s4hana-version - maxLength: 256 - pattern: ^(scenarios|ext)\.ai\.sap\.com\/[\w\.-]+$ - AiLabelKey: - type: string - example: ext.ai.sap.com/s4hana-version - maxLength: 256 - pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ - AiScenarioId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the scenario - AiScenarioList: + executionId: + $ref: '#/components/schemas/TrckExecutionId' + createdAt: + $ref: '#/components/schemas/TrckTimestamp' + modifiedAt: + $ref: '#/components/schemas/TrckTimestamp' + metrics: + $ref: '#/components/schemas/TrckGetMetricList' + tags: + $ref: '#/components/schemas/TrckTagList' + customInfo: + $ref: '#/components/schemas/TrckCustomInfoObjectList' + required: + - executionId + TrckMetricResource: + description: + Collection of various metrics/tags/labels associated against some + execution/deployment + required: + - executionId type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiScenario' + executionId: + $ref: '#/components/schemas/TrckExecutionId' + createdAt: + $ref: '#/components/schemas/TrckTimestamp' + modifiedAt: + $ref: '#/components/schemas/TrckTimestamp' + metrics: + $ref: '#/components/schemas/TrckMetricList' + tags: + $ref: '#/components/schemas/TrckTagList' + customInfo: + $ref: '#/components/schemas/TrckCustomInfoObjectList' + TrckGetMetricResourceList: + type: object required: - - count - resources - AiModelList: - type: object properties: count: type: integer @@ -3777,363 +3595,277 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiModelBaseData' - required: - - count - - resources - AiModelBaseData: + $ref: '#/components/schemas/TrckGetMetricResource' + TrckDeleteMetricsResponse: type: object - required: - - model - - executableId - - description - - versions properties: - model: - type: string - description: Name of the model - executableId: - $ref: '#/components/schemas/AiExecutableId' - description: - type: string - description: Description of the model and its capabilities - versions: - $ref: '#/components/schemas/AiModelVersionList' - displayName: - type: string - description: Display name of the model - accessType: - type: string - description: Access type of the model - provider: + id: + $ref: '#/components/schemas/TrckExecutionId' + message: type: string - description: Provider of the model - allowedScenarios: - type: array - description: List of scenarioId:executableId pair where the model supported - items: - type: object - required: - - scenarioId - - executableId - properties: - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - executableId: - $ref: '#/components/schemas/AiExecutableId' - AiModelVersionList: + example: Metric Resource was successfully deleted + TrckExecutionId: + type: string + example: aa97b177-9383-4934-8543-0f91b7a0283a + oneOf: + - $ref: '#/components/schemas/TrckMlapiExecutionId' + description: ID of the deployment/execution + TrckTimestamp: + type: string + description: Time when the metric was created or logged in RFC3339 format + format: date-time + TrckGetMetricList: + description: Array of Metric items type: array - description: List of model versions that the model object has items: - $ref: '#/components/schemas/AiModelVersion' - AiModelVersion: + $ref: '#/components/schemas/TrckGetMetric' + TrckMetricList: + description: Array of Metric items + type: array + items: + $ref: '#/components/schemas/TrckMetric' + TrckGetMetric: + description: + Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. type: object + required: + - name + - value + - timestamp + properties: + name: + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: + step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric + type: integer + minimum: 0 + example: 2 + labels: + $ref: '#/components/schemas/TrckLabelList' + TrckMetric: description: - Model version information including whether it is latest version, - its deprecation status and optional retirement date + Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. required: - name - - isLatest - - deprecated + - value + type: object properties: name: - type: string - description: Name of model version - isLatest: - type: boolean - description: Displays whether it is the latest version offered for the model - deprecated: - type: boolean - description: Deprecation status of model - retirementDate: - type: string - description: Retirement date of model in ISO 8601 timestamp - contextLength: + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: + step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric type: integer - description: Context length of the model - inputTypes: - type: array - description: List of input types supported by the model - items: - type: string - capabilities: - type: array - description: List of capabilities supported by the model - items: - type: string - metadata: - type: array - description: List of metadata supported by the model - items: - type: object - additionalProperties: - type: string - cost: - type: array - description: List of costs associated with the model - items: - type: object - additionalProperties: - type: string - suggestedReplacements: - type: array - description: List of suggested replacements for the model - items: - type: string - streamingSupported: - type: boolean - description: Streaming support status of the model - orchestrationCapabilities: - type: array - description: List of model capabilities supported by orchestration service - items: - type: string - AiVersion: - type: object - required: - - id - - createdAt - - modifiedAt - properties: - description: - $ref: '#/components/schemas/AiVersionDescription' - id: - $ref: '#/components/schemas/AiVersionId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: - type: string - format: date-time - description: Timestamp of latest resource modification - AiVersionList: - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiVersion' - required: - - count - - resources - AiExecutable: - description: - 'An ML executable consists of a set of ML tasks, flows between - tasks, dependencies between tasks, models (or model versions?). - - ' - type: object - required: - - name - - id - - versionId - - deployable - - createdAt - - modifiedAt - properties: + minimum: 0 + example: 2 labels: - $ref: '#/components/schemas/AiLabelList' - name: - type: string - description: Name of the executable - description: - type: string - description: Description of the executable - id: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - versionId: - $ref: '#/components/schemas/AiVersionId' - parameters: - $ref: '#/components/schemas/AiExecutableParameterList' - inputArtifacts: - $ref: '#/components/schemas/AiExecutableArtifactList' - outputArtifacts: - $ref: '#/components/schemas/AiExecutableArtifactList' - deployable: - type: boolean - description: Whether this executable is deployable - example: false - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: - type: string - format: date-time - description: Timestamp of latest resource modification - AiExecutableId: + $ref: '#/components/schemas/TrckLabelList' + TrckMetricName: + pattern: '[\w-]{1,64}' type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the executable - AiExecutableList: - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiExecutable' - required: - - count - - resources - AiExecutableParameter: - type: object + maxLength: 256 + description: Name of the metric + example: Error Rate + TrckMetricValue: + type: number + description: Numeric Value of the metric + example: 0.98 + TrckmetricSelectorPermissibleValues: + description: + Permissible value for $select could be either * or one or many + of the values from metrics, tags, custominfo + type: array + items: + type: string + enum: + - metrics + - tags + - customInfo + - '*' + TrckLabelList: + description: a list of name-value object pairs associated with some metric. + type: array + items: + $ref: '#/components/schemas/TrckLabel' + example: + - name: group + value: tree-82 + - name: metrics.ai.sap.com/Artifact.name + value: sk_learn_rf_classifier_model + TrckLabel: + description: a classifying phrase/name applied to a metric required: - name + - value + type: object properties: name: + $ref: '#/components/schemas/TrckLabelName' + value: + description: Metric Label Value + maxLength: 256 + minLength: 1 type: string - description: Name of the executable parameter - description: - type: string - description: Description of the signature argument - default: - type: string - description: Default value of the signature argument - type: - type: string - enum: - - string - description: Type of the executable parameter - AiExecutableParameterList: + example: sk_learn_random_forest_model + example: + name: group + value: tree-82 + TrckTagList: + description: + a list of name-value object pairs associated with the execution/deployment. + Tags are queryable. type: array - description: Executable parameters items: - $ref: '#/components/schemas/AiExecutableParameter' - AiExecutableArtifact: - type: object + $ref: '#/components/schemas/TrckTag' + TrckTag: + description: + A dictionary of name-value pairs to support segregation at execution + level. required: - name + - value + type: object properties: name: + oneOf: + - $ref: '#/components/schemas/TrckGenericName' + value: + description: tag value + maxLength: 256 + minLength: 1 type: string - description: Name of the executable input artifacts - kind: - type: string - description: Artifact kind (model, dataset, other) - description: - type: string - description: Description of the signature argument - labels: - $ref: '#/components/schemas/AiLabelList' - AiExecutableArtifactList: + example: RFC-1 + example: + name: Artifact Group + value: RFC-1 + TrckCustomInfoObjectList: + description: '' type: array - description: Executable parameters items: - $ref: '#/components/schemas/AiExecutableArtifact' - AiConfiguration: + $ref: '#/components/schemas/TrckCustomInfoObject' + TrckCustomInfoObject: + description: + large object which provides rendering/semantic information regarding + certain metric for consuming application or can be complex metrics in JSON + format + required: + - name + - value type: object properties: name: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - parameterBindings: - $ref: '#/components/schemas/AiParameterArgumentBindingList' - inputArtifactBindings: - $ref: '#/components/schemas/AiArtifactArgumentBindingList' - id: - $ref: '#/components/schemas/AiConfigurationId' - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - scenario: - type: object - nullable: true - anyOf: - - $ref: '#/components/schemas/AiScenario' - - {} - required: - - name - - executableId - - scenarioId - - id - - createdAt - AiConfigurationBaseData: - type: object - required: - - name - - executableId - - scenarioId - properties: - name: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - parameterBindings: - $ref: '#/components/schemas/AiParameterArgumentBindingList' - inputArtifactBindings: - $ref: '#/components/schemas/AiArtifactArgumentBindingList' - AiConfigurationName: + oneOf: + - $ref: '#/components/schemas/TrckGenericName' + value: + $ref: '#/components/schemas/TrckCustomInfoObjectData' + example: + name: Confusion Matrix + value: + "[{'Predicted': 'False', 'Actual': 'False','value': 34},{'Predicted': + 'False','Actual': 'True', 'value': 124}, {'Predicted': 'True','Actual': + 'False','value': 165},{ 'Predicted': 'True','Actual': 'True','value': + 36}]" + TrckCustomInfoObjectData: + description: Message + minLength: 1 type: string - pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ + example: + "[{'Predicted': 'False',\t'Actual': 'False','value': 34},{'Predicted': + 'False','Actual': 'True',\t'value': 124}, {'Predicted': 'True','Actual': 'False','value': + 165},{\t'Predicted': 'True','Actual': 'True','value': 36}]" + TrckMlapiExecutionId: + description: Generic ID + pattern: ^[\w.-]{4,64}$ + type: string + example: aa97b177-9383-4934-8543-0f91b7a0283a + TrckGenericName: + description: + Generic name which can belong to a tag,label,metric or customInfo + Object maxLength: 256 - description: Name of the configuration - AiConfigurationId: + minLength: 1 type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the configuration - AiParameterArgumentBinding: - type: object + example: sample name + TrckLabelName: + description: + Label name to label one or more metrics. "metrics.ai.sap.com/Artifact.name" + is a reserved label to associate an artifact with the metrics + maxLength: 256 + minLength: 1 + type: string + example: metrics.ai.sap.com/Artifact.name + TrckApiError: required: - - key - - value + - code + - message + type: object properties: - key: + code: + description: Descriptive error code (not http status code). type: string - maxLength: 256 - value: + message: + description: plaintext error description type: string - maxLength: 5000 - description: 'Required for execution - - Result of activation - - ' - AiParameterArgumentBindingList: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/AiParameterArgumentBinding' - AiArtifactArgumentBinding: + requestId: + description: id of individual request + type: string + target: + description: url that has been called + type: string + details: + type: array + items: + $ref: '#/components/schemas/TrckDetailsErrorResponse' + TrckDetailsErrorResponse: type: object - required: - - key - - artifactId properties: - key: + code: + description: Descriptive error code (not http status code) type: string - maxLength: 256 - artifactId: - $ref: '#/components/schemas/AiArtifactId' - description: 'Required for execution - - Result of activation - - ' - AiArtifactArgumentBindingList: + message: + description: Plaintext error description + type: string + TrckStringArray: type: array - maxItems: 1000 + example: + - value1 + - value2 items: - $ref: '#/components/schemas/AiArtifactArgumentBinding' - AiConfigurationList: + type: string + BckndId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + BckndMessage: + type: string + description: Message + BckndName: + type: string + description: Name + BckndCreationResponseMessage: + type: string + description: Message + example: Created + BckndUrl: + type: string + format: url + BckndResourceGroupList: type: object properties: count: @@ -4142,393 +3874,318 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiConfiguration' + $ref: '#/components/schemas/BckndResourceGroup' required: - count - resources - AiConfigurationCreationResponse: + BckndResourceGroupBase: type: object properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiConfigurationCreationResponseMessage' - required: - - id - - message - AiConfigurationCreationResponseMessage: - type: string - description: Message - example: Configuration created - AiDeploymentTargetStatus: - type: string - description: Status - enum: - - STOPPED - example: STOPPED - AiDeploymentStatus: - type: string - description: Deployment status - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - STOPPING - - STOPPED - - UNKNOWN - example: COMPLETED - AiDeploymentStatusMessage: - type: string - description: Deployment status message - maxLength: 256 - AiDeploymentStatusDetails: - type: object - description: Current status details of the deployment - AiExecutionStatus: - type: string - description: Execution status - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - STOPPING - - STOPPED - - UNKNOWN - example: COMPLETED - AiExecutionStatusMessage: - type: string - description: Execution status message - maxLength: 256 - AiExecutionStatusDetails: - type: object - description: Current status details of the execution - AiExecution: + resourceGroupId: + description: resource group id + type: string + tenantId: + description: tenant id + type: string + zoneId: + description: zone id + type: string + BckndResourceGroup: type: object - description: Execution that may generate artifacts properties: - id: - $ref: '#/components/schemas/AiExecutionId' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - configurationName: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - targetStatus: + resourceGroupId: + description: resource group id type: string - description: Target status of the execution - enum: - - COMPLETED - - RUNNING - - STOPPED - - DELETED - example: STOPPED - status: - $ref: '#/components/schemas/AiExecutionStatus' - statusMessage: - $ref: '#/components/schemas/AiExecutionStatusMessage' - outputArtifacts: - $ref: '#/components/schemas/AiArtifactArray' - executionScheduleId: - $ref: '#/components/schemas/AiExecutionScheduleId' - createdAt: + tenantId: + description: tenant id type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + zoneId: + description: zone id type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: + createdAt: + description: Timestamp of resource group creation type: string format: date-time - description: Timestamp of job submitted - startTime: + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + status: + description: aggregated status of the onboarding process type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + enum: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED required: - - id - - configurationId - status - createdAt - - modifiedAt - AiExecutionId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the execution - AiExecutionList: - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiExecution' - required: - - count - - resources - AiExecutionCreationResponse: + - resourceGroupId + BckndInternalResourceGroup: type: object properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionCreationResponseMessage' + resourceGroupId: + description: resource group id + type: string + tenantId: + description: tenant id + type: string + zoneId: + description: zone id + type: string + createdAt: + description: Timestamp of resource group creation + type: string + format: date-time + labels: + $ref: '#/components/schemas/BckndInternalResourceGroupLabels' status: - $ref: '#/components/schemas/AiExecutionStatus' - required: - - id - - message - AiExecutionCreationResponseMessage: - type: string - description: Message - example: Execution scheduled - AiExecutionModificationRequest: - type: object - description: - Request object for changing the target status of an execution (currently - only STOPPED is supported) - required: - - targetStatus - properties: - targetStatus: + description: aggregated status of the onboarding process type: string - description: - Desired target status of the execution (currently only STOPPED - is supported) enum: - - STOPPED - AiExecutionModificationRequestWithIdentifier: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message + type: string + annotations: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' required: - - targetStatus - - id + - status + - createdAt + - resourceGroupId + BckndResourceGroupsPostRequest: type: object properties: - id: - $ref: '#/components/schemas/AiExecutionId' - targetStatus: + resourceGroupId: + description: resource group id type: string - description: - Desired target status of the execution (currently STOPPED and - DELETED are supported) - enum: - - STOPPED - - DELETED - description: - Request object for changing the target status of an execution (currently - STOPPED and DELETED are supported) - AiExecutionModificationRequestList: + pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ + minLength: 3 + maxLength: 253 + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndResourceGroupLabels: type: array + description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/AiExecutionModificationRequestWithIdentifier' - uniqueItems: true - minItems: 1 - maxItems: 100 - example: - - id: aa97b177-9383-4934-8543-0f91a7a0283a - targetStatus: STOPPED - - id: qweq32131-qwee-1231-8543-0f91a7a2e2e - targetStatus: DELETED - AiExecutionBulkModificationRequest: + $ref: '#/components/schemas/BckndResourceGroupLabel' + BckndResourceGroupLabel: type: object - description: Request object to change status of multiple executions + required: + - key + - value properties: - executions: - $ref: '#/components/schemas/AiExecutionModificationRequestList' - AiExecutionModificationResponse: + key: + type: string + pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ + maxLength: 63 + example: ext.ai.sap.com/my-label + value: + type: string + maxLength: 5000 + BckndInternalResourceGroupLabels: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/BckndInternalResourceGroupLabel' + BckndInternalResourceGroupLabel: type: object - properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionModificationResponseMessage' required: - - id - - message - AiExecutionModificationResponseList: + - key + - value + properties: + key: + type: string + pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ + maxLength: 63 + example: internal.ai.sap.com/my-label + value: + type: string + maxLength: 5000 + BckndInternalResourceGroupAnnotations: type: array + description: Arbitrary annotations as meta information items: - oneOf: - - $ref: '#/components/schemas/AiExecutionModificationResponse' - - $ref: '#/components/schemas/AiApiErrorWithId' - AiExecutionBulkModificationResponse: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' + BckndInternalResourceGroupAnnotation: type: object - description: Response object with array of executions and its status + required: + - key + - value properties: - executions: - $ref: '#/components/schemas/AiExecutionModificationResponseList' - AiExecutionDeletionResponse: + key: + type: string + pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ + maxLength: 63 + example: internal.ai.sap.com/my-annotation + value: + type: string + maxLength: 5000 + BckndResourceGroupDeletionResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiExecutionDeletionResponseMessage' + $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' required: - id - message - AiExecutionDeletionResponseMessage: - type: string - description: Message - example: Execution deletion scheduled - AiExecutionModificationResponseMessage: + BckndResourceGroupDeletionResponseMessage: type: string description: Message - example: Execution modification scheduled - AiExecutionResponseWithDetails: + example: Resource Group deletion scheduled + BckndResourceGroupPatchRequest: type: object - description: Execution that may generate artifacts properties: - id: - $ref: '#/components/schemas/AiExecutionId' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - configurationName: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - targetStatus: + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndEvent: + type: object + properties: + tenantId: + description: tenant id + type: string + action: type: string - description: Target status of the execution enum: - - COMPLETED - - RUNNING - - STOPPED - - DELETED - example: STOPPED - status: - $ref: '#/components/schemas/AiExecutionStatus' - statusMessage: - $ref: '#/components/schemas/AiExecutionStatusMessage' - outputArtifacts: - $ref: '#/components/schemas/AiArtifactArray' - executionScheduleId: - $ref: '#/components/schemas/AiExecutionScheduleId' + - PROVISION + - DEPROVISION + state: + type: string + enum: + - SUCCESSFUL + - FAILED + - PENDING + description: + description: describes the event state + type: string createdAt: type: string - description: Timestamp of resource creation format: date-time - modifiedAt: + example: '2017-09-28T08:56:23.275Z' + BckndTenant: + type: object + properties: + tenantId: + description: tenant id type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: + zoneId: + description: zone id type: string - format: date-time - description: Timestamp of job submitted - startTime: + realSubaccountId: + description: real sub account id type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + servicePlan: + description: service plan type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED - statusDetails: - $ref: '#/components/schemas/AiExecutionStatusDetails' - required: - - id - - configurationId - - status - - createdAt - - modifiedAt - AiExecutionSchedule: + BckndobjectStoreSecretWithSensitiveDataRequest: type: object - description: Data about execution schedule + description: + This represents all the meta-data and extra information to be stored + as a k8-secret required: - - configurationId - - cron - name - - createdAt - - modifiedAt + - type + - data properties: - cron: - $ref: '#/components/schemas/AiCron' name: - maxLength: 256 - type: string - description: Name of the execution schedule - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - start: type: string description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: + Name of the object store for the secret object to be created. + Can be used later on check for existence of the secret. + example: myobjectstore + type: type: string - description: Timestamp, defining when the executions should stop running - format: date-time - id: - $ref: '#/components/schemas/AiExecutionScheduleId' - status: - $ref: '#/components/schemas/AiExecutionScheduleStatus' - createdAt: + description: Storage type e.g. S3, GCS,... + example: S3 + bucket: type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + description: Bucket to be used + example: mybucket1 + endpoint: type: string - format: date-time - description: Timestamp of latest resource modification - AiExecutionScheduleId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the execution schedule - AiExecutionScheduleStatus: - type: string - description: Execution Schedule Status - enum: - - ACTIVE - - INACTIVE - example: ACTIVE - AiCron: - type: string - description: Cron defining the schedule to run the executions. - example: 0 0 0 1 * - AiExecutionScheduleCreationData: + description: Optional parameter - URL of the storage server (S3 only) + example: www.example.com + region: + type: string + description: Optional parameter - Region of the storage server (S3 only) + example: eu + pathPrefix: + type: string + description: prefix folder to be added to storage path + example: mp-api + verifyssl: + type: string + description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl + example: '0' + usehttps: + type: string + description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps + example: '1' + default: '1' + data: + type: object + description: key:value pairs of data + writeOnly: true + BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: type: object - description: Start and end an execution schedule. + description: + This represents all the meta-data and extra information to be stored + as a k8-secret + required: + - name + - type + - data properties: - cron: - $ref: '#/components/schemas/AiCron' name: - maxLength: 256 - type: string - description: Name of the execution schedule - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - start: type: string + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ + maxLength: 233 description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: + Name of the object store for the secret object to be created. + Can be used later on check for existence of the secret. + example: myobjectstore + type: type: string - description: Timestamp, defining when the executions should stop running - format: date-time - required: - - configurationId - - cron - - name - AiExecutionScheduleList: + description: Storage type e.g. S3, GCS,... + example: S3 + bucket: + type: string + description: Bucket to be used + example: mybucket1 + endpoint: + type: string + description: Optional parameter - URL of the storage server (S3 only) + example: www.example.com + region: + type: string + description: Optional parameter - Region of the storage server (S3 only) + example: eu + pathPrefix: + type: string + description: prefix folder to be added to storage path + example: mp-api + verifyssl: + type: string + description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl + example: '0' + usehttps: + type: string + description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps + example: '1' + default: '1' + data: + type: object + description: key:value pairs of data + writeOnly: true + BckndobjectStoreSecretStatusResponse: + description: + This represents a list of meta-data of a stored secret. The 'data' + field of the secret is never retrieved. type: object properties: count: @@ -4537,157 +4194,154 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiExecutionSchedule' + $ref: '#/components/schemas/BckndobjectStoreSecretStatus' required: - count - resources - AiExecutionScheduleModificationRequest: + BckndobjectStoreSecretStatus: type: object - description: Request object for changing the execution schedule + description: + This represents the meta-data of a stored secret. The 'data' field + of the secret is never retrieved. properties: - cron: - $ref: '#/components/schemas/AiCron' - start: - type: string + metadata: description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: - type: string - description: Timestamp, defining when the executions should stop running - format: date-time - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - status: - $ref: '#/components/schemas/AiExecutionScheduleStatus' - AiExecutionScheduleModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionScheduleModificationResponseMessage' - required: - - id - - message - AiExecutionScheduleModificationResponseMessage: - type: string - description: Message - example: Execution Schedule modified - AiExecutionScheduleDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionScheduleDeletionResponseMessage' - required: - - id - - message - AiExecutionScheduleDeletionResponseMessage: - type: string - description: Message - example: Execution Schedule deleted - AiExecutionScheduleCreationResponse: - type: object + Key value pairs of meta-data assigned to the secret when the + secret was being created. + type: object + properties: + serving.kubeflow.org/s3-usehttps: + type: string + description: 0 and 1 values for setting the flag + example: '1' + serving.kubeflow.org/s3-verifyssl: + type: string + description: 0 and 1 values for setting the flag + example: '0' + serving.kubeflow.org/s3-endpoint: + type: string + description: Annotation for endpoint required by KF_Serving + example: some_endpoint + serving.kubeflow.org/s3-region: + type: string + description: Annotation for region required by KF_Serving + example: EU + storage.ai.sap.com/type: + type: string + description: Storage type of the secret + example: S3 + storage.ai.sap.com/bucket: + type: string + description: bucket assigned to the secret on creation + example: my_bucket + storage.ai.sap.com/endpoint: + type: string + description: Endpoint assigned to the secret on creation + example: some_endpoint + storage.ai.sap.com/region: + type: string + description: Region of the storage server + example: EU + storage.ai.sap.com/pathPrefix: + type: string + description: Pathprefix type assigned to the secret on creation. + example: mnist_folder + storage.ai.sap.com/hdfsNameNode: + type: string + description: name node of the HDFS file system + example: https://c3272xxxxxfa8f.files.hdl.canary-eu10.hanacloud.ondemand.com + storage.ai.sap.com/headers: + type: string + description: headers for webHDFS and other protocols + example: '{"x-sap-filecontainer": "c32727xxxxxxx322dcfa8f"}' + storage.ai.sap.com/containerUri: + type: string + description: container uri of azure storage + example: https://sapcv842awjkfb2.blob.core.windows.net/sapcp-osaas-xxx-xxxx-xxxx-xxxx-xxxx-zrs + storage.ai.sap.com/subscriptionId: + type: string + description: subscription id + example: dgewg2-gkrwnegiw + storage.ai.sap.com/tenantId: + type: string + description: tenant id + example: dawd2120-dadwad2 + storage.ai.sap.com/projectId: + type: string + description: project id of google cloud platform + example: sap-gcp-oaas-us31-1 + name: + description: Name of objectstore + type: string + example: myobjectstore-object-store-secret + BckndobjectStoreSecretDeletionResponse: + type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiExecutionScheduleCreationResponseMessage' + $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' required: - id - message - AiExecutionScheduleCreationResponseMessage: + BckndobjectStoreSecretDeletionResponseMessage: type: string description: Message - example: Execution Schedule created - AiDeployment: + example: Object Store Secret has been deleted + BckndobjectStoreSecretCreationResponse: + type: object + description: Message + example: Created + properties: + message: + $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' + BckndobjectStoreSecretCreationResponseMessage: + type: string + description: Message + example: Secret has been created + BckndobjectStoreSecretModificationResponseMessage: + type: string + description: Message + example: Secret has been modified + BckndobjectStoreSecretModificationResponse: type: object - description: Detailed data about a deployment properties: id: - $ref: '#/components/schemas/AiDeploymentId' - deploymentUrl: - $ref: '#/components/schemas/AiDeploymentUrl' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - configurationName: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - status: - $ref: '#/components/schemas/AiDeploymentStatus' - statusMessage: - $ref: '#/components/schemas/AiDeploymentStatusMessage' - targetStatus: - type: string - description: Deployment target status - enum: - - RUNNING - - STOPPED - - DELETED - lastOperation: - type: string - description: Last operation applied to this deployment. - anyOf: - - enum: - - CREATE - - UPDATE - - DELETE - - CASCADE-UPDATE - - {} - latestRunningConfigurationId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: - configurationId that was running before a PATCH operation has - modified the configurationId of the deployment. This can be used for a - manual rollback in case the new configurationId results in a DEAD deployment - ttl: - $ref: '#/components/schemas/AiDeploymentTimeToLive' - details: - $ref: '#/components/schemas/AiDeploymentDetails' - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: - type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: - type: string - format: date-time - description: Timestamp of job submitted - startTime: - type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: - type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' required: - id - - configurationId - - status - - createdAt - - modifiedAt - AiDeploymentId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the deployment - AiDeploymentUrl: - description: Consumption URL of the deployment + - message + BcknddockerRegistryNameComponent: + description: Name of the docker Registry store for the secret. type: string - format: url - AiDeploymentList: + pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ + maxLength: 63 + example: mydockeregistry + BcknddockerRegistrySecretWithSensitiveDataRequest: + type: object + description: + This represents all the meta-data and extra information to be stored + as a k8-secret + required: + - data + properties: + data: + type: object + required: + - .dockerconfigjson + description: key:value pairs of data + writeOnly: true + additionalProperties: false + properties: + .dockerconfigjson: + type: string + description: .dockerconfigjson data + BcknddockerRegistrySecretStatusResponse: + description: + This represents a list of meta-data of a stored secret. The 'data' + field of the secret is never retrieved. type: object properties: count: @@ -4696,1163 +4350,1010 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiDeployment' + $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' required: - count - resources - AiDeploymentCreationResponse: + BcknddockerRegistrySecretStatus: + type: object + description: + This represents the meta-data of a stored secret. The 'data' field + of the secret is never retrieved. + properties: + name: + description: Name of dockerRegistryStore + type: string + example: mydockeregistry + BcknddockerRegistrySecretDeletionResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiDeploymentCreationResponseMessage' - deploymentUrl: - $ref: '#/components/schemas/AiDeploymentUrl' - status: - $ref: '#/components/schemas/AiExecutionStatus' - ttl: - $ref: '#/components/schemas/AiDeploymentTimeToLive' + $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' required: - id - message - AiDeploymentCreationResponseMessage: + BcknddockerRegistrySecretDeletionResponseMessage: type: string description: Message - example: Deployment scheduled - AiEnactmentCreationRequest: + example: Docker Registry Secret has been deleted + BcknddockerRegistrySecretCreationResponse: type: object - description: Request object for creating an execution or an deployment - required: - - configurationId + description: Message + example: Created properties: - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentCreationRequest: + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretCreationResponseMessage' + BcknddockerRegistrySecretCreationResponseMessage: + type: string + description: Message + example: Secret has been created + BcknddockerRegistrySecretModificationResponseMessage: + type: string + description: Message + example: Secret has been modified + BcknddockerRegistrySecretModificationResponse: type: object - description: Request object for creating an execution or an deployment - required: - - configurationId properties: - ttl: - $ref: '#/components/schemas/AiDeploymentTimeToLive' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentModificationRequest: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' + required: + - id + - message + BckndGenericSecretData: + description: Base64 encoded secret data type: object - description: - Request object for changing the target status of a deployment (currently - only STOPPED is supported) + additionalProperties: + type: string + BckndGenericSecretPostBody: + type: object + required: + - name + - data properties: - targetStatus: - $ref: '#/components/schemas/AiDeploymentTargetStatus' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentModificationRequestWithIdentifier: + name: + description: The name of the secret + type: string + minLength: 1 + maxLength: 252 + pattern: ^[a-z0-9\-\.]+$ + data: + $ref: '#/components/schemas/BckndGenericSecretData' + labels: + $ref: '#/components/schemas/BckndGenericSecretLabels' + BckndGenericSecretPatchBody: type: object required: - - targetStatus - - id + - data properties: - id: - $ref: '#/components/schemas/AiDeploymentId' - targetStatus: + data: + $ref: '#/components/schemas/BckndGenericSecretData' + labels: + $ref: '#/components/schemas/BckndGenericSecretLabels' + BckndGenericSecretDataResponse: + type: object + properties: + message: + $ref: '#/components/schemas/BckndMessage' + name: + $ref: '#/components/schemas/BckndName' + BckndGenericSecretDetails: + type: object + required: + - name + - createdAt + properties: + name: + description: Name of the secret type: string - description: Deployment target status - enum: - - STOPPED - - DELETED + createdAt: + description: Timestamp at which secret was created + type: string + labels: + $ref: '#/components/schemas/BckndGenericSecretLabels' + resourceGroupSecretsSyncStatus: + description: + Sync status of the replicated secrets in all resource groups + of the tenant + type: object + additionalProperties: + type: boolean + description: Resource group ID and sync status + BckndListGenericSecretsResponse: description: - Request object for changing the target status of a deployment ( - STOPPED and DELETED are supported) - AiDeploymentModificationRequestList: + This represents a list of meta-data of the secret. The 'data' field + of the secret is never retrieved. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndGenericSecretDetails' + required: + - count + - resources + BckndGenericSecretLabels: type: array + description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/AiDeploymentModificationRequestWithIdentifier' - uniqueItems: true - minItems: 1 - maxItems: 100 - example: - - id: aa97b177-9383-4934-8543-0f91a7a0283a - targetStatus: STOPPED - - id: qweq32131-qwee-1231-8543-0f91a7a2e2e - targetStatus: DELETED - AiDeploymentBulkModificationRequest: + $ref: '#/components/schemas/BckndGenericSecretLabel' + BckndGenericSecretLabel: type: object - description: Request object for changing the target status of multiple deployments + required: + - key + - value properties: - deployments: - $ref: '#/components/schemas/AiDeploymentModificationRequestList' - AiDeploymentModificationResponse: + key: + type: string + pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ + maxLength: 63 + example: ext.ai.sap.com/my-label + value: + type: string + maxLength: 5000 + BckndArgoCDRepositoryData: + type: object + required: + - url + - username + - password + properties: + name: + description: Name of the repository + type: string + minLength: 1 + maxLength: 51 + pattern: ^[a-z0-9\-]+$ + url: + description: URL of the repository to synchronise + type: string + username: + description: Username for read-access to the repository + type: string + password: + description: Password for read-access to the repository + type: string + BckndArgoCDRepositoryCredentials: + type: object + required: + - username + - password + properties: + username: + description: Username for read-access to the repository + type: string + password: + description: Password for read-access to the repository + type: string + BckndArgoCDRepositoryDataResponse: + description: This represents a list of GitOps repositories for the tenant. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndArgoCDRepositoryDetails' + required: + - count + - resources + BckndArgoCDRepositoryCreationResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiDeploymentModificationResponseMessage' + $ref: '#/components/schemas/BckndArgoCDRepositoryCreationResponseMessage' required: - id - message - AiDeploymentModificationResponseList: - type: array - items: - oneOf: - - $ref: '#/components/schemas/AiDeploymentModificationResponse' - - $ref: '#/components/schemas/AiApiErrorWithId' - AiDeploymentBulkModificationResponse: + BckndArgoCDRepositoryCreationResponseMessage: + type: string + description: Message + example: Repository has been on-boarded + BckndArgoCDRepositoryDetails: type: object - description: Response object with array of deployments + description: Repository details properties: - deployments: - $ref: '#/components/schemas/AiDeploymentModificationResponseList' - AiDeploymentDeletionResponse: + name: + description: The name of the repository + type: string + url: + description: The repository URL + type: string + status: + description: The status of the repository's on-boarding + type: string + enum: + - ERROR + - IN-PROGRESS + - COMPLETED + example: COMPLETED + BckndArgoCDRepositoryDeletionResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiDeploymentDeletionResponseMessage' + $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' required: - id - message - AiDeploymentModificationResponseMessage: + BckndArgoCDRepositoryDeletionResponseMessage: type: string description: Message - example: Deployment modification scheduled - AiDeploymentDeletionResponseMessage: + example: The repository has been off-boarded. + BckndArgoCDRepositoryModificationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDRepositoryModificationResponseMessage' + required: + - id + - message + BckndArgoCDRepositoryModificationResponseMessage: type: string description: Message - example: Deployment deletion scheduled - AiDeploymentResponseWithDetails: + example: ArgoCD application has been updated + BckndArgoCDApplicationBaseData: type: object - description: Detail properties of the deployment + required: + - repositoryUrl + - revision + - path properties: - id: - $ref: '#/components/schemas/AiDeploymentId' - deploymentUrl: - $ref: '#/components/schemas/AiDeploymentUrl' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - configurationName: - $ref: '#/components/schemas/AiConfigurationName' - executableId: - $ref: '#/components/schemas/AiExecutableId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - status: - $ref: '#/components/schemas/AiDeploymentStatus' - statusMessage: - $ref: '#/components/schemas/AiDeploymentStatusMessage' - targetStatus: - type: string - description: Deployment target status - enum: - - RUNNING - - STOPPED - - DELETED - lastOperation: + repositoryUrl: + description: URL of the repository to synchronise type: string - description: Last operation applied to this deployment. - anyOf: - - enum: - - CREATE - - UPDATE - - DELETE - - CASCADE-UPDATE - - {} - latestRunningConfigurationId: + revision: + description: revision to synchronise type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: - configurationId that was running before a PATCH operation has - modified the configurationId of the deployment. This can be used for a - manual rollback in case the new configurationId results in a DEAD deployment - ttl: - $ref: '#/components/schemas/AiDeploymentTimeToLive' - details: - $ref: '#/components/schemas/AiDeploymentDetails' - createdAt: + path: + description: path within the repository to synchronise type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + BckndArgoCDApplicationData: + type: object + properties: + repositoryUrl: + description: URL of the repository to synchronise type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: + revision: + description: revision to synchronise type: string - format: date-time - description: Timestamp of job submitted - startTime: + path: + description: path within the repository to synchronise type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + applicationName: + description: ArgoCD application name type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED - statusDetails: - $ref: '#/components/schemas/AiDeploymentStatusDetails' + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ required: - - id - - configurationId - - status - - createdAt - - modifiedAt - AiBackendDetails: - type: object - description: backend-specific details of the deployment - AiScalingDetails: - type: object - description: Scaling details of a deployment - example: - backendDetails: - predictor: - minReplicas: 0 - maxReplicas: 2 - runningReplicas: 1 - properties: - backendDetails: - $ref: '#/components/schemas/AiBackendDetails' - AiResourcesDetails: - type: object - description: Resources details of a deployment - example: - backendDetails: - predictor: - resourcePlan: starter - properties: - backendDetails: - $ref: '#/components/schemas/AiBackendDetails' - AiDeploymentDetails: + - repositoryUrl + - revision + - path + BckndAllArgoCDApplicationData: + description: list of applications type: object - description: - 'Detail information about a deployment (including predefined sections: - `scaling` and `resources`). - - JSON String representation of this object is limited to 5000 characters - - ' properties: - scaling: - $ref: '#/components/schemas/AiScalingDetails' + count: + type: integer + description: Number of the resource instances in the list resources: - $ref: '#/components/schemas/AiResourcesDetails' - AiDeploymentTimeToLive: - type: string - description: - Time to live for a deployment. Its value can be either null or - a number followed by the unit (any of following values, minutes(m|M), hours(h|H) - or days(d|D)) - nullable: true - pattern: ^[0-9]+[m,M,h,H,d,D]$ - example: 24H - AiArtifact: - description: - 'Base data of the artifact; this is the data that can be provided - when the artifact is created; `name` and `kind` are required because they - constitute important semantic filtering criteria for use in training / inference - executables (`name` is a semantic handle of the artifact within a scenario - and `kind` specifies the type of usage, e.g. you would only want to allow - models in the model operator). - - ' + type: array + items: + $ref: '#/components/schemas/BckndArgoCDApplicationData' + required: + - count + - resources + BckndArgoCDApplicationDataRepoName: type: object + required: + - repositoryName + - revision + - path properties: - labels: - $ref: '#/components/schemas/AiLabelList' - name: - $ref: '#/components/schemas/AiArtifactName' - kind: + repositoryName: + description: Name of the repository to synchronise type: string - enum: - - model - - dataset - - resultset - - other - description: Kind of the artifact, i.e. model or dataset - url: - $ref: '#/components/schemas/AiArtifactUrl' - description: - $ref: '#/components/schemas/AiArtifactDescription' - id: - $ref: '#/components/schemas/AiArtifactId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - executionId: - $ref: '#/components/schemas/AiExecutionId' - createdAt: + revision: + description: revision to synchronise type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + path: + description: path within the repository to synchronise type: string - format: date-time - description: Timestamp of latest resource modification - scenario: - type: object - nullable: true - anyOf: - - $ref: '#/components/schemas/AiScenario' - - {} - required: - - name - - kind - - url - - id - - scenarioId - - createdAt - - modifiedAt - AiArtifactDescription: - type: string - maxLength: 5000 - description: Description of the artifact - AiArtifactPostData: - type: object - description: - 'Base data of the artifact; this is the data that can be provided - when the artifact is created; `name` and `kind` are required because they - constitute important semantic filtering criteria for use in training / inference - executables (`name` is a semantic handle of the artifact within a scenario - and `kind` specifies the type of usage, e.g. you would only want to allow - models in the model operator). - - ' - required: - - name - - kind - - url - - scenarioId - properties: - labels: - $ref: '#/components/schemas/AiLabelList' - name: - $ref: '#/components/schemas/AiArtifactName' - kind: + applicationName: + description: ArgoCD application name type: string - enum: - - model - - dataset - - resultset - - other - description: Kind of the artifact, i.e. model or dataset - url: - $ref: '#/components/schemas/AiArtifactUrl' - description: - $ref: '#/components/schemas/AiArtifactDescription' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - AiArtifactCreationResponse: + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + BckndArgoCDApplicationStatus: type: object - required: - - id - - message - - url + description: ArgoCD application definition and status properties: - id: - $ref: '#/components/schemas/AiId' + healthStatus: + description: ArgoCD application health status + type: string + syncStatus: + description: ArgoCD application sync status + type: string message: - $ref: '#/components/schemas/AiArtifactCreationResponseMessage' - url: - $ref: '#/components/schemas/AiArtifactUrl' - AiArtifactCreationResponseMessage: + description: ArgoCD application health status message + type: string + source: + description: Information about the ArgoCD application itself + type: object + properties: + repoURL: + description: URL of the repository + type: string + path: + description: Path of the repository + type: string + revision: + description: Revision number of the ArgoCD application + type: string + syncFinishedAt: + description: + Gets the timestamp information related to the sync state of + the ArgoCD application + type: string + syncStartedAt: + description: + Get timestamp information related to the sync state of the + ArgoCD application + type: string + reconciledAt: + description: + Get timestamp information related to the sync state of the + ArgoCD application + type: string + syncResourcesStatus: + description: + Status of all resources that need to be synchronized with the + gitops repo + type: array + items: + type: object + properties: + name: + description: ArgoCD application object name + type: string + kind: + description: ArgoCD application object kind + type: string + status: + description: ArgoCD application object sync status + type: string + message: + description: ArgoCD application object message + type: string + syncRessourcesStatus: + deprecated: true + description: + Status of all resources that need to be synchronized with the + gitops repo. Misspelled and deprecated, use syncResourcesStatus instead. + type: array + items: + type: object + properties: + name: + description: ArgoCD application object name + type: string + kind: + description: ArgoCD application object kind + type: string + status: + description: ArgoCD application object sync status + type: string + message: + description: ArgoCD application object message + type: string + BckndArgoCDApplicationDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationDeletionResponseMessage' + required: + - id + - message + BckndArgoCDApplicationDeletionResponseMessage: type: string description: Message - example: Artifact acknowledged - AiArtifactId: + example: ArgoCD application has been deleted + BckndArgoCDApplicationCreationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' + required: + - id + - message + BckndArgoCDApplicationCreationResponseMessage: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the artifact - AiArtifactName: + description: Message + example: ArgoCD application has been created + BckndArgoCDApplicationModificationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' + required: + - id + - message + BckndArgoCDApplicationModificationResponseMessage: type: string - pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ - maxLength: 256 - description: Name of the artifact - AiArtifactUrl: + description: Message + example: ArgoCD application has been updated + BckndArgoCDApplicationRefreshResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' + required: + - id + - message + BckndArgoCDApplicationRefreshResponseMessage: type: string - pattern: ([a-z0-9-]+):\/\/.+ - maxLength: 1024 - example: https://example.com/some_path - description: 'Reference to the location of the artifact. - - ' - AiArtifactList: + description: Message + example: Refresh of ArgoCD application has been scheduled + BckndServiceList: type: object properties: count: type: integer description: Number of the resource instances in the list resources: - $ref: '#/components/schemas/AiArtifactArray' + type: array + items: + $ref: '#/components/schemas/BckndService' required: - count - resources - AiArtifactArray: - type: array - items: - $ref: '#/components/schemas/AiArtifact' - AiLogCommonData: - type: object - properties: - result: - $ref: '#/components/schemas/AiLogCommonResult' - AiLogCommonResult: - type: array - items: - $ref: '#/components/schemas/AiLogCommonResultItem' - AiLogCommonResultItem: + BckndService: type: object - description: Common log record. properties: - timestamp: - description: Datetime in RFC 3339. - type: string - format: date-time - example: '2021-05-19T00:00:14.347+00:00' - msg: - description: message content. + name: + description: service name type: string - AiId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - AiVersionId: - description: Version ID - type: string - AiVersionDescription: - type: string - maxLength: 5000 - example: This is version v1 - description: Version description - AiCreationResponseMessage: - type: string - description: Message - example: Created - AiUrl: - type: string - format: url - AiApiErrorWithId: - type: object - required: - - id - - error - properties: - id: - $ref: '#/components/schemas/AiId' - error: - $ref: '#/components/schemas/AiApiError' - AiApiError: - type: object - required: - - code - - message - properties: - code: + description: + description: service description type: string - description: Descriptive error code (not http status code) - message: + url: + description: service broker url type: string - description: Plaintext error description - requestId: + status: + description: aggregated status of the service type: string - description: ID of the individual request - target: + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - TntTenantInfo: + BckndExtendedService: type: object - required: - - tenantId - - servicePlan - - status properties: - tenantId: - description: tenant id + name: + description: service name type: string - example: aa97b177-9383-4934-8543-0f91a7a0283a - servicePlan: + description: + description: service description type: string - status: - description: Provisioning status of the tenant + url: + description: service broker url type: string - TntApiError: - type: object - required: - - code - - message - properties: - code: + brokerSecret: + $ref: '#/components/schemas/BckndServiceBrokerSecret' + capabilities: + $ref: '#/components/schemas/BckndServiceCapabilities' + serviceCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalog' + sharedResourceGroupStatus: + $ref: '#/components/schemas/BckndSharedResourceGroupStatus' + status: + description: aggregated status of the service type: string - description: Descriptive error code (not http status code) - message: + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message type: string - description: Plaintext error description - requestId: + BckndServiceBrokerSecret: + type: object + properties: + name: + description: broker secret name type: string - description: ID of the individual request - target: + passwordKeyRef: + description: username key reference in broker secret type: string - description: Invoked URL - details: - description: Optional details of the error message + usernameKeyRef: + description: password key reference in broker secret + type: string + BckndServiceCapabilities: + type: object + properties: + logs: + description: Capabilities to read logs from deployments and executions. type: object - KpiColumnName: - readOnly: true - type: string - description: Name of the Column - anyOf: - - enum: - - ResourceGroup - - Scenario - - Executable - - Executions - - Artifacts - - Deployments - - {} - KpiArrayOfColumnNames: - uniqueItems: true - type: array - readOnly: true - items: - $ref: '#/components/schemas/KpiColumnName' - KpiAggregationAttribute: - type: string - title: Aggregation Attribute - readOnly: true - KpiCountAggregate: - type: integer - title: CountAggregate - format: int64 - minimum: 0 - x-examples: {} - readOnly: true - KpiResultRow: - type: array - title: ResultRow - uniqueItems: false - x-examples: {} - description: '' - items: - $ref: '#/components/schemas/KpiResultRowItem' - readOnly: true - KpiResultRowItem: - title: ResultRowItem - anyOf: - - $ref: '#/components/schemas/KpiAggregationAttribute' - - $ref: '#/components/schemas/KpiCountAggregate' - x-examples: {} - KpiResultRowList: - title: ResultRowList + properties: + deployments: + type: boolean + executions: + type: boolean + basic: + description: Basic capabilities like creating deployments and executions. + type: object + properties: + staticDeployments: + description: + There are static always running endpoints that can be used + for inference without the need to do user deployments. + type: boolean + userDeployments: + description: + Services that only support batch inference typically neither + allow listing nor creation of deployments. For these, userDeployments + == false + type: boolean + createExecutions: + description: + Services that only support deployment typically neither + allow create executions. For these, createExecutions == false + type: boolean + userPromptTemplates: + description: + Services that only support create, read and delete of prompt + templates + type: boolean + multitenant: + description: + true-> AI API implementation supports resource groups (Main + Tenant scenario), false-> implementation does not support resource + groups (Service Tenant scenario) + type: boolean + BckndServiceServiceCatalog: type: array items: - $ref: '#/components/schemas/KpiResultRow' - KpiResultSet: + $ref: '#/components/schemas/BckndServiceServiceCatalogItem' + BckndServiceServiceCatalogItem: type: object - title: ResultSet - x-examples: - example-1: - header: - - ResourceGroup - - Executions - - Artifacts - - Deployments - rows: - - - 00112233-4455-6677-8899-aabbccddeeff - - 30 - - 30 - - 3 - additionalProperties: false - minProperties: 2 - maxProperties: 2 properties: - header: - $ref: '#/components/schemas/KpiArrayOfColumnNames' - rows: - $ref: '#/components/schemas/KpiResultRowList' - readOnly: true - KpiApiError: + extendCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' + extendCredentials: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' + BckndServiceServiceCatalogItemExtendCatalog: type: object - required: - - code - - message properties: - code: - type: string - description: Descriptive error code (not http status code) - message: + bindable: + description: if the service is bindable + type: boolean + description: + description: description of the service type: string - description: Plaintext error description - requestId: + id: + description: id of the service type: string - description: ID of the individual request - target: + name: + description: name of the service type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - DSetUrl: - type: string - format: url - example: https://download.example.com/test/file.bin - DSetError: - description: Error Response + plans: + type: array + items: + $ref: '#/components/schemas/BckndServiceServicePlanItem' + BckndServiceServicePlanItem: type: object properties: - code: - type: string - minLength: 1 - message: + description: + description: description of the service plan type: string - minLength: 1 - target: + free: + description: if the service plan free + type: boolean + id: + description: id of the service plan type: string - minLength: 1 - requestId: + name: + description: name of the service plan type: string - details: + metadata: + $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' + BckndServiceServicePlanItemMetadata: + type: object + properties: + supportedPlatforms: + description: supported platforms of the service plan type: array - uniqueItems: true - minItems: 0 items: - required: - - code - - message - properties: - code: - type: string - minLength: 1 - message: - type: string - minLength: 1 - required: - - code - - message - x-examples: - example-1: - code: '03021655' - message: Bad request encountered. Please try again with possible-solution-here. - target: /url/path - requestId: 9832bf934f3743v3948v3 - details: - - code: '01041211' - message: Optional nested error message. - DSetFileCreationResponse: - description: Response for successful file creation + type: string + enum: + - cloudfoundry + - kubernetes + - sapbtp + BckndServiceServiceCatalogItemExtendCredentials: type: object - required: - - message - - url properties: - message: - type: string - description: File creation response message - example: File creation acknowledged - url: - $ref: '#/components/schemas/DSetUrl' - BckndId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - BckndMessage: - type: string - description: Message - BckndName: - type: string - description: Name - BckndCreationResponseMessage: - type: string - description: Message - example: Created - BckndUrl: - type: string - format: url - BckndResourceGroupList: + shared: + type: object + properties: + serviceUrls: + type: object + properties: + AI_API_URL: + type: string + BckndSharedResourceGroupStatus: type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: + isEnabled: + description: indicates whether shared resource group is enabled + type: boolean + id: + description: shared resource group id + type: string + state: + description: current state of shared resource group + type: string + BckndDeploymentResourceQuotaResponse: + type: object + required: + - quotas + properties: + usage: + $ref: '#/components/schemas/BckndDeploymentUsage' + quotas: type: array items: - $ref: '#/components/schemas/BckndResourceGroup' + $ref: '#/components/schemas/BckndDeploymentQuotaItem' + BckndDeploymentUsage: + type: object required: - count - - resources - BckndResourceGroupBase: + - items + properties: + count: + type: integer + items: + type: array + items: + $ref: '#/components/schemas/BckndUsageResourcePlanItem' + BckndUsageResourcePlanItem: type: object + required: + - id properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id + id: type: string - zoneId: - description: zone id + resourcePlanType: type: string - BckndResourceGroup: + configuredMaxReplicas: + type: integer + BckndDeploymentQuotaItem: type: object properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - createdAt: - description: Timestamp of resource group creation - type: string - format: date-time - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - status: - description: aggregated status of the onboarding process - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - statusMessage: - description: status message + resourcePlanType: type: string - required: - - status - - createdAt - - resourceGroupId - BckndInternalResourceGroup: + deploymentQuota: + $ref: '#/components/schemas/BckndDeploymentQuota' + BckndDeploymentQuota: type: object properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - createdAt: - description: Timestamp of resource group creation - type: string - format: date-time - labels: - $ref: '#/components/schemas/BckndInternalResourceGroupLabels' - status: - description: aggregated status of the onboarding process - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - statusMessage: - description: status message - type: string - annotations: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' + maxCount: + type: integer + description: + The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + maxReplicaPerDeployment: + type: integer + BckndCommonResourceQuotaResponse: + type: object required: - - status - - createdAt - - resourceGroupId - BckndResourceGroupsPostRequest: + - quota + properties: + usage: + type: object + properties: + count: + type: integer + quota: + type: object + properties: + maxCount: + type: integer + description: + The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + BckndExecutableResourceQuotaResponse: type: object + required: + - quota properties: - resourceGroupId: - description: resource group id - type: string - pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ - minLength: 3 - maxLength: 253 - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - BckndResourceGroupLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndResourceGroupLabel' - BckndResourceGroupLabel: + usage: + type: object + properties: + servingTemplateCount: + type: integer + workflowTemplateCount: + type: integer + quota: + type: object + properties: + servingTemplateMaxCount: + type: integer + description: + The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + workflowTemplateMaxCount: + type: integer + description: + The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + BckndResourcePatchBody: type: object required: - - key - - value + - resourcePlans properties: - key: - type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: - type: string - maxLength: 5000 - BckndInternalResourceGroupLabels: + resourcePlans: + $ref: '#/components/schemas/BckndResourcePatchResourcePlans' + BckndResourcePatchResourcePlans: type: array - description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/BckndInternalResourceGroupLabel' - BckndInternalResourceGroupLabel: + $ref: '#/components/schemas/BckndResourcePatchNodes' + BckndResourcePatchNodes: type: object required: - - key - - value + - name + - request properties: - key: - type: string - pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ - maxLength: 63 - example: internal.ai.sap.com/my-label - value: + name: type: string - maxLength: 5000 - BckndInternalResourceGroupAnnotations: - type: array - description: Arbitrary annotations as meta information - items: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' - BckndInternalResourceGroupAnnotation: + request: + type: integer + BckndResourcePatchResponse: type: object required: - - key - - value + - message properties: - key: + message: type: string - pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ - maxLength: 63 - example: internal.ai.sap.com/my-annotation - value: - type: string - maxLength: 5000 - BckndResourceGroupDeletionResponse: + BckndResourceGetResponse: type: object + required: + - resourcePlans properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' + resourcePlans: + $ref: '#/components/schemas/BckndResourceGetResourcePlans' + BckndInstanceTypeGetResponse: + type: object required: - - id - - message - BckndResourceGroupDeletionResponseMessage: - type: string - description: Message - example: Resource Group deletion scheduled - BckndResourceGroupPatchRequest: + - instanceTypes + properties: + instanceTypes: + $ref: '#/components/schemas/BckndInstanceType' + BckndResourceGetResourcePlans: + type: object + additionalProperties: + type: object + required: + - provisioned + - requested + properties: + provisioned: + type: integer + requested: + type: integer + BckndInstanceType: + type: object + additionalProperties: + type: object + required: + - memory + - cpu + - gpu + - billableUnitsPerHour + properties: + memory: + type: string + description: Memory allocated for the instance type (e.g., "16Gi") + cpu: + type: number + description: Number of CPU cores allocated for the instance type + gpu: + type: number + description: Number of GPUs allocated for the instance type + billableUnitsPerHour: + type: number + description: Number of billable units per hour for the instance type + BckndErrorResponse: type: object properties: - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - BckndEvent: + error: + $ref: '#/components/schemas/BckndError' + BckndError: type: object + required: + - code + - message properties: - tenantId: - description: tenant id - type: string - action: + code: type: string - enum: - - PROVISION - - DEPROVISION - state: + description: Descriptive error code (not http status code) + message: type: string - enum: - - SUCCESSFUL - - FAILED - - PENDING - description: - description: describes the event state + description: Plaintext error description + example: something went wrong + requestId: type: string - createdAt: + description: ID of the individual request + target: type: string - format: date-time - example: '2017-09-28T08:56:23.275Z' - BckndTenant: + description: Invoked URL + details: + description: Optional details of the error message + type: object + TntTenantInfo: type: object + required: + - tenantId + - servicePlan + - status properties: tenantId: description: tenant id type: string - zoneId: - description: zone id - type: string - realSubaccountId: - description: real sub account id - type: string + example: aa97b177-9383-4934-8543-0f91a7a0283a servicePlan: - description: service plan type: string - BckndobjectStoreSecretWithSensitiveDataRequest: + status: + description: Provisioning status of the tenant + type: string + TntApiError: type: object - description: - This represents all the meta-data and extra information to be stored - as a k8-secret required: - - name - - type - - data + - code + - message properties: - name: - type: string - description: - Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: + code: type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: + description: Descriptive error code (not http status code) + message: type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: + description: Plaintext error description + requestId: type: string - description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl - example: '0' - usehttps: + description: ID of the individual request + target: type: string - description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps - example: '1' - default: '1' - data: + description: Invoked URL + details: + description: Optional details of the error message type: object - description: key:value pairs of data - writeOnly: true - BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: + AiScenario: type: object description: - This represents all the meta-data and extra information to be stored - as a k8-secret + 'An ML Scenario consists of a number of executables. E.g., there + can be one or several training executables, an inference (deployment) executable. + An ML Scenario is versioned. + + ' required: - name - - type - - data + - id + - createdAt + - modifiedAt properties: name: type: string - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - maxLength: 233 - description: - Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: - type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: + maxLength: 256 + description: Name of the scenario + description: type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: + maxLength: 5000 + description: Description of the scenario + labels: + $ref: '#/components/schemas/AiScenarioLabelList' + id: + $ref: '#/components/schemas/AiScenarioId' + createdAt: type: string - description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl - example: '0' - usehttps: + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps - example: '1' - default: '1' - data: - type: object - description: key:value pairs of data - writeOnly: true - BckndobjectStoreSecretStatusResponse: - description: - This represents a list of meta-data of a stored secret. The 'data' - field of the secret is never retrieved. + format: date-time + description: Timestamp of latest resource modification + AiScenarioLabelList: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/AiScenarioLabel' + AiLabelList: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/AiLabel' + AiScenarioLabel: type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndobjectStoreSecretStatus' required: - - count - - resources - BckndobjectStoreSecretStatus: + - key + - value + properties: + key: + $ref: '#/components/schemas/AiScenarioLabelKey' + value: + $ref: '#/components/schemas/AiLabelValue' + AiLabel: type: object - description: - This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. + required: + - key + - value properties: - metadata: - description: - Key value pairs of meta-data assigned to the secret when the - secret was being created. - type: object - properties: - serving.kubeflow.org/s3-usehttps: - type: string - description: 0 and 1 values for setting the flag - example: '1' - serving.kubeflow.org/s3-verifyssl: - type: string - description: 0 and 1 values for setting the flag - example: '0' - serving.kubeflow.org/s3-endpoint: - type: string - description: Annotation for endpoint required by KF_Serving - example: some_endpoint - serving.kubeflow.org/s3-region: - type: string - description: Annotation for region required by KF_Serving - example: EU - storage.ai.sap.com/type: - type: string - description: Storage type of the secret - example: S3 - storage.ai.sap.com/bucket: - type: string - description: bucket assigned to the secret on creation - example: my_bucket - storage.ai.sap.com/endpoint: - type: string - description: Endpoint assigned to the secret on creation - example: some_endpoint - storage.ai.sap.com/region: - type: string - description: Region of the storage server - example: EU - storage.ai.sap.com/pathPrefix: - type: string - description: Pathprefix type assigned to the secret on creation. - example: mnist_folder - storage.ai.sap.com/hdfsNameNode: - type: string - description: name node of the HDFS file system - example: https://c3272xxxxxfa8f.files.hdl.canary-eu10.hanacloud.ondemand.com - storage.ai.sap.com/headers: - type: string - description: headers for webHDFS and other protocols - example: '{"x-sap-filecontainer": "c32727xxxxxxx322dcfa8f"}' - storage.ai.sap.com/containerUri: - type: string - description: container uri of azure storage - example: https://sapcv842awjkfb2.blob.core.windows.net/sapcp-osaas-xxx-xxxx-xxxx-xxxx-xxxx-zrs - storage.ai.sap.com/subscriptionId: - type: string - description: subscription id - example: dgewg2-gkrwnegiw - storage.ai.sap.com/tenantId: - type: string - description: tenant id - example: dawd2120-dadwad2 - storage.ai.sap.com/projectId: - type: string - description: project id of google cloud platform - example: sap-gcp-oaas-us31-1 - name: - description: Name of objectstore - type: string - example: myobjectstore-object-store-secret - BckndobjectStoreSecretDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' - required: - - id - - message - BckndobjectStoreSecretDeletionResponseMessage: + key: + $ref: '#/components/schemas/AiLabelKey' + value: + $ref: '#/components/schemas/AiLabelValue' + AiLabelValue: type: string - description: Message - example: Object Store Secret has been deleted - BckndobjectStoreSecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' - BckndobjectStoreSecretCreationResponseMessage: + maxLength: 5000 + AiScenarioLabelKey: type: string - description: Message - example: Secret has been created - BckndobjectStoreSecretModificationResponseMessage: + example: scenarios.ai.sap.com/s4hana-version + maxLength: 256 + pattern: ^(scenarios|ext)\.ai\.sap\.com\/[\w\.-]+$ + AiLabelKey: type: string - description: Message - example: Secret has been modified - BckndobjectStoreSecretModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' - required: - - id - - message - BcknddockerRegistryNameComponent: - description: Name of the docker Registry store for the secret. + example: ext.ai.sap.com/s4hana-version + maxLength: 256 + pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ + AiScenarioId: type: string - pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ - maxLength: 63 - example: mydockeregistry - BcknddockerRegistrySecretWithSensitiveDataRequest: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the scenario + AiScenarioList: type: object - description: - This represents all the meta-data and extra information to be stored - as a k8-secret - required: - - data properties: - data: - type: object - required: - - .dockerconfigjson - description: key:value pairs of data - writeOnly: true - additionalProperties: false - properties: - .dockerconfigjson: - type: string - description: .dockerconfigjson data - BcknddockerRegistrySecretStatusResponse: - description: - This represents a list of meta-data of a stored secret. The 'data' - field of the secret is never retrieved. + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/AiScenario' + required: + - count + - resources + AiModelList: type: object properties: count: @@ -5861,118 +5362,139 @@ components: resources: type: array items: - $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' + $ref: '#/components/schemas/AiModelBaseData' required: - count - resources - BcknddockerRegistrySecretStatus: + AiModelBaseData: type: object - description: - This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. + required: + - model + - executableId + - description + - versions properties: - name: - description: Name of dockerRegistryStore + model: type: string - example: mydockeregistry - BcknddockerRegistrySecretDeletionResponse: + description: Name of the model + executableId: + $ref: '#/components/schemas/AiExecutableId' + description: + type: string + description: Description of the model and its capabilities + versions: + $ref: '#/components/schemas/AiModelVersionList' + displayName: + type: string + description: Display name of the model + accessType: + type: string + description: Access type of the model + provider: + type: string + description: Provider of the model + allowedScenarios: + type: array + description: List of scenarioId:executableId pair where the model supported + items: + type: object + required: + - scenarioId + - executableId + properties: + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + executableId: + $ref: '#/components/schemas/AiExecutableId' + AiModelVersionList: + type: array + description: List of model versions that the model object has + items: + $ref: '#/components/schemas/AiModelVersion' + AiModelVersion: type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' + description: + Model version information including whether it is latest version, + its deprecation status and optional retirement date required: - - id - - message - BcknddockerRegistrySecretDeletionResponseMessage: - type: string - description: Message - example: Docker Registry Secret has been deleted - BcknddockerRegistrySecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretCreationResponseMessage' - BcknddockerRegistrySecretCreationResponseMessage: - type: string - description: Message - example: Secret has been created - BcknddockerRegistrySecretModificationResponseMessage: - type: string - description: Message - example: Secret has been modified - BcknddockerRegistrySecretModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' - required: - - id - - message - BckndGenericSecretData: - description: Base64 encoded secret data - type: object - additionalProperties: - type: string - BckndGenericSecretPostBody: - type: object - required: - - name - - data + - name + - isLatest + - deprecated properties: name: - description: The name of the secret type: string - minLength: 1 - maxLength: 252 - pattern: ^[a-z0-9\-\.]+$ - data: - $ref: '#/components/schemas/BckndGenericSecretData' - labels: - $ref: '#/components/schemas/BckndGenericSecretLabels' - BckndGenericSecretPatchBody: - type: object - required: - - data - properties: - data: - $ref: '#/components/schemas/BckndGenericSecretData' - BckndGenericSecretDataResponse: - type: object - properties: - message: - $ref: '#/components/schemas/BckndMessage' - name: - $ref: '#/components/schemas/BckndName' - BckndGenericSecretDetails: + description: Name of model version + isLatest: + type: boolean + description: Displays whether it is the latest version offered for the model + deprecated: + type: boolean + description: Deprecation status of model + retirementDate: + type: string + description: Retirement date of model in ISO 8601 timestamp + contextLength: + type: integer + description: Context length of the model + inputTypes: + type: array + description: List of input types supported by the model + items: + type: string + capabilities: + type: array + description: List of capabilities supported by the model + items: + type: string + metadata: + type: array + description: List of metadata supported by the model + items: + type: object + additionalProperties: + type: string + cost: + type: array + description: List of costs associated with the model + items: + type: object + additionalProperties: + type: string + suggestedReplacements: + type: array + description: List of suggested replacements for the model + items: + type: string + streamingSupported: + type: boolean + description: Streaming support status of the model + orchestrationCapabilities: + type: array + description: List of model capabilities supported by orchestration service + items: + type: string + AiVersion: type: object required: - - name + - id - createdAt + - modifiedAt properties: - name: - description: Name of the secret - type: string + description: + $ref: '#/components/schemas/AiVersionDescription' + id: + $ref: '#/components/schemas/AiVersionId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' createdAt: - description: Timestamp at which secret was created type: string - resourceGroupSecretsSyncStatus: - description: - Sync status of the replicated secrets in all resource groups - of the tenant - type: object - additionalProperties: - type: boolean - description: Resource group ID and sync status - BckndListGenericSecretsResponse: - description: - This represents a list of meta-data of the secret. The 'data' field - of the secret is never retrieved. + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + AiVersionList: type: object properties: count: @@ -5981,65 +5503,63 @@ components: resources: type: array items: - $ref: '#/components/schemas/BckndGenericSecretDetails' + $ref: '#/components/schemas/AiVersion' required: - count - resources - BckndGenericSecretLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndGenericSecretLabel' - BckndGenericSecretLabel: - type: object - required: - - key - - value - properties: - key: - type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: - type: string - maxLength: 5000 - BckndArgoCDRepositoryData: + AiExecutable: + description: + 'An ML executable consists of a set of ML tasks, flows between + tasks, dependencies between tasks, models (or model versions?). + + ' type: object required: - - url - - username - - password + - name + - id + - versionId + - deployable + - createdAt + - modifiedAt properties: + labels: + $ref: '#/components/schemas/AiLabelList' name: - description: Name of the repository - type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ - url: - description: URL of the repository to synchronise - type: string - username: - description: Username for read-access to the repository type: string - password: - description: Password for read-access to the repository + description: Name of the executable + description: type: string - BckndArgoCDRepositoryCredentials: - type: object - required: - - username - - password - properties: - username: - description: Username for read-access to the repository + description: Description of the executable + id: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + versionId: + $ref: '#/components/schemas/AiVersionId' + parameters: + $ref: '#/components/schemas/AiExecutableParameterList' + inputArtifacts: + $ref: '#/components/schemas/AiExecutableArtifactList' + outputArtifacts: + $ref: '#/components/schemas/AiExecutableArtifactList' + deployable: + type: boolean + description: Whether this executable is deployable + example: false + createdAt: type: string - password: - description: Password for read-access to the repository + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - BckndArgoCDRepositoryDataResponse: - description: This represents a list of GitOps repositories for the tenant. + format: date-time + description: Timestamp of latest resource modification + AiExecutableId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the executable + AiExecutableList: type: object properties: count: @@ -6048,110 +5568,157 @@ components: resources: type: array items: - $ref: '#/components/schemas/BckndArgoCDRepositoryDetails' + $ref: '#/components/schemas/AiExecutable' required: - count - resources - BckndArgoCDRepositoryCreationResponse: + AiExecutableParameter: type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryCreationResponseMessage' required: - - id - - message - BckndArgoCDRepositoryCreationResponseMessage: - type: string - description: Message - example: Repository has been on-boarded - BckndArgoCDRepositoryDetails: - type: object - description: Repository details + - name properties: name: - description: The name of the repository type: string - url: - description: The repository URL + description: Name of the executable parameter + description: type: string - status: - description: The status of the repository's on-boarding + description: Description of the signature argument + default: + type: string + description: Default value of the signature argument + type: type: string enum: - - ERROR - - IN-PROGRESS - - COMPLETED - example: COMPLETED - BckndArgoCDRepositoryDeletionResponse: + - string + description: Type of the executable parameter + AiExecutableParameterList: + type: array + description: Executable parameters + items: + $ref: '#/components/schemas/AiExecutableParameter' + AiExecutableArtifact: type: object + required: + - name properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' - required: - - id - - message - BckndArgoCDRepositoryDeletionResponseMessage: - type: string - description: Message - example: The repository has been off-boarded. - BckndArgoCDRepositoryModificationResponse: + name: + type: string + description: Name of the executable input artifacts + kind: + type: string + description: Artifact kind (model, dataset, other) + description: + type: string + description: Description of the signature argument + labels: + $ref: '#/components/schemas/AiLabelList' + AiExecutableArtifactList: + type: array + description: Executable parameters + items: + $ref: '#/components/schemas/AiExecutableArtifact' + AiConfiguration: type: object properties: + name: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + parameterBindings: + $ref: '#/components/schemas/AiParameterArgumentBindingList' + inputArtifactBindings: + $ref: '#/components/schemas/AiArtifactArgumentBindingList' id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryModificationResponseMessage' + $ref: '#/components/schemas/AiConfigurationId' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + scenario: + type: object + nullable: true + anyOf: + - $ref: '#/components/schemas/AiScenario' + - {} required: + - name + - executableId + - scenarioId - id - - message - BckndArgoCDRepositoryModificationResponseMessage: + - createdAt + AiConfigurationBaseData: + type: object + required: + - name + - executableId + - scenarioId + properties: + name: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + parameterBindings: + $ref: '#/components/schemas/AiParameterArgumentBindingList' + inputArtifactBindings: + $ref: '#/components/schemas/AiArtifactArgumentBindingList' + AiConfigurationName: type: string - description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationBaseData: + pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ + maxLength: 256 + description: Name of the configuration + AiConfigurationId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the configuration + AiParameterArgumentBinding: type: object required: - - repositoryUrl - - revision - - path + - key + - value properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise + key: type: string - path: - description: path within the repository to synchronise + maxLength: 256 + value: type: string - BckndArgoCDApplicationData: + maxLength: 5000 + description: 'Required for execution + + Result of activation + + ' + AiParameterArgumentBindingList: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/AiParameterArgumentBinding' + AiArtifactArgumentBinding: type: object + required: + - key + - artifactId properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - applicationName: - description: ArgoCD application name + key: type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - required: - - repositoryUrl - - revision - - path - BckndAllArgoCDApplicationData: - description: list of applications + maxLength: 256 + artifactId: + $ref: '#/components/schemas/AiArtifactId' + description: 'Required for execution + + Result of activation + + ' + AiArtifactArgumentBindingList: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/AiArtifactArgumentBinding' + AiConfigurationList: type: object properties: count: @@ -6160,519 +5727,1011 @@ components: resources: type: array items: - $ref: '#/components/schemas/BckndArgoCDApplicationData' + $ref: '#/components/schemas/AiConfiguration' required: - count - resources - BckndArgoCDApplicationDataRepoName: + AiConfigurationCreationResponse: type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiConfigurationCreationResponseMessage' required: - - repositoryName - - revision - - path + - id + - message + AiConfigurationCreationResponseMessage: + type: string + description: Message + example: Configuration created + AiDeploymentTargetStatus: + type: string + description: Status + enum: + - STOPPED + example: STOPPED + AiDeploymentStatus: + type: string + description: Deployment status + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - STOPPING + - STOPPED + - UNKNOWN + example: COMPLETED + AiDeploymentStatusMessage: + type: string + description: Deployment status message + maxLength: 256 + AiDeploymentStatusDetails: + type: object + description: Current status details of the deployment + AiExecutionStatus: + type: string + description: Execution status + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - STOPPING + - STOPPED + - UNKNOWN + example: COMPLETED + AiExecutionStatusMessage: + type: string + description: Execution status message + maxLength: 256 + AiExecutionStatusDetails: + type: object + description: Current status details of the execution + AiExecution: + type: object + description: Execution that may generate artifacts properties: - repositoryName: - description: Name of the repository to synchronise + id: + $ref: '#/components/schemas/AiExecutionId' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + configurationName: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + targetStatus: type: string - revision: - description: revision to synchronise + description: Target status of the execution + enum: + - COMPLETED + - RUNNING + - STOPPED + - DELETED + example: STOPPED + status: + $ref: '#/components/schemas/AiExecutionStatus' + statusMessage: + $ref: '#/components/schemas/AiExecutionStatusMessage' + outputArtifacts: + $ref: '#/components/schemas/AiArtifactArray' + executionScheduleId: + $ref: '#/components/schemas/AiExecutionScheduleId' + createdAt: type: string - path: - description: path within the repository to synchronise + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - applicationName: - description: ArgoCD application name - type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - BckndArgoCDApplicationStatus: - type: object - description: ArgoCD application definition and status - properties: - healthStatus: - description: ArgoCD application health status - type: string - syncStatus: - description: ArgoCD application sync status - type: string - message: - description: ArgoCD application health status message - type: string - source: - description: Information about the ArgoCD application itself - type: object - properties: - repoURL: - description: URL of the repository - type: string - path: - description: Path of the repository - type: string - revision: - description: Revision number of the ArgoCD application - type: string - syncFinishedAt: - description: - Gets the timestamp information related to the sync state of - the ArgoCD application + format: date-time + description: Timestamp of latest resource modification + submissionTime: type: string - syncStartedAt: - description: - Get timestamp information related to the sync state of the - ArgoCD application + format: date-time + description: Timestamp of job submitted + startTime: type: string - reconciledAt: - description: - Get timestamp information related to the sync state of the - ArgoCD application + format: date-time + description: Timestamp of job status changed to RUNNING + completionTime: type: string - syncResourcesStatus: - description: - Status of all resources that need to be synchronized with the - gitops repo - type: array - items: - type: object - properties: - name: - description: ArgoCD application object name - type: string - kind: - description: ArgoCD application object kind - type: string - status: - description: ArgoCD application object sync status - type: string - message: - description: ArgoCD application object message - type: string - syncRessourcesStatus: - deprecated: true - description: - Status of all resources that need to be synchronized with the - gitops repo. Misspelled and deprecated, use syncResourcesStatus instead. + format: date-time + description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + required: + - id + - configurationId + - status + - createdAt + - modifiedAt + AiExecutionId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the execution + AiExecutionList: + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: type: array items: - type: object - properties: - name: - description: ArgoCD application object name - type: string - kind: - description: ArgoCD application object kind - type: string - status: - description: ArgoCD application object sync status - type: string - message: - description: ArgoCD application object message - type: string - BckndArgoCDApplicationDeletionResponse: + $ref: '#/components/schemas/AiExecution' + required: + - count + - resources + AiExecutionCreationResponse: type: object properties: id: - $ref: '#/components/schemas/BckndId' + $ref: '#/components/schemas/AiId' message: - $ref: '#/components/schemas/BckndArgoCDApplicationDeletionResponseMessage' + $ref: '#/components/schemas/AiExecutionCreationResponseMessage' + status: + $ref: '#/components/schemas/AiExecutionStatus' required: - id - message - BckndArgoCDApplicationDeletionResponseMessage: + AiExecutionCreationResponseMessage: type: string description: Message - example: ArgoCD application has been deleted - BckndArgoCDApplicationCreationResponse: + example: Execution scheduled + AiExecutionModificationRequest: type: object + description: + Request object for changing the target status of an execution (currently + only STOPPED is supported) + required: + - targetStatus properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' + targetStatus: + type: string + description: + Desired target status of the execution (currently only STOPPED + is supported) + enum: + - STOPPED + AiExecutionModificationRequestWithIdentifier: required: + - targetStatus - id - - message - BckndArgoCDApplicationCreationResponseMessage: - type: string - description: Message - example: ArgoCD application has been created - BckndArgoCDApplicationModificationResponse: type: object properties: id: - $ref: '#/components/schemas/BckndId' + $ref: '#/components/schemas/AiExecutionId' + targetStatus: + type: string + description: + Desired target status of the execution (currently STOPPED and + DELETED are supported) + enum: + - STOPPED + - DELETED + description: + Request object for changing the target status of an execution (currently + STOPPED and DELETED are supported) + AiExecutionModificationRequestList: + type: array + items: + $ref: '#/components/schemas/AiExecutionModificationRequestWithIdentifier' + uniqueItems: true + minItems: 1 + maxItems: 100 + example: + - id: aa97b177-9383-4934-8543-0f91a7a0283a + targetStatus: STOPPED + - id: qweq32131-qwee-1231-8543-0f91a7a2e2e + targetStatus: DELETED + AiExecutionBulkModificationRequest: + type: object + description: Request object to change status of multiple executions + properties: + executions: + $ref: '#/components/schemas/AiExecutionModificationRequestList' + AiExecutionModificationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/AiId' message: - $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' + $ref: '#/components/schemas/AiExecutionModificationResponseMessage' required: - id - message - BckndArgoCDApplicationModificationResponseMessage: - type: string - description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationRefreshResponse: + AiExecutionModificationResponseList: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AiExecutionModificationResponse' + - $ref: '#/components/schemas/AiApiErrorWithId' + AiExecutionBulkModificationResponse: + type: object + description: Response object with array of executions and its status + properties: + executions: + $ref: '#/components/schemas/AiExecutionModificationResponseList' + AiExecutionDeletionResponse: type: object properties: id: - $ref: '#/components/schemas/BckndId' + $ref: '#/components/schemas/AiId' message: - $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' + $ref: '#/components/schemas/AiExecutionDeletionResponseMessage' required: - id - message - BckndArgoCDApplicationRefreshResponseMessage: + AiExecutionDeletionResponseMessage: type: string description: Message - example: Refresh of ArgoCD application has been scheduled - BckndServiceList: - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndService' - required: - - count - - resources - BckndService: + example: Execution deletion scheduled + AiExecutionModificationResponseMessage: + type: string + description: Message + example: Execution modification scheduled + AiExecutionResponseWithDetails: type: object + description: Execution that may generate artifacts properties: - name: - description: service name - type: string - description: - description: service description - type: string - url: - description: service broker url - type: string - status: - description: aggregated status of the service + id: + $ref: '#/components/schemas/AiExecutionId' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + configurationName: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + targetStatus: type: string + description: Target status of the execution enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING + - COMPLETED + - RUNNING + - STOPPED + - DELETED + example: STOPPED + status: + $ref: '#/components/schemas/AiExecutionStatus' statusMessage: - description: status message + $ref: '#/components/schemas/AiExecutionStatusMessage' + outputArtifacts: + $ref: '#/components/schemas/AiArtifactArray' + executionScheduleId: + $ref: '#/components/schemas/AiExecutionScheduleId' + createdAt: type: string - BckndExtendedService: + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + submissionTime: + type: string + format: date-time + description: Timestamp of job submitted + startTime: + type: string + format: date-time + description: Timestamp of job status changed to RUNNING + completionTime: + type: string + format: date-time + description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + statusDetails: + $ref: '#/components/schemas/AiExecutionStatusDetails' + required: + - id + - configurationId + - status + - createdAt + - modifiedAt + AiExecutionSchedule: type: object + description: Data about execution schedule + required: + - configurationId + - cron + - name + - createdAt + - modifiedAt properties: + cron: + $ref: '#/components/schemas/AiCron' name: - description: service name + maxLength: 256 type: string - description: - description: service description + description: Name of the execution schedule + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + start: type: string - url: - description: service broker url + description: + Timestamp, defining when the executions should start running + periodically, defaults to now + format: date-time + end: type: string - brokerSecret: - $ref: '#/components/schemas/BckndServiceBrokerSecret' - capabilities: - $ref: '#/components/schemas/BckndServiceCapabilities' - serviceCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalog' - sharedResourceGroupStatus: - $ref: '#/components/schemas/BckndSharedResourceGroupStatus' + description: Timestamp, defining when the executions should stop running + format: date-time + id: + $ref: '#/components/schemas/AiExecutionScheduleId' status: - description: aggregated status of the service + $ref: '#/components/schemas/AiExecutionScheduleStatus' + createdAt: type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING - statusMessage: - description: status message + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - BckndServiceBrokerSecret: + format: date-time + description: Timestamp of latest resource modification + AiExecutionScheduleId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the execution schedule + AiExecutionScheduleStatus: + type: string + description: Execution Schedule Status + enum: + - ACTIVE + - INACTIVE + example: ACTIVE + AiCron: + type: string + description: Cron defining the schedule to run the executions. + example: 0 0 0 1 * + AiExecutionScheduleCreationData: type: object + description: Start and end an execution schedule. properties: + cron: + $ref: '#/components/schemas/AiCron' name: - description: broker secret name + maxLength: 256 type: string - passwordKeyRef: - description: username key reference in broker secret + description: Name of the execution schedule + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + start: type: string - usernameKeyRef: - description: password key reference in broker secret + description: + Timestamp, defining when the executions should start running + periodically, defaults to now + format: date-time + end: type: string - BckndServiceCapabilities: - type: object - properties: - logs: - description: Capabilities to read logs from deployments and executions. - type: object - properties: - deployments: - type: boolean - executions: - type: boolean - basic: - description: Basic capabilities like creating deployments and executions. - type: object - properties: - staticDeployments: - description: - There are static always running endpoints that can be used - for inference without the need to do user deployments. - type: boolean - userDeployments: - description: - Services that only support batch inference typically neither - allow listing nor creation of deployments. For these, userDeployments - == false - type: boolean - createExecutions: - description: - Services that only support deployment typically neither - allow create executions. For these, createExecutions == false - type: boolean - multitenant: - description: - true-> AI API implementation supports resource groups (Main - Tenant scenario), false-> implementation does not support resource - groups (Service Tenant scenario) - type: boolean - BckndServiceServiceCatalog: - type: array - items: - $ref: '#/components/schemas/BckndServiceServiceCatalogItem' - BckndServiceServiceCatalogItem: - type: object - properties: - extendCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' - extendCredentials: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' - BckndServiceServiceCatalogItemExtendCatalog: + description: Timestamp, defining when the executions should stop running + format: date-time + required: + - configurationId + - cron + - name + AiExecutionScheduleList: type: object properties: - bindable: - description: if the service is bindable - type: boolean - description: - description: description of the service - type: string - id: - description: id of the service - type: string - name: - description: name of the service - type: string - plans: + count: + type: integer + description: Number of the resource instances in the list + resources: type: array items: - $ref: '#/components/schemas/BckndServiceServicePlanItem' - BckndServiceServicePlanItem: + $ref: '#/components/schemas/AiExecutionSchedule' + required: + - count + - resources + AiExecutionScheduleModificationRequest: type: object + description: Request object for changing the execution schedule properties: - description: - description: description of the service plan - type: string - free: - description: if the service plan free - type: boolean - id: - description: id of the service plan + cron: + $ref: '#/components/schemas/AiCron' + start: type: string - name: - description: name of the service plan + description: + Timestamp, defining when the executions should start running + periodically, defaults to now + format: date-time + end: type: string - metadata: - $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' - BckndServiceServicePlanItemMetadata: + description: Timestamp, defining when the executions should stop running + format: date-time + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + status: + $ref: '#/components/schemas/AiExecutionScheduleStatus' + AiExecutionScheduleModificationResponse: type: object properties: - supportedPlatforms: - description: supported platforms of the service plan - type: array - items: - type: string - enum: - - cloudfoundry - - kubernetes - - sapbtp - BckndServiceServiceCatalogItemExtendCredentials: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionScheduleModificationResponseMessage' + required: + - id + - message + AiExecutionScheduleModificationResponseMessage: + type: string + description: Message + example: Execution Schedule modified + AiExecutionScheduleDeletionResponse: type: object properties: - shared: - type: object - properties: - serviceUrls: - type: object - properties: - AI_API_URL: - type: string - BckndSharedResourceGroupStatus: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionScheduleDeletionResponseMessage' + required: + - id + - message + AiExecutionScheduleDeletionResponseMessage: + type: string + description: Message + example: Execution Schedule deleted + AiExecutionScheduleCreationResponse: type: object properties: - isEnabled: - description: indicates whether shared resource group is enabled - type: boolean id: - description: shared resource group id + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionScheduleCreationResponseMessage' + required: + - id + - message + AiExecutionScheduleCreationResponseMessage: + type: string + description: Message + example: Execution Schedule created + AiDeployment: + type: object + description: Detailed data about a deployment + properties: + id: + $ref: '#/components/schemas/AiDeploymentId' + deploymentUrl: + $ref: '#/components/schemas/AiDeploymentUrl' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + configurationName: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + status: + $ref: '#/components/schemas/AiDeploymentStatus' + statusMessage: + $ref: '#/components/schemas/AiDeploymentStatusMessage' + targetStatus: type: string - state: - description: current state of shared resource group + description: Deployment target status + enum: + - RUNNING + - STOPPED + - DELETED + lastOperation: type: string - BckndDeploymentResourceQuotaResponse: - type: object + description: Last operation applied to this deployment. + anyOf: + - enum: + - CREATE + - UPDATE + - DELETE + - CASCADE-UPDATE + - {} + latestRunningConfigurationId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: + configurationId that was running before a PATCH operation has + modified the configurationId of the deployment. This can be used for a + manual rollback in case the new configurationId results in a DEAD deployment + ttl: + $ref: '#/components/schemas/AiDeploymentTimeToLive' + details: + $ref: '#/components/schemas/AiDeploymentDetails' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + submissionTime: + type: string + format: date-time + description: Timestamp of job submitted + startTime: + type: string + format: date-time + description: Timestamp of job status changed to RUNNING + completionTime: + type: string + format: date-time + description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED required: - - quotas - properties: - usage: - $ref: '#/components/schemas/BckndDeploymentUsage' - quotas: - type: array - items: - $ref: '#/components/schemas/BckndDeploymentQuotaItem' - BckndDeploymentUsage: + - id + - configurationId + - status + - createdAt + - modifiedAt + AiDeploymentId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the deployment + AiDeploymentUrl: + description: Consumption URL of the deployment + type: string + format: url + AiDeploymentList: type: object - required: - - count - - items properties: count: type: integer - items: + description: Number of the resource instances in the list + resources: type: array items: - $ref: '#/components/schemas/BckndUsageResourcePlanItem' - BckndUsageResourcePlanItem: + $ref: '#/components/schemas/AiDeployment' + required: + - count + - resources + AiDeploymentCreationResponse: type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiDeploymentCreationResponseMessage' + deploymentUrl: + $ref: '#/components/schemas/AiDeploymentUrl' + status: + $ref: '#/components/schemas/AiExecutionStatus' + ttl: + $ref: '#/components/schemas/AiDeploymentTimeToLive' required: - id + - message + AiDeploymentCreationResponseMessage: + type: string + description: Message + example: Deployment scheduled + AiEnactmentCreationRequest: + type: object + description: Request object for creating an execution or an deployment + required: + - configurationId properties: - id: - type: string - resourcePlanType: - type: string - configuredMaxReplicas: - type: integer - BckndDeploymentQuotaItem: + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + AiDeploymentCreationRequest: type: object + description: Request object for creating an execution or an deployment + required: + - configurationId properties: - resourcePlanType: + ttl: + $ref: '#/components/schemas/AiDeploymentTimeToLive' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + AiDeploymentModificationRequest: + type: object + description: + Request object for changing the target status of a deployment (currently + only STOPPED is supported) + properties: + targetStatus: + $ref: '#/components/schemas/AiDeploymentTargetStatus' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + AiDeploymentModificationRequestWithIdentifier: + type: object + required: + - targetStatus + - id + properties: + id: + $ref: '#/components/schemas/AiDeploymentId' + targetStatus: type: string - deploymentQuota: - $ref: '#/components/schemas/BckndDeploymentQuota' - BckndDeploymentQuota: + description: Deployment target status + enum: + - STOPPED + - DELETED + description: + Request object for changing the target status of a deployment ( + STOPPED and DELETED are supported) + AiDeploymentModificationRequestList: + type: array + items: + $ref: '#/components/schemas/AiDeploymentModificationRequestWithIdentifier' + uniqueItems: true + minItems: 1 + maxItems: 100 + example: + - id: aa97b177-9383-4934-8543-0f91a7a0283a + targetStatus: STOPPED + - id: qweq32131-qwee-1231-8543-0f91a7a2e2e + targetStatus: DELETED + AiDeploymentBulkModificationRequest: type: object + description: Request object for changing the target status of multiple deployments properties: - maxCount: - type: integer - description: - The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - maxReplicaPerDeployment: - type: integer - BckndCommonResourceQuotaResponse: + deployments: + $ref: '#/components/schemas/AiDeploymentModificationRequestList' + AiDeploymentModificationResponse: type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiDeploymentModificationResponseMessage' required: - - quota + - id + - message + AiDeploymentModificationResponseList: + type: array + items: + oneOf: + - $ref: '#/components/schemas/AiDeploymentModificationResponse' + - $ref: '#/components/schemas/AiApiErrorWithId' + AiDeploymentBulkModificationResponse: + type: object + description: Response object with array of deployments properties: - usage: - type: object - properties: - count: - type: integer - quota: - type: object - properties: - maxCount: - type: integer - description: - The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - BckndExecutableResourceQuotaResponse: + deployments: + $ref: '#/components/schemas/AiDeploymentModificationResponseList' + AiDeploymentDeletionResponse: type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiDeploymentDeletionResponseMessage' required: - - quota + - id + - message + AiDeploymentModificationResponseMessage: + type: string + description: Message + example: Deployment modification scheduled + AiDeploymentDeletionResponseMessage: + type: string + description: Message + example: Deployment deletion scheduled + AiDeploymentResponseWithDetails: + type: object + description: Detail properties of the deployment properties: - usage: - type: object - properties: - servingTemplateCount: - type: integer - workflowTemplateCount: - type: integer - quota: - type: object - properties: - servingTemplateMaxCount: - type: integer - description: - The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - workflowTemplateMaxCount: - type: integer - description: - The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - BckndResourcePatchBody: + id: + $ref: '#/components/schemas/AiDeploymentId' + deploymentUrl: + $ref: '#/components/schemas/AiDeploymentUrl' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + configurationName: + $ref: '#/components/schemas/AiConfigurationName' + executableId: + $ref: '#/components/schemas/AiExecutableId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + status: + $ref: '#/components/schemas/AiDeploymentStatus' + statusMessage: + $ref: '#/components/schemas/AiDeploymentStatusMessage' + targetStatus: + type: string + description: Deployment target status + enum: + - RUNNING + - STOPPED + - DELETED + lastOperation: + type: string + description: Last operation applied to this deployment. + anyOf: + - enum: + - CREATE + - UPDATE + - DELETE + - CASCADE-UPDATE + - {} + latestRunningConfigurationId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: + configurationId that was running before a PATCH operation has + modified the configurationId of the deployment. This can be used for a + manual rollback in case the new configurationId results in a DEAD deployment + ttl: + $ref: '#/components/schemas/AiDeploymentTimeToLive' + details: + $ref: '#/components/schemas/AiDeploymentDetails' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + submissionTime: + type: string + format: date-time + description: Timestamp of job submitted + startTime: + type: string + format: date-time + description: Timestamp of job status changed to RUNNING + completionTime: + type: string + format: date-time + description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + statusDetails: + $ref: '#/components/schemas/AiDeploymentStatusDetails' + required: + - id + - configurationId + - status + - createdAt + - modifiedAt + AiBackendDetails: + type: object + description: backend-specific details of the deployment + AiScalingDetails: + type: object + description: Scaling details of a deployment + example: + backendDetails: + predictor: + minReplicas: 0 + maxReplicas: 2 + runningReplicas: 1 + properties: + backendDetails: + $ref: '#/components/schemas/AiBackendDetails' + AiResourcesDetails: + type: object + description: Resources details of a deployment + example: + backendDetails: + predictor: + resourcePlan: starter + properties: + backendDetails: + $ref: '#/components/schemas/AiBackendDetails' + AiDeploymentDetails: type: object + description: + 'Detail information about a deployment (including predefined sections: + `scaling` and `resources`). + + JSON String representation of this object is limited to 5000 characters + + ' + properties: + scaling: + $ref: '#/components/schemas/AiScalingDetails' + resources: + $ref: '#/components/schemas/AiResourcesDetails' + AiDeploymentTimeToLive: + type: string + description: + Time to live for a deployment. Its value can be either null or + a number followed by the unit (any of following values, minutes(m|M), hours(h|H) + or days(d|D)) + nullable: true + pattern: ^[0-9]+[m,M,h,H,d,D]$ + example: 24H + AiArtifact: + description: + 'Base data of the artifact; this is the data that can be provided + when the artifact is created; `name` and `kind` are required because they + constitute important semantic filtering criteria for use in training / inference + executables (`name` is a semantic handle of the artifact within a scenario + and `kind` specifies the type of usage, e.g. you would only want to allow + models in the model operator). + + ' + type: object + properties: + labels: + $ref: '#/components/schemas/AiLabelList' + name: + $ref: '#/components/schemas/AiArtifactName' + kind: + type: string + enum: + - model + - dataset + - resultset + - other + description: Kind of the artifact, i.e. model or dataset + url: + $ref: '#/components/schemas/AiArtifactUrl' + description: + $ref: '#/components/schemas/AiArtifactDescription' + id: + $ref: '#/components/schemas/AiArtifactId' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + executionId: + $ref: '#/components/schemas/AiExecutionId' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + scenario: + type: object + nullable: true + anyOf: + - $ref: '#/components/schemas/AiScenario' + - {} required: - - resourcePlans - properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourcePatchResourcePlans' - BckndResourcePatchResourcePlans: - type: array - items: - $ref: '#/components/schemas/BckndResourcePatchNodes' - BckndResourcePatchNodes: + - name + - kind + - url + - id + - scenarioId + - createdAt + - modifiedAt + AiArtifactDescription: + type: string + maxLength: 5000 + description: Description of the artifact + AiArtifactPostData: type: object + description: + 'Base data of the artifact; this is the data that can be provided + when the artifact is created; `name` and `kind` are required because they + constitute important semantic filtering criteria for use in training / inference + executables (`name` is a semantic handle of the artifact within a scenario + and `kind` specifies the type of usage, e.g. you would only want to allow + models in the model operator). + + ' required: - name - - request + - kind + - url + - scenarioId properties: + labels: + $ref: '#/components/schemas/AiLabelList' name: + $ref: '#/components/schemas/AiArtifactName' + kind: type: string - request: - type: integer - BckndResourcePatchResponse: + enum: + - model + - dataset + - resultset + - other + description: Kind of the artifact, i.e. model or dataset + url: + $ref: '#/components/schemas/AiArtifactUrl' + description: + $ref: '#/components/schemas/AiArtifactDescription' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + AiArtifactCreationResponse: type: object required: + - id - message + - url properties: + id: + $ref: '#/components/schemas/AiId' message: - type: string - BckndResourceGetResponse: + $ref: '#/components/schemas/AiArtifactCreationResponseMessage' + url: + $ref: '#/components/schemas/AiArtifactUrl' + AiArtifactCreationResponseMessage: + type: string + description: Message + example: Artifact acknowledged + AiArtifactId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the artifact + AiArtifactName: + type: string + pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ + maxLength: 256 + description: Name of the artifact + AiArtifactUrl: + type: string + pattern: ([a-z0-9-]+):\/\/.+ + maxLength: 1024 + example: https://example.com/some_path + description: 'Reference to the location of the artifact. + + ' + AiArtifactList: type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + $ref: '#/components/schemas/AiArtifactArray' required: - - resourcePlans + - count + - resources + AiArtifactArray: + type: array + items: + $ref: '#/components/schemas/AiArtifact' + AiLogCommonData: + type: object properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourceGetResourcePlans' - BckndResourceGetResourcePlans: + result: + $ref: '#/components/schemas/AiLogCommonResult' + AiLogCommonResult: + type: array + items: + $ref: '#/components/schemas/AiLogCommonResultItem' + AiLogCommonResultItem: type: object - additionalProperties: - type: object - required: - - provisioned - - requested - properties: - provisioned: - type: integer - requested: - type: integer - BckndErrorResponse: + description: Common log record. + properties: + timestamp: + description: Datetime in RFC 3339. + type: string + format: date-time + example: '2021-05-19T00:00:14.347+00:00' + msg: + description: message content. + type: string + AiId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + AiVersionId: + description: Version ID + type: string + AiVersionDescription: + type: string + maxLength: 5000 + example: This is version v1 + description: Version description + AiCreationResponseMessage: + type: string + description: Message + example: Created + AiUrl: + type: string + format: url + AiApiErrorWithId: type: object + required: + - id + - error properties: + id: + $ref: '#/components/schemas/AiId' error: - $ref: '#/components/schemas/BckndError' - BckndError: + $ref: '#/components/schemas/AiApiError' + AiApiError: type: object required: - code @@ -6684,7 +6743,6 @@ components: message: type: string description: Plaintext error description - example: something went wrong requestId: type: string description: ID of the individual request @@ -6695,6 +6753,170 @@ components: description: Optional details of the error message type: object parameters: + KpiquerySelect: + name: $select + description: Columns to select + in: query + required: false + schema: + uniqueItems: true + type: array + readOnly: true + default: + - ResourceGroup + - Executions + - Artifacts + - Deployments + items: + $ref: '#/components/schemas/KpiColumnName' + style: form + explode: false + RTAtokenHeader: + name: Authorization + in: header + description: Authorization bearer token containing a JWT token. + required: false + schema: + type: string + RTAlimit: + in: query + name: $top + description: + The max number of entries to return. Defaults to 1000. Limited + to 5000 max. + required: false + schema: + type: integer + minimum: 1 + maximum: 5000 + default: 1000 + examples: + min: + value: 1 + summary: Min number of entries to return + max: + value: 5000 + summary: Max number of entries to return + default: + value: 1000 + summary: default number of entries to return + RTAstart: + name: start + in: query + description: + The start time for the query as a RFC 3339 datetime format. Defaults + to one hour ago. + in timezone need to be encoded to %2B. + required: false + schema: + type: string + format: date-time + examples: + zulu: + value: '2021-05-19T00:00:14.347Z' + summary: Datetime example use Z as timezone + utc: + value: 2021-05-19T00:00:14.347%2B00:00 + summary: + Datetime example use +00:00 as timezone, where + is encoded to + %2B + local-plus: + value: 2021-05-19T08:00:14.347%2B08:00 + summary: + Datetime example use +08:00 as timezone, where + is encoded to + %2B + local-minus: + value: '2021-05-18T16:00:14.347-08:00' + summary: Datetime example use -08:00 as timezone + RTAend: + name: end + in: query + description: + The end time for the query as a RFC 3339 datetime format. Defaults + to now. + in timezone need to be encoded to %2B. + required: false + schema: + type: string + format: date-time + examples: + zulu: + value: '2021-05-19T01:00:14.347Z' + summary: Datetime example use Z as timezone + utc: + value: 2021-05-19T01:00:14.347%2B00:00 + summary: + Datetime example use +00:00 as timezone, where + is encoded to + %2B + local-plus: + value: 2021-05-19T09:00:14.347%2B08:00 + summary: + Datetime example use +08:00 as timezone, where + is encoded to + %2B + local-minus: + value: '2021-05-18T17:00:14.347-08:00' + summary: Datetime example use -08:00 as timezone + RTAorder: + name: $order + in: query + description: + "Determines the sort order. Supported values are asc or desc. Defaults + to asc. Sort order:\n * `asc` - Ascending, earliest in the order will appear + at the top of the list\n * `desc` - Descending, last in the order will appear + at the top of the list\n" + required: false + schema: + type: string + enum: + - asc + - desc + examples: + asc: + value: asc + summary: Sort the results in ascending order + desc: + value: desc + summary: Sort the results in descending order + RTAexecutionId: + name: executionId + description: Execution identifier + in: path + required: true + schema: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + RTAdeploymentId: + name: deploymentId + description: Deployment identifier + in: path + required: true + schema: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + DSetresourceGroupHeader: + in: header + name: AI-Resource-Group + description: Specify a resource group id + schema: + type: string + required: false + DSetpath: + name: path + in: path + required: true + schema: + type: string + format: path + pattern: ^(([\w.-]+):([\w.-]+)|([\w.-]+))(/([\w./-]+[\w.-]+)?)?$ + maxLength: 1024 + description: path relative to the object store root URL in the secret + DSetoverwrite: + name: overwrite + in: query + required: false + schema: + type: boolean + description: If true, then file is overwritten. Default is false. TrckqueryFilter: example: executionId eq 'aa97b177-9383-4934-8543-0f91b7a0283a' name: $filter @@ -6786,128 +7008,151 @@ components: type: integer example: 10 x-visible: false - RTAtokenHeader: + BckndtokenHeader: name: Authorization in: header description: Authorization bearer token containing a JWT token. required: false schema: type: string - RTAlimit: - in: query - name: $top - description: - The max number of entries to return. Defaults to 1000. Limited - to 5000 max. + Bckndai-resource-group: + name: AI-Resource-Group + in: header + description: Specify an existing resource group id to use required: false schema: - type: integer - minimum: 1 - maximum: 5000 - default: 1000 - examples: - min: - value: 1 - summary: Min number of entries to return - max: - value: 5000 - summary: Max number of entries to return - default: - value: 1000 - summary: default number of entries to return - RTAstart: - name: start - in: query + type: string + Bckndai-resource-group-default: + name: AI-Resource-Group + in: header description: - The start time for the query as a RFC 3339 datetime format. Defaults - to one hour ago. + in timezone need to be encoded to %2B. + Specify an existing resource group id to use. Uses "default" if + value not provided. required: false schema: type: string - format: date-time - examples: - zulu: - value: '2021-05-19T00:00:14.347Z' - summary: Datetime example use Z as timezone - utc: - value: 2021-05-19T00:00:14.347%2B00:00 - summary: - Datetime example use +00:00 as timezone, where + is encoded to - %2B - local-plus: - value: 2021-05-19T08:00:14.347%2B08:00 - summary: - Datetime example use +08:00 as timezone, where + is encoded to - %2B - local-minus: - value: '2021-05-18T16:00:14.347-08:00' - summary: Datetime example use -08:00 as timezone - RTAend: - name: end + default: default + Bckndai-tenant-scope: + name: AI-Tenant-Scope + in: header + description: Specify whether the main tenant scope is to be used + required: false + schema: + type: boolean + example: true + Bckndtop: + name: $top + description: Number of results to display in: query - description: - The end time for the query as a RFC 3339 datetime format. Defaults - to now. + in timezone need to be encoded to %2B. required: false schema: - type: string - format: date-time - examples: - zulu: - value: '2021-05-19T01:00:14.347Z' - summary: Datetime example use Z as timezone - utc: - value: 2021-05-19T01:00:14.347%2B00:00 - summary: - Datetime example use +00:00 as timezone, where + is encoded to - %2B - local-plus: - value: 2021-05-19T09:00:14.347%2B08:00 - summary: - Datetime example use +08:00 as timezone, where + is encoded to - %2B - local-minus: - value: '2021-05-18T17:00:14.347-08:00' - summary: Datetime example use -08:00 as timezone - RTAorder: - name: $order + type: integer + minimum: 0 + example: 10 + Bckndskip: + name: $skip + description: Number of results to be skipped from the ordered list of results in: query + required: false + schema: + type: integer + minimum: 0 + example: 10 + Bckndcount: + name: $count description: - "Determines the sort order. Supported values are asc or desc. Defaults - to asc. Sort order:\n * `asc` - Ascending, earliest in the order will appear - at the top of the list\n * `desc` - Descending, last in the order will appear - at the top of the list\n" + When the $count field is set to false, the response contains a + count of the items present in the response. When the $count field is set to + true, the response contains a count of all the items present on the server, + and not just the ones in the response. When the $count field is not passed, + it is false by default. + in: query required: false + schema: + type: boolean + example: true + BckndresourceGroupId: + name: resourceGroupId + description: Resource group identifier + in: path + required: true schema: type: string - enum: - - asc - - desc - examples: - asc: - value: asc - summary: Sort the results in ascending order - desc: - value: desc - summary: Sort the results in descending order - RTAexecutionId: - name: executionId - description: Execution identifier + pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ + minLength: 3 + maxLength: 253 + example: my-test-rg + BckndobjectStoreName: + name: objectStoreName + description: Name of the object store for the secret. + in: path + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9\.\-_]+$ + example: My_objectStore + BcknddockerRegistryName: + name: dockerRegistryName + description: Name of the docker Registry store for the secret. + in: path + required: true + schema: + type: string + pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ + maxLength: 63 + example: mydockeregistry + BckndsecretName: + name: secretName + in: path + required: true + schema: + type: string + minLength: 1 + maxLength: 252 + pattern: ^[a-z0-9\-\.]+$ + BckndrepositoryName: + name: repositoryName + description: Name of the repository + in: path + required: true + schema: + type: string + minLength: 1 + maxLength: 51 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndapplicationName: + name: applicationName + description: Name of the ArgoCD application in: path required: true schema: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - RTAdeploymentId: - name: deploymentId - description: Deployment identifier + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndServiceName: + name: ServiceName + description: Name of the Service in: path required: true schema: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a + pattern: ^[a-zA-Z0-9\-_]+$ + minLength: 1 + maxLength: 32 + example: cashapp + BckndquotaOnly: + name: quotaOnly + description: + When being set to true, the response contains only the quota of + the resource and not the quota usage. + in: query + required: false + schema: + type: boolean + example: true AiresourceGroupHeader: in: header name: AI-Resource-Group @@ -7131,263 +7376,76 @@ components: example: ext.ai.sap.com/key1=value1,ext.ai.sap.com/key2!=value2 style: form explode: false - required: false - Aistatus: - name: status - description: Filter by status - in: query - required: false - schema: - type: string - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - STOPPING - - STOPPED - - UNKNOWN - example: RUNNING - Aitop: - name: $top - description: Number of results to display - in: query - required: false - schema: - type: integer - maximum: 100000 - default: 10000 - example: 10 - x-visible: false - Aiskip: - name: $skip - description: Number of results to be skipped from the ordered list of results - in: query - required: false - schema: - type: integer - example: 10 - x-visible: false - AiqueryConfigurationExpand: - name: $expand - description: expand detailed information on scenario - in: query - required: false - schema: - type: string - enum: - - scenario - example: scenario - x-visible: false - AiqueryArtifactExpand: - name: $expand - description: expand detailed information on scenario - in: query - required: false - schema: - type: string - enum: - - scenario - example: scenario - x-visible: false - Aiselect: - name: $select - description: Allows to request a specified set of properties for each entity - in: query - required: false - schema: - type: string - enum: - - status - example: status - x-visible: false - KpiquerySelect: - name: $select - description: Columns to select - in: query - required: false - schema: - uniqueItems: true - type: array - readOnly: true - default: - - ResourceGroup - - Executions - - Artifacts - - Deployments - items: - $ref: '#/components/schemas/KpiColumnName' - style: form - explode: false - DSetresourceGroupHeader: - in: header - name: AI-Resource-Group - description: Specify a resource group id - schema: - type: string - required: false - DSetpath: - name: path - in: path - required: true - schema: - type: string - format: path - pattern: ^(([\w.-]+):([\w.-]+)|([\w.-]+))(/([\w./-]+[\w.-]+)?)?$ - maxLength: 1024 - description: path relative to the object store root URL in the secret - DSetoverwrite: - name: overwrite - in: query - required: false - schema: - type: boolean - description: If true, then file is overwritten. Default is false. - BckndtokenHeader: - name: Authorization - in: header - description: Authorization bearer token containing a JWT token. - required: false - schema: - type: string - Bckndai-resource-group: - name: AI-Resource-Group - in: header - description: Specify an existing resource group id to use - required: false - schema: - type: string - Bckndai-resource-group-default: - name: AI-Resource-Group - in: header - description: - Specify an existing resource group id to use. Uses "default" if - value not provided. - required: false - schema: - type: string - default: default - Bckndai-tenant-scope: - name: AI-Tenant-Scope - in: header - description: Specify whether the main tenant scope is to be used - required: false - schema: - type: boolean - example: true - Bckndtop: - name: $top - description: Number of results to display - in: query - required: false - schema: - type: integer - minimum: 0 - example: 10 - Bckndskip: - name: $skip - description: Number of results to be skipped from the ordered list of results - in: query - required: false - schema: - type: integer - minimum: 0 - example: 10 - Bckndcount: - name: $count - description: - When the $count field is set to false, the response contains a - count of the items present in the response. When the $count field is set to - true, the response contains a count of all the items present on the server, - and not just the ones in the response. When the $count field is not passed, - it is false by default. - in: query - required: false - schema: - type: boolean - example: true - BckndresourceGroupId: - name: resourceGroupId - description: Resource group identifier - in: path - required: true - schema: - type: string - pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ - minLength: 3 - maxLength: 253 - example: my-test-rg - BckndobjectStoreName: - name: objectStoreName - description: Name of the object store for the secret. - in: path - required: true - schema: - type: string - pattern: ^[a-zA-Z0-9\.\-_]+$ - example: My_objectStore - BcknddockerRegistryName: - name: dockerRegistryName - description: Name of the docker Registry store for the secret. - in: path - required: true - schema: - type: string - pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ - maxLength: 63 - example: mydockeregistry - BckndsecretName: - name: secretName - in: path - required: true - schema: - type: string - minLength: 1 - maxLength: 252 - pattern: ^[a-z0-9\-\.]+$ - BckndrepositoryName: - name: repositoryName - description: Name of the repository - in: path - required: true + required: false + Aistatus: + name: status + description: Filter by status + in: query + required: false schema: type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndapplicationName: - name: applicationName - description: Name of the ArgoCD application - in: path - required: true + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - STOPPING + - STOPPED + - UNKNOWN + example: RUNNING + Aitop: + name: $top + description: Number of results to display + in: query + required: false + schema: + type: integer + maximum: 100000 + default: 10000 + example: 10 + x-visible: false + Aiskip: + name: $skip + description: Number of results to be skipped from the ordered list of results + in: query + required: false + schema: + type: integer + example: 10 + x-visible: false + AiqueryConfigurationExpand: + name: $expand + description: expand detailed information on scenario + in: query + required: false schema: type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndServiceName: - name: ServiceName - description: Name of the Service - in: path - required: true + enum: + - scenario + example: scenario + x-visible: false + AiqueryArtifactExpand: + name: $expand + description: expand detailed information on scenario + in: query + required: false schema: type: string - pattern: ^[a-zA-Z0-9\-_]+$ - minLength: 1 - maxLength: 32 - example: cashapp - BckndquotaOnly: - name: quotaOnly - description: - When being set to true, the response contains only the quota of - the resource and not the quota usage. + enum: + - scenario + example: scenario + x-visible: false + Aiselect: + name: $select + description: Allows to request a specified set of properties for each entity in: query required: false schema: - type: boolean - example: true + type: string + enum: + - status + example: status + x-visible: false responses: MetaNotFound: description: The specified resource was not found @@ -7398,42 +7456,33 @@ components: properties: error: $ref: '#/components/schemas/MetaApiError' - TrckBadRequest: - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/TrckApiError' - description: The specification of the resource was incorrect - TrckNotImplemented: + KpiNotFound: + description: The specified resource was not found content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - description: Operation is not Supported. - TrckNotFound: - description: The specified resource was not found + $ref: '#/components/schemas/KpiApiError' + KpiTooManyRequests: + description: Too many requests content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - TrckPayloadTooLarge: + $ref: '#/components/schemas/KpiApiError' + KpiInvalidRequest: + description: Invalid request content: application/json: schema: type: object properties: error: - $ref: '#/components/schemas/TrckApiError' - description: request entity is larger than limits defined by server. + $ref: '#/components/schemas/KpiApiError' RTANotFound: description: The specified resource was not found content: @@ -7460,71 +7509,6 @@ components: application/json: schema: $ref: '#/components/schemas/RTAErrorResponse' - AiNotFound: - description: The specified resource was not found - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/AiApiError' - AiPreconditionFailed: - description: - The service didn't meet the precondition needed to execute this - operation - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/AiApiError' - AiBadRequest: - description: The specification of the resource was incorrect - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/AiApiError' - TntNotFound: - description: The specified resource was not found - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/TntApiError' - KpiNotFound: - description: The specified resource was not found - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/KpiApiError' - KpiTooManyRequests: - description: Too many requests - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/KpiApiError' - KpiInvalidRequest: - description: Invalid request - content: - application/json: - schema: - type: object - properties: - error: - $ref: '#/components/schemas/KpiApiError' DSetBadRequest: description: The specification of the resource was incorrect content: @@ -7641,6 +7625,42 @@ components: the artifact API to register this file. schema: $ref: '#/components/schemas/DSetUrl' + TrckBadRequest: + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + description: The specification of the resource was incorrect + TrckNotImplemented: + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + description: Operation is not Supported. + TrckNotFound: + description: The specified resource was not found + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + TrckPayloadTooLarge: + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + description: request entity is larger than limits defined by server. BckndCommonError: description: HTTP status codes 401, 403 or 500. Response body contains further @@ -7661,3 +7681,41 @@ components: application/json: schema: $ref: '#/components/schemas/BckndErrorResponse' + TntNotFound: + description: The specified resource was not found + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TntApiError' + AiNotFound: + description: The specified resource was not found + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/AiApiError' + AiPreconditionFailed: + description: + The service didn't meet the precondition needed to execute this + operation + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/AiApiError' + AiBadRequest: + description: The specification of the resource was incorrect + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/AiApiError'