From 2d4b391dae2cea8a61d9bc13f16958569da922e9 Mon Sep 17 00:00:00 2001 From: SAP Cloud SDK Bot Date: Fri, 16 May 2025 07:23:50 +0000 Subject: [PATCH] Update ai-api based on main --- .../ai-api/src/client/AI_CORE_API/index.ts | 1 + .../src/client/AI_CORE_API/metrics-api.ts | 6 +- .../schema/bcknd-extended-service.ts | 2 + .../bcknd-shared-resource-group-status.ts | 23 + .../src/client/AI_CORE_API/schema/index.ts | 257 +- .../AI_CORE_API/schema/rta-model-base-data.ts | 8 + .../AI_CORE_API/schema/rta-model-version.ts | 8 + .../AI_CORE_API/schema/tnt-api-error.ts | 31 + .../AI_CORE_API/schema/tnt-tenant-info.ts | 21 + .../schema/trck-get-metric-resource.ts | 3 + .../schema/trck-metric-resource.ts | 3 + .../src/client/AI_CORE_API/tenant-info-api.ts | 25 + packages/ai-api/src/spec/AI_CORE_API.yaml | 7355 +++++++++-------- 13 files changed, 4013 insertions(+), 3730 deletions(-) create mode 100644 packages/ai-api/src/client/AI_CORE_API/schema/bcknd-shared-resource-group-status.ts create mode 100644 packages/ai-api/src/client/AI_CORE_API/schema/tnt-api-error.ts create mode 100644 packages/ai-api/src/client/AI_CORE_API/schema/tnt-tenant-info.ts create mode 100644 packages/ai-api/src/client/AI_CORE_API/tenant-info-api.ts 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 aeafe2883..03759b960 100644 --- a/packages/ai-api/src/client/AI_CORE_API/index.ts +++ b/packages/ai-api/src/client/AI_CORE_API/index.ts @@ -23,4 +23,5 @@ export * from './application-api.js'; export * from './docker-registry-secret-api.js'; export * from './service-api.js'; export * from './resource-quota-api.js'; +export * from './tenant-info-api.js'; export * from './schema/index.js'; diff --git a/packages/ai-api/src/client/AI_CORE_API/metrics-api.ts b/packages/ai-api/src/client/AI_CORE_API/metrics-api.ts index 5cd5116f5..edc6891ab 100644 --- a/packages/ai-api/src/client/AI_CORE_API/metrics-api.ts +++ b/packages/ai-api/src/client/AI_CORE_API/metrics-api.ts @@ -22,8 +22,9 @@ export const MetricsApi = { * Retrieve metrics, labels, or tags according to filter conditions. * One query parameter is mandatory, either execution ID or filter. * Use up to 10 execution IDs in a query parameter. + * With top/skip parameters it is possible to paginate the result list. * - * @param queryParameters - Object containing the following keys: $filter, executionIds, $select. + * @param queryParameters - Object containing the following keys: $filter, executionIds, $select, tagFilters, $top, $skip. * @param headerParameters - Object containing the following keys: AI-Resource-Group. * @returns The request builder, use the `execute()` method to trigger the request. */ @@ -32,6 +33,9 @@ export const MetricsApi = { $filter?: string; executionIds?: TrckStringArray; $select?: TrckmetricSelectorPermissibleValues; + tagFilters?: string; + $top?: number; + $skip?: number; }, headerParameters: { 'AI-Resource-Group': string } ) => diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-extended-service.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-extended-service.ts index 6b86cc25e..157e2c415 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-extended-service.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-extended-service.ts @@ -6,6 +6,7 @@ import type { BckndServiceBrokerSecret } from './bcknd-service-broker-secret.js'; import type { BckndServiceCapabilities } from './bcknd-service-capabilities.js'; import type { BckndServiceServiceCatalog } from './bcknd-service-service-catalog.js'; +import type { BckndSharedResourceGroupStatus } from './bcknd-shared-resource-group-status.js'; /** * Representation of the 'BckndExtendedService' schema. */ @@ -25,6 +26,7 @@ export type BckndExtendedService = { brokerSecret?: BckndServiceBrokerSecret; capabilities?: BckndServiceCapabilities; serviceCatalog?: BckndServiceServiceCatalog; + sharedResourceGroupStatus?: BckndSharedResourceGroupStatus; /** * aggregated status of the service */ diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-shared-resource-group-status.ts b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-shared-resource-group-status.ts new file mode 100644 index 000000000..826ce4d77 --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/schema/bcknd-shared-resource-group-status.ts @@ -0,0 +1,23 @@ +/* + * 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 'BckndSharedResourceGroupStatus' schema. + */ +export type BckndSharedResourceGroupStatus = { + /** + * indicates whether shared resource group is enabled + */ + isEnabled?: boolean; + /** + * shared resource group id + */ + id?: string; + /** + * current state of shared resource group + */ + state?: string; +} & Record; 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 fad2f1946..37e2a2471 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 @@ -3,9 +3,6 @@ * * This is a generated file powered by the SAP Cloud SDK for JavaScript. */ -export * from './d-set-url.js'; -export * from './d-set-error.js'; -export * from './d-set-file-creation-response.js'; export * from './kpi-column-name.js'; export * from './kpi-array-of-column-names.js'; export * from './kpi-aggregation-attribute.js'; @@ -15,6 +12,107 @@ 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 './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'; +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'; @@ -129,32 +227,6 @@ 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 './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 './rta-id.js'; export * from './rta-ttl.js'; export * from './rta-label-list.js'; @@ -208,107 +280,38 @@ export * from './rt-atimestamp.js'; export * from './rt-amessage.js'; export * from './rta-error-response.js'; export * from './rta-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 './d-set-url.js'; +export * from './d-set-error.js'; +export * from './d-set-file-creation-response.js'; export * from './meta-capabilities.js'; export * from './meta-extensions.js'; 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 './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-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/client/AI_CORE_API/schema/rta-model-base-data.ts b/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-base-data.ts index 3bc2e8b02..ec19213e0 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-base-data.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-base-data.ts @@ -5,6 +5,7 @@ */ import type { RTAExecutableId } from './rta-executable-id.js'; import type { RTAModelVersionList } from './rta-model-version-list.js'; +import type { RTAScenarioId } from './rta-scenario-id.js'; /** * Representation of the 'RTAModelBaseData' schema. */ @@ -31,4 +32,11 @@ export type RTAModelBaseData = { * Provider of the model */ provider?: string; + /** + * List of scenarioId:executuableId pair where the model supported + */ + allowedScenarios?: ({ + scenarioId: RTAScenarioId; + executableId: RTAExecutableId; + } & Record)[]; } & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-version.ts b/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-version.ts index 6489d01b4..805040694 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-version.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/rta-model-version.ts @@ -48,4 +48,12 @@ export type RTAModelVersion = { * List of suggested replacements for the model */ suggestedReplacements?: string[]; + /** + * Streaming support status of the model + */ + streamingSupported?: boolean; + /** + * List of model capabilities supported by orchestration service + */ + orchestrationCapabilities?: string[]; } & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/tnt-api-error.ts b/packages/ai-api/src/client/AI_CORE_API/schema/tnt-api-error.ts new file mode 100644 index 000000000..93e3a6935 --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/schema/tnt-api-error.ts @@ -0,0 +1,31 @@ +/* + * 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 'TntApiError' schema. + */ +export type TntApiError = { + /** + * Descriptive error code (not http status code) + */ + code: string; + /** + * Plaintext error description + */ + message: string; + /** + * ID of the individual request + */ + requestId?: string; + /** + * Invoked URL + */ + target?: string; + /** + * Optional details of the error message + */ + details?: Record; +} & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/tnt-tenant-info.ts b/packages/ai-api/src/client/AI_CORE_API/schema/tnt-tenant-info.ts new file mode 100644 index 000000000..771c9adf7 --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/schema/tnt-tenant-info.ts @@ -0,0 +1,21 @@ +/* + * 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 'TntTenantInfo' schema. + */ +export type TntTenantInfo = { + /** + * tenant id + * @example "aa97b177-9383-4934-8543-0f91a7a0283a" + */ + tenantId: string; + servicePlan: string; + /** + * Provisioning status of the tenant + */ + status: string; +} & Record; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/trck-get-metric-resource.ts b/packages/ai-api/src/client/AI_CORE_API/schema/trck-get-metric-resource.ts index ea8cb5952..0ba0b18cf 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/trck-get-metric-resource.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/trck-get-metric-resource.ts @@ -4,6 +4,7 @@ * This is a generated file powered by the SAP Cloud SDK for JavaScript. */ import type { TrckExecutionId } from './trck-execution-id.js'; +import type { TrckTimestamp } from './trck-timestamp.js'; import type { TrckGetMetricList } from './trck-get-metric-list.js'; import type { TrckTagList } from './trck-tag-list.js'; import type { TrckCustomInfoObjectList } from './trck-custom-info-object-list.js'; @@ -12,6 +13,8 @@ import type { TrckCustomInfoObjectList } from './trck-custom-info-object-list.js */ export type TrckGetMetricResource = { executionId: TrckExecutionId; + createdAt?: TrckTimestamp; + modifiedAt?: TrckTimestamp; metrics?: TrckGetMetricList; tags?: TrckTagList; customInfo?: TrckCustomInfoObjectList; diff --git a/packages/ai-api/src/client/AI_CORE_API/schema/trck-metric-resource.ts b/packages/ai-api/src/client/AI_CORE_API/schema/trck-metric-resource.ts index b26ac7c53..46ac50a41 100644 --- a/packages/ai-api/src/client/AI_CORE_API/schema/trck-metric-resource.ts +++ b/packages/ai-api/src/client/AI_CORE_API/schema/trck-metric-resource.ts @@ -4,6 +4,7 @@ * This is a generated file powered by the SAP Cloud SDK for JavaScript. */ import type { TrckExecutionId } from './trck-execution-id.js'; +import type { TrckTimestamp } from './trck-timestamp.js'; import type { TrckMetricList } from './trck-metric-list.js'; import type { TrckTagList } from './trck-tag-list.js'; import type { TrckCustomInfoObjectList } from './trck-custom-info-object-list.js'; @@ -12,6 +13,8 @@ import type { TrckCustomInfoObjectList } from './trck-custom-info-object-list.js */ export type TrckMetricResource = { executionId: TrckExecutionId; + createdAt?: TrckTimestamp; + modifiedAt?: TrckTimestamp; metrics?: TrckMetricList; tags?: TrckTagList; customInfo?: TrckCustomInfoObjectList; diff --git a/packages/ai-api/src/client/AI_CORE_API/tenant-info-api.ts b/packages/ai-api/src/client/AI_CORE_API/tenant-info-api.ts new file mode 100644 index 000000000..ec5eeef3e --- /dev/null +++ b/packages/ai-api/src/client/AI_CORE_API/tenant-info-api.ts @@ -0,0 +1,25 @@ +/* + * 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 { TntTenantInfo } from './schema/index.js'; +/** + * Representation of the 'TenantInfoApi'. + * This API is part of the 'AI_CORE_API' service. + */ +export const TenantInfoApi = { + _defaultBasePath: undefined, + /** + * Tenant information containing the service plan that the tenant is subscribed to. + * @returns The request builder, use the `execute()` method to trigger the request. + */ + tenantInfoGet: () => + new OpenApiRequestBuilder( + 'get', + '/admin/tenantInfo', + {}, + TenantInfoApi._defaultBasePath + ) +}; diff --git a/packages/ai-api/src/spec/AI_CORE_API.yaml b/packages/ai-api/src/spec/AI_CORE_API.yaml index 9e9335a90..97cbca29c 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.38.0 + version: 2.40.0 x-sap-shortText: Create and manage AI scenarios, trainings, deployments, and artifacts in SAP AI Core. @@ -57,6 +57,8 @@ tags: description: Access to objectStoreSecrets - name: Secret description: Access to generic secrets + - name: Tenant + description: Access to tenant information - name: Meta description: Metadata about API provider and capabilities - name: Execution Schedule @@ -995,7 +997,8 @@ paths: description: "Retrieve metrics, labels, or tags according to filter conditions. \nOne query parameter is mandatory, either execution ID or filter. \nUse up - to 10 execution IDs in a query parameter.\n" + to 10 execution IDs in a query parameter.\nWith top/skip parameters it is + possible to paginate the result list.\n" tags: - Metrics parameters: @@ -1003,6 +1006,9 @@ paths: - $ref: '#/components/parameters/TrckqueryFilter' - $ref: '#/components/parameters/TrckexecutionIds' - $ref: '#/components/parameters/TrckmetricAttributeSelector' + - $ref: '#/components/parameters/TrcktagFilters' + - $ref: '#/components/parameters/Trcktop' + - $ref: '#/components/parameters/Trckskip' responses: '200': content: @@ -2460,6 +2466,25 @@ paths: $ref: '#/components/responses/BckndBadRequest' default: $ref: '#/components/responses/BckndCommonError' + /admin/tenantInfo: + parameters: [] + get: + tags: + - Tenant Info + summary: Information about a specified tenant + description: + Tenant information containing the service plan that the tenant + is subscribed to. + operationId: tenant_info.get + responses: + '200': + description: A tenant info object + content: + application/json: + schema: + $ref: '#/components/schemas/TntTenantInfo' + '404': + $ref: '#/components/responses/TntNotFound' components: securitySchemes: Oauth2: @@ -2472,65 +2497,6 @@ components: tokenUrl: https://(subdomain_identity_zone).authentication.(host)/oauth/token scopes: {} schemas: - DSetUrl: - type: string - format: url - example: https://download.example.com/test/file.bin - DSetError: - description: Error Response - type: object - properties: - code: - type: string - minLength: 1 - message: - type: string - minLength: 1 - target: - type: string - minLength: 1 - requestId: - type: string - details: - type: array - uniqueItems: true - minItems: 0 - items: - required: - - code - - message - properties: - code: - type: string - minLength: 1 - message: - type: string - minLength: 1 - required: - - code - - message - x-examples: - example-1: - code: '03021655' - message: Bad request encountered. Please try again with possible-solution-here. - target: /url/path - requestId: 9832bf934f3743v3948v3 - details: - - code: '01041211' - message: Optional nested error message. - DSetFileCreationResponse: - description: Response for successful file creation - type: object - required: - - message - - url - properties: - message: - type: string - description: File creation response message - example: File creation acknowledged - url: - $ref: '#/components/schemas/DSetUrl' KpiColumnName: readOnly: true type: string @@ -2626,222 +2592,345 @@ components: details: description: Optional details of the error message type: object - AiScenario: + 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 - 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. - - ' + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndResourceGroup' required: - - name - - id - - createdAt - - modifiedAt + - count + - resources + BckndResourceGroupBase: + type: object properties: - name: + resourceGroupId: + description: resource group id type: string - maxLength: 256 - description: Name of the scenario - description: + tenantId: + description: tenant id + type: string + zoneId: + description: zone id + type: string + BckndResourceGroup: + type: object + properties: + resourceGroupId: + description: resource group id + type: string + tenantId: + description: tenant id + type: string + zoneId: + description: zone id type: string - maxLength: 5000 - description: Description of the scenario - labels: - $ref: '#/components/schemas/AiScenarioLabelList' - id: - $ref: '#/components/schemas/AiScenarioId' createdAt: + description: Timestamp of resource group creation type: string - description: Timestamp of resource creation format: date-time - modifiedAt: + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + status: + description: aggregated status of the onboarding process + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message + type: string + required: + - status + - createdAt + - resourceGroupId + BckndInternalResourceGroup: + 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 - description: Timestamp of latest resource modification - AiScenarioLabelList: + labels: + $ref: '#/components/schemas/BckndInternalResourceGroupLabels' + status: + description: aggregated status of the onboarding process + type: string + enum: + - PROVISIONED + - ERROR + - PROVISIONING + statusMessage: + description: status message + type: string + annotations: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' + required: + - status + - createdAt + - resourceGroupId + BckndResourceGroupsPostRequest: + type: object + properties: + resourceGroupId: + description: resource group id + type: string + pattern: ^[a-zA-Z0-9][a-zA-Z0-9.-]{1,251}[a-zA-Z0-9]$ + minLength: 3 + maxLength: 253 + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndResourceGroupLabels: type: array description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/AiScenarioLabel' - AiLabelList: + $ref: '#/components/schemas/BckndResourceGroupLabel' + BckndResourceGroupLabel: + type: object + required: + - key + - value + properties: + key: + type: string + pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ + maxLength: 63 + example: ext.ai.sap.com/my-label + value: + type: string + maxLength: 5000 + BckndInternalResourceGroupLabels: type: array description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/AiLabel' - AiScenarioLabel: + $ref: '#/components/schemas/BckndInternalResourceGroupLabel' + BckndInternalResourceGroupLabel: type: object required: - key - value properties: key: - $ref: '#/components/schemas/AiScenarioLabelKey' + 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: - $ref: '#/components/schemas/AiLabelValue' - AiLabel: + type: string + maxLength: 5000 + BckndInternalResourceGroupAnnotations: + type: array + description: Arbitrary annotations as meta information + items: + $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' + BckndInternalResourceGroupAnnotation: type: object required: - key - value properties: key: - $ref: '#/components/schemas/AiLabelKey' + 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: - $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: + type: string + maxLength: 5000 + BckndResourceGroupDeletionResponse: type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiScenario' + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' required: - - count - - resources - AiModelList: + - id + - message + BckndResourceGroupDeletionResponseMessage: + type: string + description: Message + example: Resource Group deletion scheduled + BckndResourceGroupPatchRequest: type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiModelBaseData' - required: - - count - - resources - AiModelBaseData: + labels: + $ref: '#/components/schemas/BckndResourceGroupLabels' + BckndEvent: type: object - required: - - model - - executableId - - description - - versions properties: - model: + tenantId: + description: tenant id type: string - description: Name of the model - executableId: - $ref: '#/components/schemas/AiExecutableId' + action: + type: string + enum: + - PROVISION + - DEPROVISION + state: + type: string + enum: + - SUCCESSFUL + - FAILED + - PENDING description: + description: describes the event state type: string - description: Description of the model and its capabilities - versions: - $ref: '#/components/schemas/AiModelVersionList' - displayName: + createdAt: type: string - description: Display name of the model - accessType: + format: date-time + example: '2017-09-28T08:56:23.275Z' + BckndTenant: + type: object + properties: + tenantId: + description: tenant id type: string - description: Access type of the model - provider: + zoneId: + description: zone id type: string - description: Provider of the model - AiModelVersionList: - type: array - description: List of model versions that the model object has - items: - $ref: '#/components/schemas/AiModelVersion' - AiModelVersion: + realSubaccountId: + description: real sub account id + type: string + servicePlan: + description: service plan + type: string + BckndobjectStoreSecretWithSensitiveDataRequest: type: object description: - Model version information including whether it is latest version, - its deprecation status and optional retirement date + This represents all the meta-data and extra information to be stored + as a k8-secret required: - name - - isLatest - - deprecated + - type + - data properties: name: type: string - description: Name of model version - isLatest: - type: boolean - description: Displays whether it is the latest version offered for the model - deprecated: - type: boolean - description: Deprecation status of model - retirementDate: + description: + Name of the object store for the secret object to be created. + Can be used later on check for existence of the secret. + example: myobjectstore + type: type: string - description: Retirement date of model in ISO 8601 timestamp - contextLength: - type: integer - description: Context length of the model - inputTypes: - type: array - description: List of input types supported by the model - items: - type: string - capabilities: - type: array - description: List of capabilities supported by the model - items: - type: string - metadata: - type: array - description: List of metadata supported by the model - items: - type: object - additionalProperties: - type: string - cost: - type: array - description: List of costs associated with the model - items: - type: object - additionalProperties: - type: string - suggestedReplacements: - type: array - description: List of suggested replacements for the model - items: - type: string - AiVersion: + description: Storage type e.g. S3, GCS,... + example: S3 + bucket: + type: string + description: Bucket to be used + example: mybucket1 + endpoint: + type: string + description: Optional parameter - URL of the storage server (S3 only) + example: www.example.com + region: + type: string + description: Optional parameter - Region of the storage server (S3 only) + example: eu + pathPrefix: + type: string + description: prefix folder to be added to storage path + example: mp-api + verifyssl: + type: string + description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl + example: '0' + usehttps: + type: string + description: 0, 1 flag for KF-serving annotations - serving.kubeflow.org/s3-usehttps + example: '1' + default: '1' + data: + type: object + description: key:value pairs of data + writeOnly: true + BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: type: object + description: + This represents all the meta-data and extra information to be stored + as a k8-secret required: - - id - - createdAt - - modifiedAt + - name + - type + - data properties: - description: - $ref: '#/components/schemas/AiVersionDescription' - id: - $ref: '#/components/schemas/AiVersionId' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - createdAt: + name: type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + 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 - format: date-time - description: Timestamp of latest resource modification - AiVersionList: + 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: @@ -2850,63 +2939,154 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiVersion' + $ref: '#/components/schemas/BckndobjectStoreSecretStatus' required: - count - resources - AiExecutable: + BckndobjectStoreSecretStatus: + type: object description: - 'An ML executable consists of a set of ML tasks, flows between - tasks, dependencies between tasks, models (or model versions?). - - ' + This represents the meta-data of a stored secret. The 'data' field + of the secret is never retrieved. + properties: + metadata: + description: + Key value pairs of meta-data assigned to the secret when the + secret was being created. + type: object + properties: + serving.kubeflow.org/s3-usehttps: + type: string + description: 0 and 1 values for setting the flag + example: '1' + serving.kubeflow.org/s3-verifyssl: + type: string + description: 0 and 1 values for setting the flag + example: '0' + serving.kubeflow.org/s3-endpoint: + type: string + description: Annotation for endpoint required by KF_Serving + example: some_endpoint + serving.kubeflow.org/s3-region: + type: string + description: Annotation for region required by KF_Serving + example: EU + storage.ai.sap.com/type: + type: string + description: Storage type of the secret + example: S3 + storage.ai.sap.com/bucket: + type: string + description: bucket assigned to the secret on creation + example: my_bucket + storage.ai.sap.com/endpoint: + type: string + description: Endpoint assigned to the secret on creation + example: some_endpoint + storage.ai.sap.com/region: + type: string + description: Region of the storage server + example: EU + storage.ai.sap.com/pathPrefix: + type: string + description: Pathprefix type assigned to the secret on creation. + example: mnist_folder + storage.ai.sap.com/hdfsNameNode: + type: string + description: name node of the HDFS file system + example: https://c3272xxxxxfa8f.files.hdl.canary-eu10.hanacloud.ondemand.com + storage.ai.sap.com/headers: + type: string + description: headers for webHDFS and other protocols + example: '{"x-sap-filecontainer": "c32727xxxxxxx322dcfa8f"}' + storage.ai.sap.com/containerUri: + type: string + description: container uri of azure storage + example: https://sapcv842awjkfb2.blob.core.windows.net/sapcp-osaas-xxx-xxxx-xxxx-xxxx-xxxx-zrs + storage.ai.sap.com/subscriptionId: + type: string + description: subscription id + example: dgewg2-gkrwnegiw + storage.ai.sap.com/tenantId: + type: string + description: tenant id + example: dawd2120-dadwad2 + storage.ai.sap.com/projectId: + type: string + description: project id of google cloud platform + example: sap-gcp-oaas-us31-1 + name: + description: Name of objectstore + type: string + example: myobjectstore-object-store-secret + BckndobjectStoreSecretDeletionResponse: type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' required: - - name - id - - versionId - - deployable - - createdAt - - modifiedAt + - message + BckndobjectStoreSecretDeletionResponseMessage: + type: string + description: Message + example: Object Store Secret has been deleted + BckndobjectStoreSecretCreationResponse: + type: object + description: Message + example: Created + properties: + message: + $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' + BckndobjectStoreSecretCreationResponseMessage: + type: string + description: Message + example: Secret has been created + BckndobjectStoreSecretModificationResponseMessage: + type: string + description: Message + example: Secret has been modified + BckndobjectStoreSecretModificationResponse: + type: object properties: - 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/BckndId' + message: + $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' + required: + - id + - message + BcknddockerRegistryNameComponent: + description: Name of the docker Registry store for the secret. type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the executable - AiExecutableList: + 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: @@ -2915,114 +3095,136 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiExecutable' + $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' required: - count - resources - AiExecutableParameter: + BcknddockerRegistrySecretStatus: type: object - required: - - name + 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 - 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: - type: array - description: Executable parameters - items: - $ref: '#/components/schemas/AiExecutableParameter' - AiExecutableArtifact: + example: mydockeregistry + BcknddockerRegistrySecretDeletionResponse: type: object - required: - - name properties: - 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: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' + 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: - 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' - - {} + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' required: - - name - - executableId - - scenarioId - id - - createdAt - AiConfigurationBaseData: + - message + BckndGenericSecretData: + description: Base64 encoded secret data + type: object + additionalProperties: + type: string + BckndGenericSecretPostBody: type: object required: - name - - executableId - - scenarioId + - data 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 - 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: + 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: + type: object + required: + - name + - createdAt + properties: + name: + description: Name of the secret + type: string + 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. + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndGenericSecretDetails' + required: + - count + - resources + BckndGenericSecretLabels: + type: array + description: Arbitrary labels as meta information + items: + $ref: '#/components/schemas/BckndGenericSecretLabel' + BckndGenericSecretLabel: type: object required: - key @@ -3030,42 +3232,48 @@ components: properties: key: type: string - maxLength: 256 + 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 - description: 'Required for execution - - Result of activation - - ' - AiParameterArgumentBindingList: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/AiParameterArgumentBinding' - AiArtifactArgumentBinding: + BckndArgoCDRepositoryData: type: object required: - - key - - artifactId + - url + - username + - password properties: - key: + name: + description: Name of the repository type: string - 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: + 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: @@ -3074,131 +3282,110 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiConfiguration' + $ref: '#/components/schemas/BckndArgoCDRepositoryDetails' required: - count - resources - AiConfigurationCreationResponse: + BckndArgoCDRepositoryCreationResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiConfigurationCreationResponseMessage' + $ref: '#/components/schemas/BckndArgoCDRepositoryCreationResponseMessage' required: - id - message - AiConfigurationCreationResponseMessage: + BckndArgoCDRepositoryCreationResponseMessage: 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: + example: Repository has been on-boarded + BckndArgoCDRepositoryDetails: type: object - description: Execution that may generate artifacts + description: Repository details 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: + 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 - description: Target status of the execution enum: + - ERROR + - IN-PROGRESS - 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: + example: COMPLETED + BckndArgoCDRepositoryDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' + required: + - id + - message + BckndArgoCDRepositoryDeletionResponseMessage: + type: string + description: Message + example: 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: ArgoCD application has been updated + BckndArgoCDApplicationBaseData: + type: object + required: + - repositoryUrl + - revision + - path + properties: + repositoryUrl: + description: URL of the repository to synchronise type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + revision: + description: revision to synchronise type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: + path: + description: path within the repository to synchronise type: string - format: date-time - description: Timestamp of job submitted - startTime: + BckndArgoCDApplicationData: + type: object + properties: + repositoryUrl: + description: URL of the repository to synchronise type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + revision: + description: revision to synchronise type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + path: + description: path within the repository to synchronise + type: string + applicationName: + description: ArgoCD application name + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ required: - - id - - configurationId - - status - - createdAt - - modifiedAt - AiExecutionId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the execution - AiExecutionList: + - repositoryUrl + - revision + - path + BckndAllArgoCDApplicationData: + description: list of applications type: object properties: count: @@ -3207,715 +3394,603 @@ components: resources: type: array items: - $ref: '#/components/schemas/AiExecution' + $ref: '#/components/schemas/BckndArgoCDApplicationData' required: - count - resources - AiExecutionCreationResponse: + BckndArgoCDApplicationDataRepoName: + type: object + required: + - repositoryName + - revision + - path + properties: + repositoryName: + description: Name of the repository to synchronise + type: string + revision: + description: revision to synchronise + type: string + path: + description: path within the repository to synchronise + type: string + applicationName: + description: ArgoCD application name + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + BckndArgoCDApplicationStatus: + 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 + 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/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiExecutionCreationResponseMessage' - status: - $ref: '#/components/schemas/AiExecutionStatus' + $ref: '#/components/schemas/BckndArgoCDApplicationDeletionResponseMessage' required: - id - message - AiExecutionCreationResponseMessage: + BckndArgoCDApplicationDeletionResponseMessage: type: string description: Message - example: Execution scheduled - AiExecutionModificationRequest: + example: ArgoCD application has been deleted + BckndArgoCDApplicationCreationResponse: type: object - description: - Request object for changing the target status of an execution (currently - only STOPPED is supported) - required: - - targetStatus properties: - targetStatus: - type: string - description: - Desired target status of the execution (currently only STOPPED - is supported) - enum: - - STOPPED - AiExecutionModificationRequestWithIdentifier: + id: + $ref: '#/components/schemas/BckndId' + message: + $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' required: - - targetStatus - id + - message + BckndArgoCDApplicationCreationResponseMessage: + type: string + description: Message + example: ArgoCD application has been created + BckndArgoCDApplicationModificationResponse: type: object properties: id: - $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' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiExecutionModificationResponseMessage' + $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' required: - id - message - 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: + BckndArgoCDApplicationModificationResponseMessage: + type: string + description: Message + example: ArgoCD application has been updated + BckndArgoCDApplicationRefreshResponse: type: object properties: id: - $ref: '#/components/schemas/AiId' + $ref: '#/components/schemas/BckndId' message: - $ref: '#/components/schemas/AiExecutionDeletionResponseMessage' + $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' required: - id - message - AiExecutionDeletionResponseMessage: - type: string - description: Message - example: Execution deletion scheduled - AiExecutionModificationResponseMessage: + BckndArgoCDApplicationRefreshResponseMessage: type: string description: Message - example: Execution modification scheduled - AiExecutionResponseWithDetails: + example: Refresh of ArgoCD application has been scheduled + BckndServiceList: 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: - 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: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/BckndService' + required: + - count + - resources + BckndService: + type: object + properties: + name: + description: service name type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + description: + description: service description type: string - format: date-time - description: Timestamp of latest resource modification - submissionTime: + url: + description: service broker url type: string - format: date-time - description: Timestamp of job submitted - startTime: + status: + description: aggregated status of the service type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message 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: + BckndExtendedService: type: object - description: Data about execution schedule - required: - - configurationId - - cron - - name - - createdAt - - modifiedAt properties: - cron: - $ref: '#/components/schemas/AiCron' name: - maxLength: 256 + description: service name type: string - description: Name of the execution schedule - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - start: + description: + description: service description type: string - description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: + url: + description: service broker url type: string - description: Timestamp, defining when the executions should stop running - format: date-time - id: - $ref: '#/components/schemas/AiExecutionScheduleId' + brokerSecret: + $ref: '#/components/schemas/BckndServiceBrokerSecret' + capabilities: + $ref: '#/components/schemas/BckndServiceCapabilities' + serviceCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalog' + sharedResourceGroupStatus: + $ref: '#/components/schemas/BckndSharedResourceGroupStatus' status: - $ref: '#/components/schemas/AiExecutionScheduleStatus' - createdAt: + description: aggregated status of the service type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: + enum: + - PROVISIONED + - ERROR + - PROVISIONING + - DEPROVISIONING + statusMessage: + description: status message 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: + BckndServiceBrokerSecret: type: object - description: Start and end an execution schedule. properties: - cron: - $ref: '#/components/schemas/AiCron' name: - maxLength: 256 + description: broker secret name type: string - description: Name of the execution schedule - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - start: + passwordKeyRef: + description: username key reference in broker secret type: string - description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: + usernameKeyRef: + description: password key reference in broker secret type: string - description: Timestamp, defining when the executions should stop running - format: date-time - required: - - configurationId - - cron - - name - AiExecutionScheduleList: + BckndServiceCapabilities: type: object properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/AiExecutionSchedule' - required: - - count - - resources - AiExecutionScheduleModificationRequest: + 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 - description: Request object for changing the execution schedule properties: - cron: - $ref: '#/components/schemas/AiCron' - start: + extendCatalog: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' + extendCredentials: + $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' + BckndServiceServiceCatalogItemExtendCatalog: + type: object + properties: + bindable: + description: if the service is bindable + type: boolean + description: + description: description of the service type: string - description: - Timestamp, defining when the executions should start running - periodically, defaults to now - format: date-time - end: + id: + description: id of the service 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: + name: + description: name of the service + type: string + plans: + type: array + items: + $ref: '#/components/schemas/BckndServiceServicePlanItem' + BckndServiceServicePlanItem: type: object properties: + description: + description: description of the service plan + type: string + free: + description: if the service plan free + type: boolean id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionScheduleModificationResponseMessage' - required: - - id - - message - AiExecutionScheduleModificationResponseMessage: - type: string - description: Message - example: Execution Schedule modified - AiExecutionScheduleDeletionResponse: + description: id of the service plan + type: string + name: + description: name of the service plan + type: string + metadata: + $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' + BckndServiceServicePlanItemMetadata: 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: + supportedPlatforms: + description: supported platforms of the service plan + type: array + items: + type: string + enum: + - cloudfoundry + - kubernetes + - sapbtp + BckndServiceServiceCatalogItemExtendCredentials: type: object properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiExecutionScheduleCreationResponseMessage' - required: - - id - - message - AiExecutionScheduleCreationResponseMessage: - type: string - description: Message - example: Execution Schedule created - AiDeployment: + shared: + type: object + properties: + serviceUrls: + type: object + properties: + AI_API_URL: + type: string + BckndSharedResourceGroupStatus: type: object - description: Detailed data about a deployment properties: + isEnabled: + description: indicates whether shared resource group is enabled + type: boolean 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: + description: shared resource group id type: string - format: date-time - description: Timestamp of job status changed to RUNNING - completionTime: + state: + description: current state of shared resource group type: string - format: date-time - description: Timestamp of job status changed to COMPLETED/DEAD/STOPPED + BckndDeploymentResourceQuotaResponse: + type: object 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 - type: string - format: url - AiDeploymentList: + - quotas + properties: + usage: + $ref: '#/components/schemas/BckndDeploymentUsage' + quotas: + type: array + items: + $ref: '#/components/schemas/BckndDeploymentQuotaItem' + BckndDeploymentUsage: type: object + required: + - count + - items properties: count: type: integer - description: Number of the resource instances in the list - resources: + items: type: array items: - $ref: '#/components/schemas/AiDeployment' - required: - - count - - resources - AiDeploymentCreationResponse: + $ref: '#/components/schemas/BckndUsageResourcePlanItem' + BckndUsageResourcePlanItem: type: object + required: + - id 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: string + resourcePlanType: + type: string + configuredMaxReplicas: + type: integer + BckndDeploymentQuotaItem: type: object - description: Request object for creating an execution or an deployment - required: - - configurationId properties: - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentCreationRequest: + resourcePlanType: + type: string + deploymentQuota: + $ref: '#/components/schemas/BckndDeploymentQuota' + BckndDeploymentQuota: + type: object + properties: + maxCount: + type: integer + description: + The value can be 0(disabled) or a positive integer defining + the maximum allowed number + example: 10 + maxReplicaPerDeployment: + type: integer + BckndCommonResourceQuotaResponse: type: object - description: Request object for creating an execution or an deployment required: - - configurationId + - quota properties: - ttl: - $ref: '#/components/schemas/AiDeploymentTimeToLive' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentModificationRequest: + 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 - description: - Request object for changing the target status of a deployment (currently - only STOPPED is supported) + required: + - quota properties: - targetStatus: - $ref: '#/components/schemas/AiDeploymentTargetStatus' - configurationId: - $ref: '#/components/schemas/AiConfigurationId' - AiDeploymentModificationRequestWithIdentifier: + 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: - - targetStatus - - id + - resourcePlans properties: - id: - $ref: '#/components/schemas/AiDeploymentId' - targetStatus: - type: string - description: Deployment target status - enum: - - STOPPED - - DELETED - description: - Request object for changing the target status of a deployment ( - STOPPED and DELETED are supported) - AiDeploymentModificationRequestList: + resourcePlans: + $ref: '#/components/schemas/BckndResourcePatchResourcePlans' + BckndResourcePatchResourcePlans: 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: + $ref: '#/components/schemas/BckndResourcePatchNodes' + BckndResourcePatchNodes: type: object - description: Request object for changing the target status of multiple deployments + required: + - name + - request properties: - deployments: - $ref: '#/components/schemas/AiDeploymentModificationRequestList' - AiDeploymentModificationResponse: + name: + type: string + request: + type: integer + BckndResourcePatchResponse: type: object - properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiDeploymentModificationResponseMessage' required: - - id - message - AiDeploymentModificationResponseList: - type: array - items: - oneOf: - - $ref: '#/components/schemas/AiDeploymentModificationResponse' - - $ref: '#/components/schemas/AiApiErrorWithId' - AiDeploymentBulkModificationResponse: + properties: + message: + type: string + BckndResourceGetResponse: type: object - description: Response object with array of deployments + required: + - resourcePlans properties: - deployments: - $ref: '#/components/schemas/AiDeploymentModificationResponseList' - AiDeploymentDeletionResponse: + resourcePlans: + $ref: '#/components/schemas/BckndResourceGetResourcePlans' + BckndResourceGetResourcePlans: + type: object + additionalProperties: + type: object + required: + - provisioned + - requested + properties: + provisioned: + type: integer + requested: + type: integer + BckndErrorResponse: type: object properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiDeploymentDeletionResponseMessage' + error: + $ref: '#/components/schemas/BckndError' + BckndError: + type: object required: - - id + - code - 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: - 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: + code: type: string - description: Deployment target status - enum: - - RUNNING - - STOPPED - - DELETED - lastOperation: + description: Descriptive error code (not http status code) + message: type: string - description: Last operation applied to this deployment. - anyOf: - - enum: - - CREATE - - UPDATE - - DELETE - - CASCADE-UPDATE - - {} - latestRunningConfigurationId: + description: Plaintext error description + example: something went wrong + requestId: 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: + description: ID of the individual request + target: 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' + description: Invoked URL + details: + description: Optional details of the error message + type: object + TntTenantInfo: + type: object required: - - id - - configurationId + - tenantId + - servicePlan - 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: + tenantId: + description: tenant id + type: string + example: aa97b177-9383-4934-8543-0f91a7a0283a + servicePlan: + type: string + status: + description: Provisioning status of the tenant + type: string + TntApiError: type: object - description: Resources details of a deployment - example: - backendDetails: - predictor: - resourcePlan: starter + required: + - code + - message properties: - backendDetails: - $ref: '#/components/schemas/AiBackendDetails' - AiDeploymentDetails: + code: + type: string + description: Descriptive error code (not http status code) + message: + type: string + description: Plaintext error description + requestId: + type: string + description: ID of the individual request + target: + type: string + description: Invoked URL + details: + description: Optional details of the error message + type: object + AiScenario: 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). + '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. ' - type: object + required: + - name + - id + - createdAt + - modifiedAt 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' + maxLength: 256 + description: Name of the scenario description: - $ref: '#/components/schemas/AiArtifactDescription' + type: string + maxLength: 5000 + description: Description of the scenario + labels: + $ref: '#/components/schemas/AiScenarioLabelList' 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 @@ -3924,217 +3999,189 @@ components: 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: + 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 - 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 + - key + - value 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' - scenarioId: - $ref: '#/components/schemas/AiScenarioId' - AiArtifactCreationResponse: + key: + $ref: '#/components/schemas/AiScenarioLabelKey' + value: + $ref: '#/components/schemas/AiLabelValue' + AiLabel: type: object required: - - id - - message - - url + - key + - value properties: - id: - $ref: '#/components/schemas/AiId' - message: - $ref: '#/components/schemas/AiArtifactCreationResponseMessage' - url: - $ref: '#/components/schemas/AiArtifactUrl' - AiArtifactCreationResponseMessage: + key: + $ref: '#/components/schemas/AiLabelKey' + value: + $ref: '#/components/schemas/AiLabelValue' + AiLabelValue: type: string - description: Message - example: Artifact acknowledged - AiArtifactId: + maxLength: 5000 + AiScenarioLabelKey: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the artifact - AiArtifactName: + example: scenarios.ai.sap.com/s4hana-version + maxLength: 256 + pattern: ^(scenarios|ext)\.ai\.sap\.com\/[\w\.-]+$ + AiLabelKey: type: string - pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ + example: ext.ai.sap.com/s4hana-version maxLength: 256 - description: Name of the artifact - AiArtifactUrl: + pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ + AiScenarioId: type: string - pattern: ([a-z0-9-]+):\/\/.+ - maxLength: 1024 - example: https://example.com/some_path - description: 'Reference to the location of the artifact. - - ' - AiArtifactList: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the scenario + AiScenarioList: 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/AiScenario' 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: + AiModelList: 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. - 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 + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/AiModelBaseData' required: - - id - - error - properties: - id: - $ref: '#/components/schemas/AiId' - error: - $ref: '#/components/schemas/AiApiError' - AiApiError: + - count + - resources + AiModelBaseData: type: object required: - - code - - message + - model + - executableId + - description + - versions properties: - code: + model: type: string - description: Descriptive error code (not http status code) - message: + description: Name of the model + executableId: + $ref: '#/components/schemas/AiExecutableId' + description: type: string - description: Plaintext error description - requestId: + description: Description of the model and its capabilities + versions: + $ref: '#/components/schemas/AiModelVersionList' + displayName: type: string - description: ID of the individual request - target: + description: Display name of the model + accessType: type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - TrckGetMetricResource: - description: - Collection of various metrics/tags/labels associated against some - execution/deployment + description: Access type of the model + provider: + type: string + description: Provider of the model + AiModelVersionList: + type: array + description: List of model versions that the model object has + items: + $ref: '#/components/schemas/AiModelVersion' + AiModelVersion: type: object - properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - 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 + Model version information including whether it is latest version, + its deprecation status and optional retirement date required: - - executionId - type: object + - name + - isLatest + - deprecated properties: - executionId: - $ref: '#/components/schemas/TrckExecutionId' - metrics: - $ref: '#/components/schemas/TrckMetricList' - tags: - $ref: '#/components/schemas/TrckTagList' - customInfo: - $ref: '#/components/schemas/TrckCustomInfoObjectList' - TrckGetMetricResourceList: + 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: + 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 + AiVersion: type: object required: - - resources + - 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 @@ -4142,279 +4189,179 @@ components: resources: type: array items: - $ref: '#/components/schemas/TrckGetMetricResource' - TrckDeleteMetricsResponse: - type: object - properties: - id: - $ref: '#/components/schemas/TrckExecutionId' - message: - type: string - example: Metric Resource was successfully deleted - TrckExecutionId: - type: string - example: aa97b177-9383-4934-8543-0f91b7a0283a - oneOf: - - $ref: '#/components/schemas/TrckMlapiExecutionId' - description: ID of the deployment/execution - TrckTimestamp: - type: string - description: Time when the metric was created or logged in RFC3339 format - format: date-time - TrckGetMetricList: - description: Array of Metric items - type: array - items: - $ref: '#/components/schemas/TrckGetMetric' - TrckMetricList: - description: Array of Metric items - type: array - items: - $ref: '#/components/schemas/TrckMetric' - TrckGetMetric: + $ref: '#/components/schemas/AiVersion' + required: + - count + - resources + AiExecutable: description: - Key-value metrics, where the value is numeric. Metric can also - have optional step and label fields. + 'An ML executable consists of a set of ML tasks, flows between + tasks, dependencies between tasks, models (or model versions?). + + ' type: object required: - name - - value - - timestamp + - id + - versionId + - deployable + - createdAt + - modifiedAt properties: + labels: + $ref: '#/components/schemas/AiLabelList' 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: 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: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the executable + AiExecutableList: + type: object + properties: + count: 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. + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/AiExecutable' required: - - name - - value + - count + - resources + AiExecutableParameter: type: object + required: + - name properties: name: - $ref: '#/components/schemas/TrckMetricName' - value: - $ref: '#/components/schemas/TrckMetricValue' - timestamp: - $ref: '#/components/schemas/TrckTimestamp' - step: - description: - step is an optional integer that represents any measurement - of training progress (number of training iterations, number of epochs, - and so on) for the metric - type: integer - minimum: 0 - example: 2 - labels: - $ref: '#/components/schemas/TrckLabelList' - TrckMetricName: - pattern: '[\w-]{1,64}' - type: string - maxLength: 256 - description: Name of the metric - example: Error Rate - TrckMetricValue: - type: number - description: Numeric Value of the metric - example: 0.98 - TrckmetricSelectorPermissibleValues: - description: - Permissible value for $select could be either * or one or many - of the values from metrics, tags, custominfo - type: array - items: - type: string - enum: - - metrics - - tags - - customInfo - - '*' - TrckLabelList: - description: a list of name-value object pairs associated with some metric. + type: 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: type: array + description: Executable parameters 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 + $ref: '#/components/schemas/AiExecutableParameter' + AiExecutableArtifact: + type: object 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. + 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/TrckTag' - TrckTag: - description: - A dictionary of name-value pairs to support segregation at execution - level. - required: - - name - - value + $ref: '#/components/schemas/AiExecutableArtifact' + AiConfiguration: type: object properties: name: - oneOf: - - $ref: '#/components/schemas/TrckGenericName' - value: - description: tag value - maxLength: 256 - minLength: 1 + $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 - 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 + description: Timestamp of resource creation + format: date-time + scenario: + type: object + nullable: true + anyOf: + - $ref: '#/components/schemas/AiScenario' + - {} required: - name - - value + - executableId + - scenarioId + - id + - createdAt + AiConfigurationBaseData: type: object + required: + - name + - executableId + - scenarioId 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}$ + $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 - example: aa97b177-9383-4934-8543-0f91b7a0283a - TrckGenericName: - description: - Generic name which can belong to a tag,label,metric or customInfo - Object + pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ 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: + description: Name of the configuration + AiConfigurationId: 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: + description: ID of the configuration + AiParameterArgumentBinding: type: object required: - key @@ -4422,55 +4369,143 @@ components: properties: key: type: string - example: ai.sap.com/scenarioName - pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*ai\.sap\.com\/[\w\.-]+$ + maxLength: 256 value: type: string maxLength: 5000 - RTAArtifactLabel: + description: 'Required for execution + + Result of activation + + ' + AiParameterArgumentBindingList: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/AiParameterArgumentBinding' + AiArtifactArgumentBinding: type: object required: - key - - value + - artifactId 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: + 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: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/AiConfiguration' + required: + - count + - resources + AiConfigurationCreationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiConfigurationCreationResponseMessage' + required: + - id + - message + AiConfigurationCreationResponseMessage: type: string description: Message - example: Created - RTAScenarioId: + example: Configuration created + AiDeploymentTargetStatus: type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the scenario - RTAScenario: + 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: Entity having labels - required: - - id - - name - - createdAt - - modifiedAt + 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: id: - $ref: '#/components/schemas/RTAScenarioId' - name: - type: string - maxLength: 256 - description: Name of the scenario - description: + $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 - maxLength: 5000 - description: Description of the scenario - labels: - $ref: '#/components/schemas/RTALabelList' + 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 description: Timestamp of resource creation @@ -4479,44 +4514,181 @@ components: type: string format: date-time description: Timestamp of latest resource modification - RTAExecutableId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the executable - RTAExecutable: - description: Entity having labels - type: object + 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: - id - - name - - scenarioId - - deployable + - 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: - id: - $ref: '#/components/schemas/RTAExecutableId' - name: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $ref: '#/components/schemas/AiExecution' + required: + - count + - resources + AiExecutionCreationResponse: + type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionCreationResponseMessage' + 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: type: string - description: Name of the executable - description: + description: + Desired target status of the execution (currently only STOPPED + is supported) + enum: + - STOPPED + AiExecutionModificationRequestWithIdentifier: + required: + - targetStatus + - id + type: object + properties: + id: + $ref: '#/components/schemas/AiExecutionId' + targetStatus: type: string - description: Description of the executable + 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/AiExecutionModificationResponseMessage' + required: + - id + - message + 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/AiId' + message: + $ref: '#/components/schemas/AiExecutionDeletionResponseMessage' + required: + - id + - message + AiExecutionDeletionResponseMessage: + type: string + description: Message + example: Execution deletion scheduled + AiExecutionModificationResponseMessage: + type: string + description: Message + example: Execution modification scheduled + AiExecutionResponseWithDetails: + 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/RTAScenarioId' - inputArtifacts: - $ref: '#/components/schemas/RTAExecutableInputArtifactList' + $ref: '#/components/schemas/AiScenarioId' + targetStatus: + 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/RTAExecutableOutputArtifactList' - parameters: - $ref: '#/components/schemas/RTAExecutableParameterList' - deployable: - type: boolean - description: Whether this pipeline is deployable - example: false - labels: - $ref: '#/components/schemas/RTALabelList' + $ref: '#/components/schemas/AiArtifactArray' + executionScheduleId: + $ref: '#/components/schemas/AiExecutionScheduleId' createdAt: type: string description: Timestamp of resource creation @@ -4525,256 +4697,232 @@ components: type: string format: date-time description: Timestamp of latest resource modification - RTAExecutableParameterList: - type: array - description: Executable parameters - items: - $ref: '#/components/schemas/RTAExecutableParameter' - RTAExecutableParameter: - type: object - description: Argument of an executable - required: - - name - properties: - name: - type: string - description: Name of the signature argument - description: + submissionTime: type: string - maxLength: 5000 - description: Description of the signature argument - default: + format: date-time + description: Timestamp of job submitted + startTime: type: string - description: Default value of the signature argument - type: + format: date-time + description: Timestamp of job status changed to RUNNING + completionTime: type: string - enum: - - string - description: Type of the signature argument - RTAExecutableInputArtifactList: - type: array - description: List of Artifacts that the executable expects as input artifacts - items: - $ref: '#/components/schemas/RTAExecutableArtifact' - RTAExecutableOutputArtifactList: - type: array - description: - List of Artifacts that the executable will produce. If storage - is not managed internally, a storage location will have to be specified when - triggering an execution - items: - $ref: '#/components/schemas/RTAExecutableArtifact' - RTAExecutableArtifact: + 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: Input or output artifact + description: Data about execution schedule required: + - configurationId + - cron - name + - createdAt + - modifiedAt properties: + cron: + $ref: '#/components/schemas/AiCron' name: + maxLength: 256 type: string - description: Name of the signature argument - description: - type: string - maxLength: 5000 - description: Description of the signature argument - kind: + description: Name of the execution schedule + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + start: type: string - description: Kind of the artifact, i.e. model or dataset - labels: - $ref: '#/components/schemas/RTAArtifactLabelList' - RTAModelBaseData: - type: object - required: - - model - - executableId - - description - - versions - properties: - model: + description: + Timestamp, defining when the executions should start running + periodically, defaults to now + format: date-time + end: type: string - description: Name of the model - executableId: - $ref: '#/components/schemas/RTAExecutableId' - description: - type: string - description: Description of the model and its capabilities - versions: - $ref: '#/components/schemas/RTAModelVersionList' - displayName: - type: string - description: Display name of the model - accessType: + description: Timestamp, defining when the executions should stop running + format: date-time + id: + $ref: '#/components/schemas/AiExecutionScheduleId' + status: + $ref: '#/components/schemas/AiExecutionScheduleStatus' + createdAt: type: string - description: Access type of the model - provider: + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - description: Provider of the model - RTAModelVersionList: - type: array - description: List of model versions that the model object has - items: - $ref: '#/components/schemas/RTAModelVersion' - RTAModelVersion: + 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: - Model version information including whether it is latest version, - its deprecation status and retirement date - required: - - name - - isLatest - - deprecated + description: Start and end an execution schedule. properties: + cron: + $ref: '#/components/schemas/AiCron' name: + maxLength: 256 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: + description: Name of the execution schedule + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + start: type: string - description: Retirement date of model in ISO 8601 timestamp - contextLength: + 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 + required: + - configurationId + - cron + - name + AiExecutionScheduleList: + type: object + properties: + count: 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: + description: Number of the resource instances in the list + resources: type: array - description: List of suggested replacements for the model items: - type: string - RTAArtifact: - description: Entity having labels - type: object + $ref: '#/components/schemas/AiExecutionSchedule' required: - - name - - url - - executionId - - kind - - createdAt + - count + - resources + AiExecutionScheduleModificationRequest: + type: object + description: Request object for changing the execution schedule properties: - name: + cron: + $ref: '#/components/schemas/AiCron' + start: type: string - maxLength: 256 description: - Name of the artifact; this is used for dependent pipelines - to resolve an artifact - executionId: - $ref: '#/components/schemas/RTAExecutionId' - url: - $ref: '#/components/schemas/RTAArtifactUrl' - signature: - $ref: '#/components/schemas/RTAArtifactSignature' - kind: - type: string - enum: - - model - - dataset - - resultset - - other - description: Kind of the artifact, i.e. model or dataset - labels: - $ref: '#/components/schemas/RTALabelList' - createdAt: + Timestamp, defining when the executions should start running + periodically, defaults to now + format: date-time + end: type: string - description: Timestamp of resource creation + description: Timestamp, defining when the executions should stop running format: date-time - RTAArtifactName: - type: string - maxLength: 256 - RTAArtifactUrl: + 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 - pattern: ([a-z0-9-]+):\/\/.+ - maxLength: 1024 - example: s3://some_bucket/some_path - description: "Reference to the location of the artifact. - - Note, the credentials will be found in a secret called - - 'some_bucket-object_store_secret'. If not provided, a default will be assumed. - - " - RTAArtifactSignature: + description: Message + example: Execution Schedule modified + AiExecutionScheduleDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionScheduleDeletionResponseMessage' + required: + - id + - message + AiExecutionScheduleDeletionResponseMessage: type: string - maxLength: 256 - RTAArtifactArray: - type: array - items: - $ref: '#/components/schemas/RTAArtifact' - RTADeployment: + description: Message + example: Execution Schedule deleted + AiExecutionScheduleCreationResponse: type: object - description: Detailed data about an inference-pipeline deployment + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiExecutionScheduleCreationResponseMessage' required: - - scenarioId - - executableId - - createdAt - - modifiedAt + - id + - message + AiExecutionScheduleCreationResponseMessage: + type: string + description: Message + example: Execution Schedule created + AiDeployment: + type: object + description: Detailed data about a deployment properties: - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - executableId: - $ref: '#/components/schemas/RTAExecutableId' id: - $ref: '#/components/schemas/RTADeploymentId' + $ref: '#/components/schemas/AiDeploymentId' deploymentUrl: - $ref: '#/components/schemas/RTADeploymentUrl' - latestRunningTargetId: - $ref: '#/components/schemas/RTALatestRunningTargetId' - targetId: - $ref: '#/components/schemas/RTATargetId' - ttl: - $ref: '#/components/schemas/RTATtl' + $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: - type: string - description: Deployment status - enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - UNKNOWN - - DELETING + $ref: '#/components/schemas/AiDeploymentStatus' statusMessage: + $ref: '#/components/schemas/AiDeploymentStatusMessage' + targetStatus: type: string - description: Deployment status message - maxLength: 256 + 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: - Reflection of user's action on deployment. The value will be - CREATE after user sends POST - create deployment, UPDATE after user sends - PATCH - update deployment, and DELETE after user sends DELETE - delete - deployment - enum: - - CREATE - - UPDATE - - CASCADE-UPDATE - - DELETE + 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 @@ -4783,614 +4931,534 @@ components: type: string format: date-time description: Timestamp of latest resource modification - RTADeploymentId: + 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: + - id + - configurationId + - status + - createdAt + - modifiedAt + AiDeploymentId: type: string pattern: ^[\w.-]{4,64}$ example: aa97b177-9383-4934-8543-0f91a7a0283a description: ID of the deployment - RTATargetId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: - Client provided reference, with which the status of a PATCHed deployment - can be tracked - RTALatestRunningTargetId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Target ID of the latest running deployment - RTADeploymentUrl: - description: Consumption URL of the pipeline deployment + AiDeploymentUrl: + description: Consumption URL of the deployment type: string format: url - RTADeploymentCreationResponseMessage: + AiDeploymentList: + type: object + properties: + count: + type: integer + description: Number of the resource instances in the list + resources: + type: array + items: + $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 - RTADeploymentCascadeUpdateResponseMessage: - type: string - description: Message - example: Deployment Cascade Update scheduled - RTADeploymentDeletionResponseMessage: - type: string - description: Message - example: Deployment deletion scheduled - RTADeploymentModificationResponseMessage: - type: string - description: Message - example: Deployment modification scheduled - RTADeploymentStatusDetails: + AiEnactmentCreationRequest: type: object - description: Current status details of the deployment - RTADeploymentDetails: + description: Request object for creating an execution or an deployment + required: + - configurationId + properties: + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + AiDeploymentCreationRequest: type: object + description: Request object for creating an execution or an deployment + required: + - configurationId properties: - scaling: - $ref: '#/components/schemas/RTABackendDetails' - resources: - $ref: '#/components/schemas/RTABackendDetails' - RTABackendDetails: + 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: - backendDetails: - type: object - description: Current details of the deployment - RTAExecution: + targetStatus: + $ref: '#/components/schemas/AiDeploymentTargetStatus' + configurationId: + $ref: '#/components/schemas/AiConfigurationId' + AiDeploymentModificationRequestWithIdentifier: type: object - description: Execution required: - - scenarioId - - executableId - - createdAt - - modifiedAt + - targetStatus + - id properties: - scenarioId: - $ref: '#/components/schemas/RTAScenarioId' - executableId: - $ref: '#/components/schemas/RTAExecutableId' id: - $ref: '#/components/schemas/RTAExecutionId' - status: + $ref: '#/components/schemas/AiDeploymentId' + targetStatus: type: string - description: Status of the execution + description: Deployment target status enum: - - PENDING - - RUNNING - - COMPLETED - - DEAD - - STOPPING - STOPPED - - UNKNOWN - example: COMPLETED - statusMessage: - type: string - description: Execution status message - maxLength: 256 - submissionTimestamp: - type: string - description: Timestamp of execution submission - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true - startTimestamp: - type: string - description: Timestamp of execution start - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true - finishTimestamp: - type: string - description: Timestamp of execution finish - format: date-time - example: '2017-09-15T12:01:06Z' - nullable: true - createdAt: - type: string - description: Timestamp of resource creation - format: date-time - modifiedAt: - type: string - format: date-time - description: Timestamp of latest resource modification - RTAInputArtifactArgumentBinding: + - 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 - required: - - name - - url + description: Request object for changing the target status of multiple deployments properties: - name: - $ref: '#/components/schemas/RTAArtifactName' - url: - $ref: '#/components/schemas/RTAArtifactUrl' - signature: - $ref: '#/components/schemas/RTAArtifactSignature' - description: Required for execution - RTAOutputArtifactArgumentBinding: + deployments: + $ref: '#/components/schemas/AiDeploymentModificationRequestList' + AiDeploymentModificationResponse: type: object - required: - - name properties: - name: - $ref: '#/components/schemas/RTAArtifactName' - url: - $ref: '#/components/schemas/RTAArtifactUrl' - description: Result of execution - RTAExecutableArgumentBinding: - type: object + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiDeploymentModificationResponseMessage' required: - - key - - value + - 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: - key: - type: string - maxLength: 256 - value: - type: string - description: 'Required for execution - - Result of activation - - ' - RTAExecutionId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: ID of the execution - RTAExecutionCreationResponseMessage: - type: string - description: Message - example: Execution scheduled - RTAExecutionModificationResponseMessage: + deployments: + $ref: '#/components/schemas/AiDeploymentModificationResponseList' + AiDeploymentDeletionResponse: + type: object + properties: + id: + $ref: '#/components/schemas/AiId' + message: + $ref: '#/components/schemas/AiDeploymentDeletionResponseMessage' + required: + - id + - message + AiDeploymentModificationResponseMessage: type: string description: Message - example: Execution modification scheduled - RTAExecutionDeletionResponseMessage: + example: Deployment modification scheduled + AiDeploymentDeletionResponseMessage: type: string description: Message - example: Execution deletion scheduled - RTAExecutionStatusDetails: - type: object - description: Current status details of the execution - RTALogCommonResponse: + example: Deployment deletion scheduled + AiDeploymentResponseWithDetails: type: object + description: Detail properties of the deployment properties: - data: - $ref: '#/components/schemas/RTALogCommonData' - description: 'A common log query response. - - ' - RTALogCommonData: + 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: - result: - $ref: '#/components/schemas/RTALogCommonResult' - RTALogCommonResult: - type: array - items: - $ref: '#/components/schemas/RTALogCommonResultItem' - RTALogCommonResultItem: + backendDetails: + $ref: '#/components/schemas/AiBackendDetails' + AiResourcesDetails: type: object - description: Common log record. + description: Resources details of a deployment + example: + backendDetails: + predictor: + resourcePlan: starter properties: - timestamp: - $ref: '#/components/schemas/RTAtimestamp' - msg: - $ref: '#/components/schemas/RTAmessage' - RTAtimestamp: - description: Datetime in RFC 3339. - type: string - format: date-time - example: '2021-05-19T00:00:14.347+00:00' - RTAmessage: - description: message content. - type: string - RTAErrorResponse: + 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: - error: - $ref: '#/components/schemas/RTAError' - RTAError: + 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 - required: - - code - - message properties: - code: + labels: + $ref: '#/components/schemas/AiLabelList' + name: + $ref: '#/components/schemas/AiArtifactName' + kind: type: string - description: Descriptive error code (not http status code) - message: + 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: Plaintext error description - example: something went wrong - requestId: + description: Timestamp of resource creation + format: date-time + modifiedAt: type: string - description: ID of the individual request - target: - type: string - description: Invoked URL - details: - description: Optional details of the error message + format: date-time + description: Timestamp of latest resource modification + scenario: type: object - MetaCapabilities: - type: object + nullable: true + anyOf: + - $ref: '#/components/schemas/AiScenario' + - {} required: - - aiApi - properties: - runtimeIdentifier: - type: string - example: aicore - description: The name of the runtime - runtimeApiVersion: - $ref: '#/components/schemas/MetaVersion' - description: - type: string - aiApi: - $ref: '#/components/schemas/MetaAiApi' - extensions: - $ref: '#/components/schemas/MetaExtensions' - MetaExtensions: + - name + - kind + - url + - id + - scenarioId + - createdAt + - modifiedAt + AiArtifactDescription: + type: string + maxLength: 5000 + description: Description of the artifact + AiArtifactPostData: type: object - properties: - analytics: - type: object - required: - - version - properties: - version: - $ref: '#/components/schemas/MetaVersion' - resourceGroups: - type: object - required: - - version - properties: - version: - $ref: '#/components/schemas/MetaVersion' - dataset: - type: object - properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: - description: List of Dataset extension capabilities - type: object - properties: - upload: - description: Support for uploading of files - type: boolean - default: true - download: - description: Support for downloading of files - type: boolean - default: true - delete: - description: Support for deletion of files - type: boolean - default: true - limits: - type: object - properties: - maxUploadFileSize: - type: integer - description: - Max size (in bytes) of a single uploaded file allowed - by this runtime per resource group. - default: 104857600 - maxFilesPerDataset: - description: Max number of files per dataset. <0 means unlimited. - type: integer - default: -1 - acceptedContentTypes: - type: array - items: - type: string - pattern: ^\w+\/([\w+-]\.)?[\w.-]+(\+[\w-]+)*$ - required: - - version - metrics: - type: object - properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: - description: List of Metrics extension capabilities - type: object - properties: - extendedResults: - description: Support for returning extended results - type: boolean - default: false - required: - - version - MetaAiApi: description: - There are (currently) the following types of execution engines 1) - complete runtimes that offer executions and deployments, 2) runtimes that - do only batch inference and therefore don't support deployments 3) runtimes - that allow deployments, but with predefined models and therefore don't need - executions 4) runtimes that have fixed endpoints and therefore only need listing - deployments - type: object - properties: - version: - $ref: '#/components/schemas/MetaVersion' - capabilities: - type: object - properties: - multitenant: - type: boolean - description: - true-> AI API implementation supports resource groups (Main - Tenant scenario), false-> implementation does not support resource - groups (Service Tenant scenario) - default: true - shareable: - type: boolean - description: - true-> clients can use just one instance (global static - models), false-> clients should avoid sharing an instance - default: true - staticDeployments: - type: boolean - description: - There are static always running endpoints that can be used - for inference without the need to do user deployments. - default: true - userDeployments: - type: boolean - description: - Services that only support batch inference typically neither - allow listing nor creation of deployments. For these, userDeployments - == false - default: true - userExecutions: - type: boolean - default: true - timeToLiveDeployments: - type: boolean - default: false - executionSchedules: - type: boolean - default: false - logs: - type: object - properties: - executions: - type: boolean - default: true - deployments: - type: boolean - default: true - bulkUpdates: - type: object - description: - Services that support patch on /executions and /deployments - to change targetStatus of multiple executions and deployments. - properties: - executions: - type: boolean - default: false - deployments: - type: boolean - default: false - limits: - type: object - properties: - executions: - type: object - properties: - maxRunningCount: - description: - Max nr of executions allowed by this runtime per resource - group. <0 means unlimited. - type: integer - default: -1 - deployments: - type: object - properties: - maxRunningCount: - description: - Max nr of deployments allowed by this runtime per resource - group. <0 means unlimited. - type: integer - default: -1 - timeToLiveDeployments: - type: object - properties: - minimum: - type: string - default: 10m - maximum: - type: string - default: '-1' + '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: - - version - MetaVersion: - example: 1.2.3 - type: string - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - MetaAPIVersion: - type: object + - name + - kind + - url + - scenarioId properties: - versionId: + labels: + $ref: '#/components/schemas/AiLabelList' + name: + $ref: '#/components/schemas/AiArtifactName' + kind: type: string - description: API version identifier - example: v1 + enum: + - model + - dataset + - resultset + - other + description: Kind of the artifact, i.e. model or dataset url: - type: string - description: URL of the API version - example: https://api.example.com/v1 + $ref: '#/components/schemas/AiArtifactUrl' description: - type: string - description: version description - example: Example API - description: API version description - MetaApiError: + $ref: '#/components/schemas/AiArtifactDescription' + scenarioId: + $ref: '#/components/schemas/AiScenarioId' + AiArtifactCreationResponse: type: object required: - - code + - id - message + - url properties: - code: - type: string - description: Descriptive error code (not http status code) + id: + $ref: '#/components/schemas/AiId' message: - type: string - description: Plaintext error description - requestId: - type: string - description: ID of the individual request - target: - type: string - description: Invoked URL - details: - description: Optional details of the error message - type: object - BckndId: - type: string - pattern: ^[\w.-]{4,64}$ - example: aa97b177-9383-4934-8543-0f91a7a0283a - description: Generic ID - BckndMessage: + $ref: '#/components/schemas/AiArtifactCreationResponseMessage' + url: + $ref: '#/components/schemas/AiArtifactUrl' + AiArtifactCreationResponseMessage: type: string description: Message - BckndName: + example: Artifact acknowledged + AiArtifactId: type: string - description: Name - BckndCreationResponseMessage: + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the artifact + AiArtifactName: type: string - description: Message - example: Created - BckndUrl: + pattern: ^[\w\s.!?,;:\[\](){}<>"'=+*/\\^&%@~$#|-]*$ + maxLength: 256 + description: Name of the artifact + AiArtifactUrl: type: string - format: url - BckndResourceGroupList: + 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: - type: array - items: - $ref: '#/components/schemas/BckndResourceGroup' + $ref: '#/components/schemas/AiArtifactArray' required: - count - resources - BckndResourceGroupBase: + AiArtifactArray: + type: array + items: + $ref: '#/components/schemas/AiArtifact' + AiLogCommonData: type: object properties: - resourceGroupId: - description: resource group id - type: string - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - BckndResourceGroup: + result: + $ref: '#/components/schemas/AiLogCommonResult' + AiLogCommonResult: + type: array + items: + $ref: '#/components/schemas/AiLogCommonResultItem' + AiLogCommonResultItem: type: object + description: Common log record. 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 + timestamp: + description: Datetime in RFC 3339. 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 + 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: - - status - - createdAt - - resourceGroupId - BckndInternalResourceGroup: + - id + - error + properties: + id: + $ref: '#/components/schemas/AiId' + error: + $ref: '#/components/schemas/AiApiError' + AiApiError: type: object + required: + - code + - message 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 + code: type: string - format: date-time - labels: - $ref: '#/components/schemas/BckndInternalResourceGroupLabels' - status: - description: aggregated status of the onboarding process + description: Descriptive error code (not http status code) + message: type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - statusMessage: - description: status message + description: Plaintext error description + requestId: type: string - annotations: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotations' - required: - - status - - createdAt - - resourceGroupId - BckndResourceGroupsPostRequest: - type: object - properties: - resourceGroupId: - description: resource group id + description: ID of the individual request + target: 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: + description: Invoked URL + details: + description: Optional details of the error message + type: object + RTAId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Generic ID + RTATtl: + type: string + pattern: ^[0-9]+[m,M,h,H,d,D]$ + example: 24H + description: TTL value of deployment + RTALabelList: type: array description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/BckndResourceGroupLabel' - BckndResourceGroupLabel: - type: object - required: - - key - - value - properties: - key: - type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: - type: string - maxLength: 5000 - BckndInternalResourceGroupLabels: + $ref: '#/components/schemas/RTALabel' + RTAArtifactLabelList: type: array description: Arbitrary labels as meta information items: - $ref: '#/components/schemas/BckndInternalResourceGroupLabel' - BckndInternalResourceGroupLabel: + $ref: '#/components/schemas/RTAArtifactLabel' + RTALabel: type: object required: - key @@ -5398,18 +5466,12 @@ components: 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 + 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 - BckndInternalResourceGroupAnnotations: - type: array - description: Arbitrary annotations as meta information - items: - $ref: '#/components/schemas/BckndInternalResourceGroupAnnotation' - BckndInternalResourceGroupAnnotation: + RTAArtifactLabel: type: object required: - key @@ -5417,803 +5479,648 @@ components: properties: key: type: string - pattern: ^internal.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,43}$ - maxLength: 63 - example: internal.ai.sap.com/my-annotation + example: ext.ai.sap.com/s4hana-version + pattern: ^ext\.ai\.sap\.com\/[\w\.-]+$ + maxLength: 256 value: type: string maxLength: 5000 - BckndResourceGroupDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndResourceGroupDeletionResponseMessage' - required: - - id - - message - BckndResourceGroupDeletionResponseMessage: + RTACreationResponseMessage: type: string description: Message - example: Resource Group deletion scheduled - BckndResourceGroupPatchRequest: - type: object - properties: - labels: - $ref: '#/components/schemas/BckndResourceGroupLabels' - BckndEvent: + example: Created + RTAScenarioId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the scenario + RTAScenario: type: object + description: Entity having labels + required: + - id + - name + - createdAt + - modifiedAt properties: - tenantId: - description: tenant id - type: string - action: - type: string - enum: - - PROVISION - - DEPROVISION - state: + id: + $ref: '#/components/schemas/RTAScenarioId' + name: type: string - enum: - - SUCCESSFUL - - FAILED - - PENDING + maxLength: 256 + description: Name of the scenario description: - description: describes the event state type: string + maxLength: 5000 + description: Description of the scenario + labels: + $ref: '#/components/schemas/RTALabelList' createdAt: type: string + description: Timestamp of resource creation format: date-time - example: '2017-09-28T08:56:23.275Z' - BckndTenant: - type: object - properties: - tenantId: - description: tenant id - type: string - zoneId: - description: zone id - type: string - realSubaccountId: - description: real sub account id - type: string - servicePlan: - description: service plan + modifiedAt: type: string - BckndobjectStoreSecretWithSensitiveDataRequest: + format: date-time + description: Timestamp of latest resource modification + RTAExecutableId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the executable + RTAExecutable: + description: Entity having labels type: object - description: - This represents all the meta-data and extra information to be stored - as a k8-secret required: + - id - name - - type - - data + - scenarioId + - deployable + - createdAt + - modifiedAt properties: + id: + $ref: '#/components/schemas/RTAExecutableId' name: type: string - description: - Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: - type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: + description: Name of the executable + description: type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: + description: Description of the executable + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + inputArtifacts: + $ref: '#/components/schemas/RTAExecutableInputArtifactList' + outputArtifacts: + $ref: '#/components/schemas/RTAExecutableOutputArtifactList' + parameters: + $ref: '#/components/schemas/RTAExecutableParameterList' + deployable: + type: boolean + description: Whether this pipeline is deployable + example: false + labels: + $ref: '#/components/schemas/RTALabelList' + createdAt: type: string - description: 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 - BckndobjectStoreSecretWithSensitiveDataRequestForPostCall: + format: date-time + description: Timestamp of latest resource modification + RTAExecutableParameterList: + type: array + description: Executable parameters + items: + $ref: '#/components/schemas/RTAExecutableParameter' + RTAExecutableParameter: type: object - description: - This represents all the meta-data and extra information to be stored - as a k8-secret + description: Argument of an executable required: - name - - type - - data properties: name: type: string - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ - maxLength: 233 - description: - Name of the object store for the secret object to be created. - Can be used later on check for existence of the secret. - example: myobjectstore - type: - type: string - description: Storage type e.g. S3, GCS,... - example: S3 - bucket: - type: string - description: Bucket to be used - example: mybucket1 - endpoint: - type: string - description: Optional parameter - URL of the storage server (S3 only) - example: www.example.com - region: - type: string - description: Optional parameter - Region of the storage server (S3 only) - example: eu - pathPrefix: + description: Name of the signature argument + description: type: string - description: prefix folder to be added to storage path - example: mp-api - verifyssl: + maxLength: 5000 + description: Description of the signature argument + default: type: string - description: 0, 1 flag for the KF-serving annotation - serving.kubeflow.org/s3-verifyssl - example: '0' - usehttps: + description: Default value of the signature argument + type: 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: + enum: + - string + description: Type of the signature argument + RTAExecutableInputArtifactList: + type: array + description: List of Artifacts that the executable expects as input artifacts + items: + $ref: '#/components/schemas/RTAExecutableArtifact' + RTAExecutableOutputArtifactList: + type: array description: - This represents a list of meta-data of a stored secret. The 'data' - field of the secret is never retrieved. + List of Artifacts that the executable will produce. If storage + is not managed internally, a storage location will have to be specified when + triggering an execution + items: + $ref: '#/components/schemas/RTAExecutableArtifact' + RTAExecutableArtifact: type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndobjectStoreSecretStatus' + description: Input or output artifact required: - - count - - resources - BckndobjectStoreSecretStatus: - type: object - description: - This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. + - name 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: + description: Name of the signature argument + description: + type: string + maxLength: 5000 + description: Description of the signature argument + kind: + type: string + description: Kind of the artifact, i.e. model or dataset + labels: + $ref: '#/components/schemas/RTAArtifactLabelList' + RTAModelBaseData: type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretDeletionResponseMessage' required: - - id - - message - BckndobjectStoreSecretDeletionResponseMessage: - type: string - description: Message - example: Object Store Secret has been deleted - BckndobjectStoreSecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BckndobjectStoreSecretCreationResponseMessage' - BckndobjectStoreSecretCreationResponseMessage: - type: string - description: Message - example: Secret has been created - BckndobjectStoreSecretModificationResponseMessage: - type: string - description: Message - example: Secret has been modified - BckndobjectStoreSecretModificationResponse: - type: object + - model + - executableId + - description + - versions properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndobjectStoreSecretModificationResponseMessage' - required: - - id - - message - BcknddockerRegistryNameComponent: - description: Name of the docker Registry store for the secret. - type: string - pattern: ^[a-z0-9](?:_?[a-z0-9\.\-]+)*[a-z0-9]$ - maxLength: 63 - example: mydockeregistry - BcknddockerRegistrySecretWithSensitiveDataRequest: + model: + type: string + description: Name of the model + executableId: + $ref: '#/components/schemas/RTAExecutableId' + description: + type: string + description: Description of the model and its capabilities + versions: + $ref: '#/components/schemas/RTAModelVersionList' + 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:executuableId pair where the model supported + items: + type: object + required: + - scenarioId + - executableId + properties: + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' + RTAModelVersionList: + type: array + description: List of model versions that the model object has + items: + $ref: '#/components/schemas/RTAModelVersion' + RTAModelVersion: type: object description: - This represents all the meta-data and extra information to be stored - as a k8-secret + Model version information including whether it is latest version, + its deprecation status and retirement date 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 + - name + - isLatest + - deprecated properties: - count: + 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: type: integer - description: Number of the resource instances in the list - resources: + description: Context length of the model + inputTypes: type: array + description: List of input types supported by the model items: - $ref: '#/components/schemas/BcknddockerRegistrySecretStatus' - required: - - count - - resources - BcknddockerRegistrySecretStatus: + 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 + RTAArtifact: + description: Entity having labels type: object - description: - This represents the meta-data of a stored secret. The 'data' field - of the secret is never retrieved. + required: + - name + - url + - executionId + - kind + - createdAt properties: name: - description: Name of dockerRegistryStore type: string - example: mydockeregistry - BcknddockerRegistrySecretDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretDeletionResponseMessage' - required: - - id - - message - BcknddockerRegistrySecretDeletionResponseMessage: + maxLength: 256 + description: + Name of the artifact; this is used for dependent pipelines + to resolve an artifact + executionId: + $ref: '#/components/schemas/RTAExecutionId' + url: + $ref: '#/components/schemas/RTAArtifactUrl' + signature: + $ref: '#/components/schemas/RTAArtifactSignature' + kind: + type: string + enum: + - model + - dataset + - resultset + - other + description: Kind of the artifact, i.e. model or dataset + labels: + $ref: '#/components/schemas/RTALabelList' + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + RTAArtifactName: type: string - description: Message - example: Docker Registry Secret has been deleted - BcknddockerRegistrySecretCreationResponse: - type: object - description: Message - example: Created - properties: - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretCreationResponseMessage' - BcknddockerRegistrySecretCreationResponseMessage: + maxLength: 256 + RTAArtifactUrl: type: string - description: Message - example: Secret has been created - BcknddockerRegistrySecretModificationResponseMessage: + pattern: ([a-z0-9-]+):\/\/.+ + maxLength: 1024 + example: s3://some_bucket/some_path + description: "Reference to the location of the artifact. + + Note, the credentials will be found in a secret called + + 'some_bucket-object_store_secret'. If not provided, a default will be assumed. + + " + RTAArtifactSignature: type: string - description: Message - example: Secret has been modified - BcknddockerRegistrySecretModificationResponse: + maxLength: 256 + RTAArtifactArray: + type: array + items: + $ref: '#/components/schemas/RTAArtifact' + RTADeployment: type: object + description: Detailed data about an inference-pipeline deployment + required: + - scenarioId + - executableId + - createdAt + - modifiedAt properties: + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BcknddockerRegistrySecretModificationResponseMessage' - required: - - id - - message - BckndGenericSecretData: - description: Base64 encoded secret data - type: object - additionalProperties: - type: string - BckndGenericSecretPostBody: + $ref: '#/components/schemas/RTADeploymentId' + deploymentUrl: + $ref: '#/components/schemas/RTADeploymentUrl' + latestRunningTargetId: + $ref: '#/components/schemas/RTALatestRunningTargetId' + targetId: + $ref: '#/components/schemas/RTATargetId' + ttl: + $ref: '#/components/schemas/RTATtl' + status: + type: string + description: Deployment status + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - UNKNOWN + - DELETING + statusMessage: + type: string + description: Deployment status message + maxLength: 256 + lastOperation: + type: string + description: + Reflection of user's action on deployment. The value will be + CREATE after user sends POST - create deployment, UPDATE after user sends + PATCH - update deployment, and DELETE after user sends DELETE - delete + deployment + enum: + - CREATE + - UPDATE + - CASCADE-UPDATE + - DELETE + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + RTADeploymentId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the deployment + RTATargetId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: + Client provided reference, with which the status of a PATCHed deployment + can be tracked + RTALatestRunningTargetId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: Target ID of the latest running deployment + RTADeploymentUrl: + description: Consumption URL of the pipeline deployment + type: string + format: url + RTADeploymentCreationResponseMessage: + type: string + description: Message + example: Deployment scheduled + RTADeploymentCascadeUpdateResponseMessage: + type: string + description: Message + example: Deployment Cascade Update scheduled + RTADeploymentDeletionResponseMessage: + type: string + description: Message + example: Deployment deletion scheduled + RTADeploymentModificationResponseMessage: + type: string + description: Message + example: Deployment modification scheduled + RTADeploymentStatusDetails: type: object - required: - - name - - data - properties: - name: - description: The name of the secret - type: string - minLength: 1 - maxLength: 252 - pattern: ^[a-z0-9\-\.]+$ - data: - $ref: '#/components/schemas/BckndGenericSecretData' - labels: - $ref: '#/components/schemas/BckndGenericSecretLabels' - BckndGenericSecretPatchBody: + description: Current status details of the deployment + RTADeploymentDetails: type: object - required: - - data properties: - data: - $ref: '#/components/schemas/BckndGenericSecretData' - BckndGenericSecretDataResponse: + scaling: + $ref: '#/components/schemas/RTABackendDetails' + resources: + $ref: '#/components/schemas/RTABackendDetails' + RTABackendDetails: type: object properties: - message: - $ref: '#/components/schemas/BckndMessage' - name: - $ref: '#/components/schemas/BckndName' - BckndGenericSecretDetails: + backendDetails: + type: object + description: Current details of the deployment + RTAExecution: type: object + description: Execution required: - - name + - scenarioId + - executableId - createdAt + - modifiedAt properties: - name: - description: Name of the secret + scenarioId: + $ref: '#/components/schemas/RTAScenarioId' + executableId: + $ref: '#/components/schemas/RTAExecutableId' + id: + $ref: '#/components/schemas/RTAExecutionId' + status: type: string - createdAt: - description: Timestamp at which secret was created + description: Status of the execution + enum: + - PENDING + - RUNNING + - COMPLETED + - DEAD + - STOPPING + - STOPPED + - UNKNOWN + example: COMPLETED + statusMessage: type: string - resourceGroupSecretsSyncStatus: - description: - Sync status of the replicated secrets in all resource groups - of the tenant - type: object - additionalProperties: - type: boolean - description: Resource group ID and sync status - BckndListGenericSecretsResponse: - description: - This represents a list of meta-data of the secret. The 'data' field - of the secret is never retrieved. - type: object - properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndGenericSecretDetails' - required: - - count - - resources - BckndGenericSecretLabels: - type: array - description: Arbitrary labels as meta information - items: - $ref: '#/components/schemas/BckndGenericSecretLabel' - BckndGenericSecretLabel: - type: object - required: - - key - - value - properties: - key: + description: Execution status message + maxLength: 256 + submissionTimestamp: type: string - pattern: ^ext.ai.sap.com/(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]){1,48}$ - maxLength: 63 - example: ext.ai.sap.com/my-label - value: + description: Timestamp of execution submission + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + startTimestamp: type: string - maxLength: 5000 - BckndArgoCDRepositoryData: + description: Timestamp of execution start + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + finishTimestamp: + type: string + description: Timestamp of execution finish + format: date-time + example: '2017-09-15T12:01:06Z' + nullable: true + createdAt: + type: string + description: Timestamp of resource creation + format: date-time + modifiedAt: + type: string + format: date-time + description: Timestamp of latest resource modification + RTAInputArtifactArgumentBinding: type: object required: + - name - url - - username - - password properties: name: - description: Name of the repository - type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ + $ref: '#/components/schemas/RTAArtifactName' 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: + $ref: '#/components/schemas/RTAArtifactUrl' + signature: + $ref: '#/components/schemas/RTAArtifactSignature' + description: Required for execution + RTAOutputArtifactArgumentBinding: 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 + - name 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: + name: + $ref: '#/components/schemas/RTAArtifactName' + url: + $ref: '#/components/schemas/RTAArtifactUrl' + description: Result of execution + RTAExecutableArgumentBinding: 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 + - key + - value properties: - name: - description: The name of the repository - type: string - url: - description: The repository URL + key: type: string - status: - description: The status of the repository's on-boarding + maxLength: 256 + value: type: string - enum: - - ERROR - - IN-PROGRESS - - COMPLETED - example: COMPLETED - BckndArgoCDRepositoryDeletionResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryDeletionResponseMessage' - required: - - id - - message - BckndArgoCDRepositoryDeletionResponseMessage: + description: 'Required for execution + + Result of activation + + ' + RTAExecutionId: + type: string + pattern: ^[\w.-]{4,64}$ + example: aa97b177-9383-4934-8543-0f91a7a0283a + description: ID of the execution + RTAExecutionCreationResponseMessage: + type: string + description: Message + example: Execution scheduled + RTAExecutionModificationResponseMessage: type: string description: Message - example: The repository has been off-boarded. - BckndArgoCDRepositoryModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDRepositoryModificationResponseMessage' - required: - - id - - message - BckndArgoCDRepositoryModificationResponseMessage: + example: Execution modification scheduled + RTAExecutionDeletionResponseMessage: type: string description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationBaseData: + example: Execution deletion scheduled + RTAExecutionStatusDetails: + type: object + description: Current status details of the execution + RTALogCommonResponse: type: object - required: - - repositoryUrl - - revision - - path properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - BckndArgoCDApplicationData: + data: + $ref: '#/components/schemas/RTALogCommonData' + description: 'A common log query response. + + ' + RTALogCommonData: type: object properties: - repositoryUrl: - description: URL of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - applicationName: - description: ArgoCD application name - type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - required: - - repositoryUrl - - revision - - path - BckndAllArgoCDApplicationData: - description: list of applications + result: + $ref: '#/components/schemas/RTALogCommonResult' + RTALogCommonResult: + type: array + items: + $ref: '#/components/schemas/RTALogCommonResultItem' + RTALogCommonResultItem: type: object + description: Common log record. properties: - count: - type: integer - description: Number of the resource instances in the list - resources: - type: array - items: - $ref: '#/components/schemas/BckndArgoCDApplicationData' - required: - - count - - resources - BckndArgoCDApplicationDataRepoName: + timestamp: + $ref: '#/components/schemas/RTAtimestamp' + msg: + $ref: '#/components/schemas/RTAmessage' + RTAtimestamp: + description: Datetime in RFC 3339. + type: string + format: date-time + example: '2021-05-19T00:00:14.347+00:00' + RTAmessage: + description: message content. + type: string + RTAErrorResponse: type: object - required: - - repositoryName - - revision - - path properties: - repositoryName: - description: Name of the repository to synchronise - type: string - revision: - description: revision to synchronise - type: string - path: - description: path within the repository to synchronise - type: string - applicationName: - description: ArgoCD application name - type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - BckndArgoCDApplicationStatus: + error: + $ref: '#/components/schemas/RTAError' + RTAError: type: object - description: ArgoCD application definition and status + required: + - code + - message properties: - healthStatus: - description: ArgoCD application health status - type: string - syncStatus: - description: ArgoCD application sync status + code: type: string + description: Descriptive error code (not http status code) message: - description: ArgoCD application health status message - type: string - source: - description: Information about the ArgoCD application itself - type: object - properties: - repoURL: - description: URL of the repository - type: string - path: - description: Path of the repository - type: string - revision: - description: Revision number of the ArgoCD application - type: string - syncFinishedAt: - description: - Gets the timestamp information related to the sync state of - the ArgoCD application type: string - syncStartedAt: - description: - Get timestamp information related to the sync state of the - ArgoCD application + description: Plaintext error description + example: something went wrong + requestId: type: string - reconciledAt: - description: - Get timestamp information related to the sync state of the - ArgoCD application + description: ID of the individual request + target: 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: ArgoCD application has been deleted - BckndArgoCDApplicationCreationResponse: + description: Invoked URL + details: + description: Optional details of the error message + type: object + TrckGetMetricResource: + description: + Collection of various metrics/tags/labels associated against some + execution/deployment type: object properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationCreationResponseMessage' + 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: - - id - - message - BckndArgoCDApplicationCreationResponseMessage: - type: string - description: Message - example: ArgoCD application has been created - BckndArgoCDApplicationModificationResponse: - type: object - properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationModificationResponseMessage' + - executionId + TrckMetricResource: + description: + Collection of various metrics/tags/labels associated against some + execution/deployment required: - - id - - message - BckndArgoCDApplicationModificationResponseMessage: - type: string - description: Message - example: ArgoCD application has been updated - BckndArgoCDApplicationRefreshResponse: + - executionId type: object properties: - id: - $ref: '#/components/schemas/BckndId' - message: - $ref: '#/components/schemas/BckndArgoCDApplicationRefreshResponseMessage' - required: - - id - - message - BckndArgoCDApplicationRefreshResponseMessage: - type: string - description: Message - example: Refresh of ArgoCD application has been scheduled - BckndServiceList: + executionId: + $ref: '#/components/schemas/TrckExecutionId' + createdAt: + $ref: '#/components/schemas/TrckTimestamp' + modifiedAt: + $ref: '#/components/schemas/TrckTimestamp' + metrics: + $ref: '#/components/schemas/TrckMetricList' + tags: + $ref: '#/components/schemas/TrckTagList' + customInfo: + $ref: '#/components/schemas/TrckCustomInfoObjectList' + TrckGetMetricResourceList: type: object + required: + - resources properties: count: type: integer @@ -6221,332 +6128,531 @@ components: resources: type: array items: - $ref: '#/components/schemas/BckndService' - required: - - count - - resources - BckndService: + $ref: '#/components/schemas/TrckGetMetricResource' + TrckDeleteMetricsResponse: type: object 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 - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING - statusMessage: - description: status message + id: + $ref: '#/components/schemas/TrckExecutionId' + message: type: string - BckndExtendedService: + example: Metric Resource was successfully deleted + TrckExecutionId: + type: string + example: aa97b177-9383-4934-8543-0f91b7a0283a + oneOf: + - $ref: '#/components/schemas/TrckMlapiExecutionId' + description: ID of the deployment/execution + TrckTimestamp: + type: string + description: Time when the metric was created or logged in RFC3339 format + format: date-time + TrckGetMetricList: + description: Array of Metric items + type: array + items: + $ref: '#/components/schemas/TrckGetMetric' + TrckMetricList: + description: Array of Metric items + type: array + items: + $ref: '#/components/schemas/TrckMetric' + TrckGetMetric: + description: + Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. type: object + required: + - name + - value + - timestamp properties: name: - description: service name - type: string - description: - description: service description - type: string - url: - description: service broker url - type: string - brokerSecret: - $ref: '#/components/schemas/BckndServiceBrokerSecret' - capabilities: - $ref: '#/components/schemas/BckndServiceCapabilities' - serviceCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalog' - status: - description: aggregated status of the service - type: string - enum: - - PROVISIONED - - ERROR - - PROVISIONING - - DEPROVISIONING - statusMessage: - description: status message - type: string - BckndServiceBrokerSecret: + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: + step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric + type: integer + minimum: 0 + example: 2 + labels: + $ref: '#/components/schemas/TrckLabelList' + TrckMetric: + description: + Key-value metrics, where the value is numeric. Metric can also + have optional step and label fields. + required: + - name + - value type: object properties: name: - description: broker secret name - type: string - passwordKeyRef: - description: username key reference in broker secret - type: string - usernameKeyRef: - description: password key reference in broker secret - type: string - BckndServiceCapabilities: + $ref: '#/components/schemas/TrckMetricName' + value: + $ref: '#/components/schemas/TrckMetricValue' + timestamp: + $ref: '#/components/schemas/TrckTimestamp' + step: + description: + step is an optional integer that represents any measurement + of training progress (number of training iterations, number of epochs, + and so on) for the metric + type: integer + minimum: 0 + example: 2 + labels: + $ref: '#/components/schemas/TrckLabelList' + TrckMetricName: + pattern: '[\w-]{1,64}' + type: string + maxLength: 256 + description: Name of the metric + example: Error Rate + TrckMetricValue: + type: number + description: Numeric Value of the metric + example: 0.98 + TrckmetricSelectorPermissibleValues: + description: + Permissible value for $select could be either * or one or many + of the values from metrics, tags, custominfo + type: array + items: + type: string + enum: + - metrics + - tags + - customInfo + - '*' + TrckLabelList: + description: a list of name-value object pairs associated with some metric. + type: array + items: + $ref: '#/components/schemas/TrckLabel' + example: + - name: group + value: tree-82 + - name: metrics.ai.sap.com/Artifact.name + value: sk_learn_rf_classifier_model + TrckLabel: + description: a classifying phrase/name applied to a metric + required: + - name + - value 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: + 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/BckndServiceServiceCatalogItem' - BckndServiceServiceCatalogItem: + $ref: '#/components/schemas/TrckTag' + TrckTag: + description: + A dictionary of name-value pairs to support segregation at execution + level. + required: + - name + - value type: object properties: - extendCatalog: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCatalog' - extendCredentials: - $ref: '#/components/schemas/BckndServiceServiceCatalogItemExtendCredentials' - BckndServiceServiceCatalogItemExtendCatalog: + 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: - 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: - type: array - items: - $ref: '#/components/schemas/BckndServiceServicePlanItem' - BckndServiceServicePlanItem: + 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: - description: - description: description of the service plan + code: + description: Descriptive error code (not http status code). type: string - free: - description: if the service plan free - type: boolean - id: - description: id of the service plan + message: + description: plaintext error description type: string - name: - description: name of the service plan + requestId: + description: id of individual request type: string - metadata: - $ref: '#/components/schemas/BckndServiceServicePlanItemMetadata' - BckndServiceServicePlanItemMetadata: - type: object - properties: - supportedPlatforms: - description: supported platforms of the service plan + target: + description: url that has been called + type: string + details: type: array items: - type: string - enum: - - cloudfoundry - - kubernetes - - sapbtp - BckndServiceServiceCatalogItemExtendCredentials: + $ref: '#/components/schemas/TrckDetailsErrorResponse' + TrckDetailsErrorResponse: type: object properties: - shared: - type: object - properties: - serviceUrls: - type: object - properties: - AI_API_URL: - type: string - BckndDeploymentResourceQuotaResponse: + 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 + DSetUrl: + type: string + format: url + example: https://download.example.com/test/file.bin + DSetError: + description: Error Response type: object - required: - - quotas properties: - usage: - $ref: '#/components/schemas/BckndDeploymentUsage' - quotas: + code: + type: string + minLength: 1 + message: + type: string + minLength: 1 + target: + type: string + minLength: 1 + requestId: + type: string + details: type: array + uniqueItems: true + minItems: 0 items: - $ref: '#/components/schemas/BckndDeploymentQuotaItem' - BckndDeploymentUsage: - type: object + required: + - code + - message + properties: + code: + type: string + minLength: 1 + message: + type: string + minLength: 1 required: - - count - - items - properties: - count: - type: integer - items: - type: array - items: - $ref: '#/components/schemas/BckndUsageResourcePlanItem' - BckndUsageResourcePlanItem: + - 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: - - id + - message + - url properties: - id: - type: string - resourcePlanType: + message: type: string - configuredMaxReplicas: - type: integer - BckndDeploymentQuotaItem: + description: File creation response message + example: File creation acknowledged + url: + $ref: '#/components/schemas/DSetUrl' + MetaCapabilities: type: object + required: + - aiApi properties: - resourcePlanType: + runtimeIdentifier: type: string - deploymentQuota: - $ref: '#/components/schemas/BckndDeploymentQuota' - BckndDeploymentQuota: - type: object - properties: - maxCount: - type: integer - description: - The value can be 0(disabled) or a positive integer defining - the maximum allowed number - example: 10 - maxReplicaPerDeployment: - type: integer - BckndCommonResourceQuotaResponse: + example: aicore + description: The name of the runtime + runtimeApiVersion: + $ref: '#/components/schemas/MetaVersion' + description: + type: string + aiApi: + $ref: '#/components/schemas/MetaAiApi' + extensions: + $ref: '#/components/schemas/MetaExtensions' + MetaExtensions: type: object - required: - - quota properties: - usage: + analytics: type: object + required: + - version properties: - count: - type: integer - quota: + version: + $ref: '#/components/schemas/MetaVersion' + resourceGroups: type: object + required: + - version 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: - usage: + version: + $ref: '#/components/schemas/MetaVersion' + dataset: type: object properties: - servingTemplateCount: - type: integer - workflowTemplateCount: - type: integer - quota: + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: + description: List of Dataset extension capabilities + type: object + properties: + upload: + description: Support for uploading of files + type: boolean + default: true + download: + description: Support for downloading of files + type: boolean + default: true + delete: + description: Support for deletion of files + type: boolean + default: true + limits: + type: object + properties: + maxUploadFileSize: + type: integer + description: + Max size (in bytes) of a single uploaded file allowed + by this runtime per resource group. + default: 104857600 + maxFilesPerDataset: + description: Max number of files per dataset. <0 means unlimited. + type: integer + default: -1 + acceptedContentTypes: + type: array + items: + type: string + pattern: ^\w+\/([\w+-]\.)?[\w.-]+(\+[\w-]+)*$ + required: + - version + metrics: type: object properties: - 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: - - resourcePlans - properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourcePatchResourcePlans' - BckndResourcePatchResourcePlans: - type: array - items: - $ref: '#/components/schemas/BckndResourcePatchNodes' - BckndResourcePatchNodes: - type: object - required: - - name - - request - properties: - name: - type: string - request: - type: integer - BckndResourcePatchResponse: + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: + description: List of Metrics extension capabilities + type: object + properties: + extendedResults: + description: Support for returning extended results + type: boolean + default: false + required: + - version + MetaAiApi: + description: + There are (currently) the following types of execution engines 1) + complete runtimes that offer executions and deployments, 2) runtimes that + do only batch inference and therefore don't support deployments 3) runtimes + that allow deployments, but with predefined models and therefore don't need + executions 4) runtimes that have fixed endpoints and therefore only need listing + deployments type: object - required: - - message properties: - message: - type: string - BckndResourceGetResponse: - type: object + version: + $ref: '#/components/schemas/MetaVersion' + capabilities: + type: object + properties: + multitenant: + type: boolean + description: + true-> AI API implementation supports resource groups (Main + Tenant scenario), false-> implementation does not support resource + groups (Service Tenant scenario) + default: true + shareable: + type: boolean + description: + true-> clients can use just one instance (global static + models), false-> clients should avoid sharing an instance + default: true + staticDeployments: + type: boolean + description: + There are static always running endpoints that can be used + for inference without the need to do user deployments. + default: true + userDeployments: + type: boolean + description: + Services that only support batch inference typically neither + allow listing nor creation of deployments. For these, userDeployments + == false + default: true + userExecutions: + type: boolean + default: true + timeToLiveDeployments: + type: boolean + default: false + executionSchedules: + type: boolean + default: false + logs: + type: object + properties: + executions: + type: boolean + default: true + deployments: + type: boolean + default: true + bulkUpdates: + type: object + description: + Services that support patch on /executions and /deployments + to change targetStatus of multiple executions and deployments. + properties: + executions: + type: boolean + default: false + deployments: + type: boolean + default: false + limits: + type: object + properties: + executions: + type: object + properties: + maxRunningCount: + description: + Max nr of executions allowed by this runtime per resource + group. <0 means unlimited. + type: integer + default: -1 + deployments: + type: object + properties: + maxRunningCount: + description: + Max nr of deployments allowed by this runtime per resource + group. <0 means unlimited. + type: integer + default: -1 + timeToLiveDeployments: + type: object + properties: + minimum: + type: string + default: 10m + maximum: + type: string + default: '-1' required: - - resourcePlans - properties: - resourcePlans: - $ref: '#/components/schemas/BckndResourceGetResourcePlans' - BckndResourceGetResourcePlans: - type: object - additionalProperties: - type: object - required: - - provisioned - - requested - properties: - provisioned: - type: integer - requested: - type: integer - BckndErrorResponse: + - version + MetaVersion: + example: 1.2.3 + type: string + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + MetaAPIVersion: type: object properties: - error: - $ref: '#/components/schemas/BckndError' - BckndError: + versionId: + type: string + description: API version identifier + example: v1 + url: + type: string + description: URL of the API version + example: https://api.example.com/v1 + description: + type: string + description: version description + example: Example API + description: API version description + MetaApiError: type: object required: - code @@ -6558,7 +6664,6 @@ components: message: type: string description: Plaintext error description - example: something went wrong requestId: type: string description: ID of the individual request @@ -6569,30 +6674,6 @@ components: description: Optional details of the error message type: object parameters: - 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. KpiquerySelect: name: $select description: Columns to select @@ -6611,6 +6692,151 @@ components: $ref: '#/components/schemas/KpiColumnName' style: form explode: 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 + schema: + type: string + minLength: 1 + maxLength: 51 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndapplicationName: + name: applicationName + description: Name of the ArgoCD application + in: path + required: true + schema: + type: string + minLength: 3 + maxLength: 54 + pattern: ^[a-z0-9\-]+$ + example: tenant-application + BckndServiceName: + name: ServiceName + description: Name of the Service + in: path + required: true + schema: + type: string + pattern: ^[a-zA-Z0-9\-_]+$ + minLength: 1 + maxLength: 32 + example: cashapp + BckndquotaOnly: + name: quotaOnly + description: + When being set to true, the response contains only the quota of + the resource and not the quota usage. + in: query + required: false + schema: + type: boolean + example: true AiresourceGroupHeader: in: header name: AI-Resource-Group @@ -6866,98 +7092,44 @@ components: 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 - TrckqueryFilter: - example: executionId eq 'aa97b177-9383-4934-8543-0f91b7a0283a' - name: $filter - description: - Filter parameter allows filtering of metric resource using ExecutionId(s). - User can only use in, eq operators in filter expression. - schema: - type: string - in: query - required: false - deprecated: true - TrckexecutionIds: - example: executionIds=aa97b177-9383-4934-8543-0f91b7a0283a,aa97b177-9383-4934-8543-0f91b7a0283b - name: executionIds - description: - executionIds parameter allows filtering of metric resource using - single or multiple ExecutionId(s). - schema: - $ref: '#/components/schemas/TrckStringArray' - in: query - style: form - required: false - explode: false - TrckmetricAttributeSelector: - examples: - selectAll: - value: $select=* - selectSpecific: - value: $select=metrics,customInfo - name: $select - description: - returns only the resources that the client explicitly requests. - User can also pass * as a value for $select, which will behave same as that - of not passing $select query param. + required: false schema: - $ref: '#/components/schemas/TrckmetricSelectorPermissibleValues' + type: integer + example: 10 + x-visible: false + AiqueryConfigurationExpand: + name: $expand + description: expand detailed information on scenario in: query - style: form required: false - explode: false - TrckexecutionId: - name: executionId - description: The Id of an execution schema: - $ref: '#/components/schemas/TrckExecutionId' + type: string + enum: + - scenario + example: scenario + x-visible: false + AiqueryArtifactExpand: + name: $expand + description: expand detailed information on scenario in: query - required: true - TrcktrackingResourceGroupHeader: - name: AI-Resource-Group - description: Specify a resource group id - in: header + required: false schema: type: string - required: true + 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 RTAtokenHeader: name: Authorization in: header @@ -7080,152 +7252,269 @@ components: type: string pattern: ^[\w.-]{4,64}$ example: aa97b177-9383-4934-8543-0f91a7a0283a - BckndtokenHeader: - name: Authorization - in: header - description: Authorization bearer token containing a JWT token. - required: false + TrckqueryFilter: + example: executionId eq 'aa97b177-9383-4934-8543-0f91b7a0283a' + name: $filter + description: + Filter parameter allows filtering of metric resource using ExecutionId(s). + User can only use in, eq operators in filter expression. schema: type: string - Bckndai-resource-group: - name: AI-Resource-Group - in: header - description: Specify an existing resource group id to use + in: query required: false + deprecated: true + TrckexecutionIds: + example: executionIds=aa97b177-9383-4934-8543-0f91b7a0283a,aa97b177-9383-4934-8543-0f91b7a0283b + name: executionIds + description: + executionIds parameter allows filtering of metric resource using + single or multiple ExecutionId(s). schema: - type: string - Bckndai-resource-group-default: - name: AI-Resource-Group - in: header + $ref: '#/components/schemas/TrckStringArray' + in: query + style: form + required: false + explode: false + TrckmetricAttributeSelector: + examples: + selectAll: + value: $select=* + selectSpecific: + value: $select=metrics,customInfo + name: $select description: - Specify an existing resource group id to use. Uses "default" if - value not provided. + returns only the resources that the client explicitly requests. + User can also pass * as a value for $select, which will behave same as that + of not passing $select query param. + schema: + $ref: '#/components/schemas/TrckmetricSelectorPermissibleValues' + in: query + style: form required: false + explode: false + TrcktagFilters: + example: name1=value1,name2!=value2,name3,name4=v%26a%3D%2Cl%23u%21%3De%5E2%25 + name: tagFilters + description: + Filter metrics using tags by providing expressions in the format + name=value or name!=value, separated by commas (,). The results will include + only those metrics that match all the specified tag expressions, ensuring + a logical AND operation. The filter supports up to 100 tag expressions, key-only + searches (e.g., name) without a value, and tags containing special characters, + which must be properly percent-encoded for accurate matching. schema: type: string - default: default - Bckndai-tenant-scope: - name: AI-Tenant-Scope - in: header - description: Specify whether the main tenant scope is to be used + maxLength: 5000 + in: query + style: form required: false + explode: false + TrckexecutionId: + name: executionId + description: The Id of an execution schema: - type: boolean - example: true - Bckndtop: + $ref: '#/components/schemas/TrckExecutionId' + in: query + required: true + TrcktrackingResourceGroupHeader: + name: AI-Resource-Group + description: Specify a resource group id + in: header + schema: + type: string + required: true + Trcktop: name: $top description: Number of results to display in: query required: false schema: type: integer - minimum: 0 + maximum: 10000 + default: 1000 example: 10 - Bckndskip: + x-visible: false + Trckskip: name: $skip description: Number of results to be skipped from the ordered list of results in: query required: false schema: type: integer - minimum: 0 example: 10 - Bckndcount: - name: $count - description: - When the $count field is set to false, the response contains a - count of the items present in the response. When the $count field is set to - true, the response contains a count of all the items present on the server, - and not just the ones in the response. When the $count field is not passed, - it is false by default. - in: query - 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 + x-visible: false + DSetresourceGroupHeader: + in: header + name: AI-Resource-Group + description: Specify a resource group id schema: type: string - minLength: 1 - maxLength: 51 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndapplicationName: - name: applicationName - description: Name of the ArgoCD application + required: false + DSetpath: + name: path in: path required: true schema: type: string - minLength: 3 - maxLength: 54 - pattern: ^[a-z0-9\-]+$ - example: tenant-application - BckndServiceName: - name: ServiceName - description: Name of the Service - in: path - required: true + 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: string - pattern: ^[a-zA-Z0-9\-_]+$ - minLength: 1 - maxLength: 32 - example: cashapp - BckndquotaOnly: - name: quotaOnly + type: boolean + description: If true, then file is overwritten. Default is false. + responses: + 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' + BckndCommonError: + description: + HTTP status codes 401, 403 or 500. Response body contains further + details. + content: + application/json: + schema: + $ref: '#/components/schemas/BckndErrorResponse' + BckndNotFound: + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/BckndErrorResponse' + BckndBadRequest: + description: The request was malformed and could thus not be processed. + content: + application/json: + schema: + $ref: '#/components/schemas/BckndErrorResponse' + TntNotFound: + description: The specified resource was not found + 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: - 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 - responses: + 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' + RTANotFound: + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/RTAErrorResponse' + RTABadRequest: + description: The request was malformed and could thus not be processed. + content: + application/json: + schema: + $ref: '#/components/schemas/RTAErrorResponse' + RTACommonError: + description: + HTTP status codes 401, 403 or 500. Response body contains further + details. + content: + application/json: + schema: + $ref: '#/components/schemas/RTAErrorResponse' + RTAUnauthorized: + description: Lacks valid authentication credentials for the target resource. + content: + application/json: + schema: + $ref: '#/components/schemas/RTAErrorResponse' + TrckBadRequest: + content: + application/json: + schema: + type: object + properties: + error: + $ref: '#/components/schemas/TrckApiError' + description: The specification of the resource was incorrect + TrckNotImplemented: + 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. DSetBadRequest: description: The specification of the resource was incorrect content: @@ -7342,124 +7631,6 @@ components: the artifact API to register this file. schema: $ref: '#/components/schemas/DSetUrl' - 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' - 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' - 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. - RTANotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTABadRequest: - description: The request was malformed and could thus not be processed. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTACommonError: - description: - HTTP status codes 401, 403 or 500. Response body contains further - details. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' - RTAUnauthorized: - description: Lacks valid authentication credentials for the target resource. - content: - application/json: - schema: - $ref: '#/components/schemas/RTAErrorResponse' MetaNotFound: description: The specified resource was not found content: @@ -7469,23 +7640,3 @@ components: properties: error: $ref: '#/components/schemas/MetaApiError' - BckndCommonError: - description: - HTTP status codes 401, 403 or 500. Response body contains further - details. - content: - application/json: - schema: - $ref: '#/components/schemas/BckndErrorResponse' - BckndNotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/BckndErrorResponse' - BckndBadRequest: - description: The request was malformed and could thus not be processed. - content: - application/json: - schema: - $ref: '#/components/schemas/BckndErrorResponse'