@open-resource-discovery/specification 1.10.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/v1/Configuration.d.ts +12 -1
- package/dist/types/v1/Document.d.ts +64 -38
- package/package.json +4 -4
- package/static/spec-v1/interfaces/Configuration.annotated.schema.json +16 -1
- package/static/spec-v1/interfaces/Configuration.schema.json +16 -1
- package/static/spec-v1/interfaces/Document.annotated.schema.json +254 -56
- package/static/spec-v1/interfaces/Document.schema.json +228 -51
@@ -7,7 +7,7 @@
|
|
7
7
|
*/
|
8
8
|
export interface ORDConfiguration {
|
9
9
|
/**
|
10
|
-
* Optional URL to the ORD
|
10
|
+
* Optional URL to the ORD Configuration schema (defined as JSON Schema).
|
11
11
|
* If given, this enables code intelligence and validation in supported editors (like VSCode) and tools.
|
12
12
|
*/
|
13
13
|
$schema?: (string | "https://open-resource-discovery.github.io/specification/spec-v1/interfaces/Configuration.schema.json#") & string;
|
@@ -35,6 +35,7 @@ export interface ORDV1Support {
|
|
35
35
|
* For more details how to implement this correctly, please refer to the [ORD configuration endpoint](../index.md#ord-configuration-endpoint) section and the [considerations on the granularity of ORD documents](../index.md#considerations-on-the-granularity-of-ord-documents).
|
36
36
|
*/
|
37
37
|
documents?: ORDV1DocumentDescription[];
|
38
|
+
capabilities?: ORDV1Capabilities;
|
38
39
|
}
|
39
40
|
/**
|
40
41
|
* Describes an [ORD Document](../index.md#ord-document) that is available for pull transport consumption.
|
@@ -102,3 +103,13 @@ export interface AccessStrategy {
|
|
102
103
|
*/
|
103
104
|
customDescription?: string;
|
104
105
|
}
|
106
|
+
/**
|
107
|
+
* List of capabilities that are supported by the ORD provider.
|
108
|
+
*/
|
109
|
+
export interface ORDV1Capabilities {
|
110
|
+
/**
|
111
|
+
* Whether the ORD provider supports the optional [select parameter](../index.md#select-parameter) for retrieving the ORD config and ORD documents.
|
112
|
+
*/
|
113
|
+
selector?: boolean;
|
114
|
+
[k: string]: any | undefined;
|
115
|
+
}
|
@@ -17,7 +17,7 @@ export interface ORDDocument {
|
|
17
17
|
/**
|
18
18
|
* Version of the Open Resource Discovery specification that is used to describe this document.
|
19
19
|
*/
|
20
|
-
openResourceDiscovery: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10";
|
20
|
+
openResourceDiscovery: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
|
21
21
|
/**
|
22
22
|
* Optional description of the ORD document itself.
|
23
23
|
* Please note that this information is NOT further processed or considered by an ORD aggregator.
|
@@ -35,7 +35,7 @@ export interface ORDDocument {
|
|
35
35
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
36
36
|
*
|
37
37
|
*/
|
38
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
38
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
39
39
|
/**
|
40
40
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
41
41
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -498,7 +498,7 @@ export interface APIResource {
|
|
498
498
|
/**
|
499
499
|
* API Protocol including the protocol version if applicable
|
500
500
|
*/
|
501
|
-
apiProtocol: "odata-v2" | "odata-v4" | "rest" | "graphql" | "delta-sharing" | "soap-inbound" | "soap-outbound" | "websocket" | "sap-rfc" | "sap-sql-api-v1" | "sap-ina-api-v1";
|
501
|
+
apiProtocol: (string | "odata-v2" | "odata-v4" | "rest" | "graphql" | "delta-sharing" | "soap-inbound" | "soap-outbound" | "websocket" | "sap-rfc" | "sap-sql-api-v1" | "sap-ina-api-v1") & string;
|
502
502
|
/**
|
503
503
|
* List of available machine-readable definitions, which describe the resource or capability in detail.
|
504
504
|
*
|
@@ -515,7 +515,7 @@ export interface APIResource {
|
|
515
515
|
*
|
516
516
|
* All APIs that share the same implementation standard MAY be treated the same or similar by a consumer client.
|
517
517
|
*/
|
518
|
-
implementationStandard?: "sap:ord-document-api:v1" | "cff:open-service-broker:v2" | "sap:csn-exposure:v1" | "sap:ape-api:v1" | "sap:cdi-api:v1" | "sap:delta-sharing:v1" | "sap:hana-cloud-sql:v1" | "sap.dp:data-subscription-api:v1" | "custom";
|
518
|
+
implementationStandard?: (string | "sap:ord-document-api:v1" | "cff:open-service-broker:v2" | "sap:csn-exposure:v1" | "sap:ape-api:v1" | "sap:cdi-api:v1" | "sap:delta-sharing:v1" | "sap:hana-cloud-sql:v1" | "sap.dp:data-subscription-api:v1" | "custom") & string;
|
519
519
|
/**
|
520
520
|
* If the fixed `implementationStandard` values need to be extended, an arbitrary `customImplementationStandard` can be provided.
|
521
521
|
*
|
@@ -555,12 +555,20 @@ export interface APIResource {
|
|
555
555
|
*
|
556
556
|
* If no array is defined, it is assumed that this information is not provided.
|
557
557
|
*/
|
558
|
-
supportedUseCases?: ("data-federation" | "snapshot" | "incremental" | "streaming")[];
|
558
|
+
supportedUseCases?: ((string | "data-federation" | "snapshot" | "incremental" | "streaming") & string)[];
|
559
559
|
usage?: Usage;
|
560
560
|
/**
|
561
561
|
* Describes mappings between the API Models of the described resource to the underlying, conceptual entity types.
|
562
562
|
*/
|
563
563
|
entityTypeMappings?: EntityTypeMapping[];
|
564
|
+
/**
|
565
|
+
* Optional list of [entity types](#entity-type) that are exposed by the resource.
|
566
|
+
*
|
567
|
+
* This replaces `entityTypeMappings`. If both is given, the `exposedEntityTypes` wins.
|
568
|
+
*
|
569
|
+
* MUST be a valid reference to an [EntityType](#entity-type) ORD ID.
|
570
|
+
*/
|
571
|
+
exposedEntityTypes?: ExposedEntityType[];
|
564
572
|
/**
|
565
573
|
* Links with semantic meaning that are specific to API Resources.
|
566
574
|
*/
|
@@ -610,7 +618,7 @@ export interface APIResource {
|
|
610
618
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
611
619
|
*
|
612
620
|
*/
|
613
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
621
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
614
622
|
/**
|
615
623
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
616
624
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -703,7 +711,7 @@ export interface APIResourceDefinition {
|
|
703
711
|
* Type of the API Resource Definition
|
704
712
|
* If "custom" is chosen, a customType MUST be provided
|
705
713
|
*/
|
706
|
-
type: "openapi-v2" | "openapi-v3" | "raml-v1" | "edmx" | "csdl-json" | "graphql-sdl" | "wsdl-v1" | "wsdl-v2" | "sap-rfc-metadata-v1" | "sap-sql-api-definition-v1" | "sap-csn-interop-effective-v1" | "custom";
|
714
|
+
type: (string | "openapi-v2" | "openapi-v3" | "raml-v1" | "edmx" | "csdl-json" | "graphql-sdl" | "wsdl-v1" | "wsdl-v2" | "sap-rfc-metadata-v1" | "sap-sql-api-definition-v1" | "sap-csn-interop-effective-v1" | "custom") & string;
|
707
715
|
/**
|
708
716
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
709
717
|
*
|
@@ -749,7 +757,7 @@ export interface AccessStrategy {
|
|
749
757
|
/**
|
750
758
|
* Defines the authentication/authorization strategy through which the referenced `resourceDefinitions` are accessible.
|
751
759
|
*/
|
752
|
-
type: "open" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom";
|
760
|
+
type: (string | "open" | "sap:oauth-client-credentials:v1" | "sap:cmp-mtls:v1" | "sap.businesshub:basic-auth:v1" | "custom") & string;
|
753
761
|
/**
|
754
762
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
755
763
|
*
|
@@ -881,6 +889,17 @@ export interface EntityTypeTargetORDID {
|
|
881
889
|
export interface EntityTypeTargetCorrelationID {
|
882
890
|
correlationId: string;
|
883
891
|
}
|
892
|
+
/**
|
893
|
+
* Defines which Entity Type is exposed through (via its ORD ID).
|
894
|
+
*/
|
895
|
+
export interface ExposedEntityType {
|
896
|
+
/**
|
897
|
+
* The ORD ID is a stable, globally unique ID for ORD resources or taxonomy.
|
898
|
+
*
|
899
|
+
* It MUST be a valid [ORD ID](../index.md#ord-id) of the appropriate ORD type.
|
900
|
+
*/
|
901
|
+
ordId: string;
|
902
|
+
}
|
884
903
|
/**
|
885
904
|
* Links with specific semantic meaning that are related to API or event resources.
|
886
905
|
*
|
@@ -890,7 +909,7 @@ export interface APIAndEventResourceLink {
|
|
890
909
|
/**
|
891
910
|
* See also: [WADG0001 WebAPI type extension](https://webapi-discovery.github.io/rfcs/rfc0001.html#webapiactions)
|
892
911
|
*/
|
893
|
-
type: "api-documentation" | "authentication" | "client-registration" | "console" | "payment" | "service-level-agreement" | "support" | "custom";
|
912
|
+
type: (string | "api-documentation" | "authentication" | "client-registration" | "console" | "payment" | "service-level-agreement" | "support" | "custom") & string;
|
894
913
|
/**
|
895
914
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
896
915
|
*
|
@@ -1170,7 +1189,7 @@ export interface EventResource {
|
|
1170
1189
|
*
|
1171
1190
|
* As of now, only custom implementation standards are supported.
|
1172
1191
|
*/
|
1173
|
-
implementationStandard?: "custom";
|
1192
|
+
implementationStandard?: (string | "custom") & string;
|
1174
1193
|
/**
|
1175
1194
|
* If the fixed `implementationStandard` values need to be extended, an arbitrary `customImplementationStandard` can be provided.
|
1176
1195
|
*
|
@@ -1204,6 +1223,14 @@ export interface EventResource {
|
|
1204
1223
|
* Describes mappings between the API Models of the described resource to the underlying, conceptual entity types.
|
1205
1224
|
*/
|
1206
1225
|
entityTypeMappings?: EntityTypeMapping[];
|
1226
|
+
/**
|
1227
|
+
* Optional list of [entity types](#entity-type) that are exposed by the resource.
|
1228
|
+
*
|
1229
|
+
* This replaces `entityTypeMappings`. If both is given, the `exposedEntityTypes` wins.
|
1230
|
+
*
|
1231
|
+
* MUST be a valid reference to an [EntityType](#entity-type) ORD ID.
|
1232
|
+
*/
|
1233
|
+
exposedEntityTypes?: ExposedEntityType[];
|
1207
1234
|
/**
|
1208
1235
|
* Links with semantic meaning that are specific to event resources.
|
1209
1236
|
*
|
@@ -1253,7 +1280,7 @@ export interface EventResource {
|
|
1253
1280
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
1254
1281
|
*
|
1255
1282
|
*/
|
1256
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
1283
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
1257
1284
|
/**
|
1258
1285
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
1259
1286
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -1289,7 +1316,7 @@ export interface EventResourceDefinition {
|
|
1289
1316
|
/**
|
1290
1317
|
* Type of the event resource definition
|
1291
1318
|
*/
|
1292
|
-
type: "asyncapi-v2" | "sap-csn-interop-effective-v1" | "custom";
|
1319
|
+
type: (string | "asyncapi-v2" | "sap-csn-interop-effective-v1" | "custom") & string;
|
1293
1320
|
/**
|
1294
1321
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
1295
1322
|
*
|
@@ -1329,10 +1356,10 @@ export interface EventResourceDefinition {
|
|
1329
1356
|
accessStrategies?: [AccessStrategy, ...AccessStrategy[]];
|
1330
1357
|
}
|
1331
1358
|
/**
|
1332
|
-
* An [**Entity Type**](
|
1359
|
+
* An [**Entity Type**](../concepts/grouping-and-bundling#entity-type) describes either a business concept / term or an underlying conceptual model.
|
1333
1360
|
* The same entity type can be exposed through one or multiple API and events resources.
|
1334
1361
|
*
|
1335
|
-
* To learn more about the concept, see [Entity Type](
|
1362
|
+
* To learn more about the concept, see [Entity Type](../concepts/grouping-and-bundling#entity-type).
|
1336
1363
|
*/
|
1337
1364
|
export interface EntityType {
|
1338
1365
|
/**
|
@@ -1486,7 +1513,7 @@ export interface EntityType {
|
|
1486
1513
|
*
|
1487
1514
|
* In Domain-Driven Design, there is a concept of entities and aggregates.
|
1488
1515
|
* There are root entities which may contain further sub entities by composition.
|
1489
|
-
* The complete
|
1516
|
+
* The complete "package" is then called an aggregate, which gets its name and identity from the root entity.
|
1490
1517
|
* An aggregate is a cluster of domain objects that can be treated as a single unit.
|
1491
1518
|
* The root is the entity that is referenced from outside the aggregate. There must be only one root per aggregate.
|
1492
1519
|
* The root ensures the integrity of the aggregate. A sub entity is any other non-root entity in the aggregate.
|
@@ -1521,7 +1548,7 @@ export interface EntityType {
|
|
1521
1548
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
1522
1549
|
*
|
1523
1550
|
*/
|
1524
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
1551
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
1525
1552
|
/**
|
1526
1553
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
1527
1554
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -1596,7 +1623,7 @@ export interface Capability {
|
|
1596
1623
|
/**
|
1597
1624
|
* Type of the Capability
|
1598
1625
|
*/
|
1599
|
-
type:
|
1626
|
+
type: (string | "sap.mdo:mdi-capability:v1" | "custom") & string;
|
1600
1627
|
/**
|
1601
1628
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
1602
1629
|
*
|
@@ -1706,7 +1733,6 @@ export interface Capability {
|
|
1706
1733
|
minSystemVersion?: string;
|
1707
1734
|
/**
|
1708
1735
|
* Optional list of related EntityType Resources.
|
1709
|
-
*
|
1710
1736
|
* MUST be a valid reference to an [EntityType Resource](#entity-type) ORD ID.
|
1711
1737
|
*/
|
1712
1738
|
relatedEntityTypes?: string[];
|
@@ -1751,7 +1777,7 @@ export interface CapabilityDefinition {
|
|
1751
1777
|
/**
|
1752
1778
|
* Type of the capability resource definition
|
1753
1779
|
*/
|
1754
|
-
type:
|
1780
|
+
type: (string | "sap.mdo:mdi-capability-definition:v1" | "custom") & string;
|
1755
1781
|
/**
|
1756
1782
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
1757
1783
|
*
|
@@ -1791,9 +1817,9 @@ export interface CapabilityDefinition {
|
|
1791
1817
|
accessStrategies?: [AccessStrategy, ...AccessStrategy[]];
|
1792
1818
|
}
|
1793
1819
|
/**
|
1794
|
-
* A [Data Product](
|
1820
|
+
* A [Data Product](../concepts/data-product) is a data set exposed for consumption outside the boundaries of the producing application via APIs and described by high quality metadata that can be accessed through the [ORD Aggregator](../../spec-v1/#ord-aggregator).
|
1795
1821
|
*
|
1796
|
-
* Please note that this concept is in beta, see [Data Product - Beta Status](
|
1822
|
+
* Please note that this concept is in beta, see [Data Product - Beta Status](../concepts/data-product#beta-status).
|
1797
1823
|
*/
|
1798
1824
|
export interface DataProduct {
|
1799
1825
|
/**
|
@@ -1974,11 +2000,11 @@ export interface DataProduct {
|
|
1974
2000
|
*/
|
1975
2001
|
type: "primary" | "derived";
|
1976
2002
|
/**
|
1977
|
-
* Category of the data-set within data product. Based on its definition, a data product is a
|
2003
|
+
* Category of the data-set within data product. Based on its definition, a data product is a "data set" - which can include on the values below.
|
1978
2004
|
* Based on the type some properties of a data product may become optional/mandatory.
|
1979
2005
|
* Consumers might still do analytics on business object like data products.
|
1980
2006
|
*/
|
1981
|
-
category: "business-object" | "analytical" | "other";
|
2007
|
+
category: (string | "business-object" | "analytical" | "other") & string;
|
1982
2008
|
/**
|
1983
2009
|
* Aggregated list of entity types that are at least partially exposed by the data product. Detailed mapping can be found on the output port schema level.
|
1984
2010
|
*/
|
@@ -2057,7 +2083,7 @@ export interface DataProduct {
|
|
2057
2083
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
2058
2084
|
*
|
2059
2085
|
*/
|
2060
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
2086
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
2061
2087
|
/**
|
2062
2088
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
2063
2089
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -2119,7 +2145,7 @@ export interface DataProductOutputPort {
|
|
2119
2145
|
* If a generic [Link](#link) can also be expressed via Data Product Link, the latter MUST be chosen.
|
2120
2146
|
*/
|
2121
2147
|
export interface DataProductLink {
|
2122
|
-
type: "payment" | "terms-of-use" | "service-level-agreement" | "support" | "custom";
|
2148
|
+
type: (string | "payment" | "terms-of-use" | "service-level-agreement" | "support" | "custom") & string;
|
2123
2149
|
/**
|
2124
2150
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
2125
2151
|
*
|
@@ -2137,7 +2163,7 @@ export interface DataProductLink {
|
|
2137
2163
|
url: string;
|
2138
2164
|
}
|
2139
2165
|
/**
|
2140
|
-
* An [Integration Dependency](
|
2166
|
+
* An [Integration Dependency](../concepts/integration-dependency) states that the described system (self) can integrate with external systems (integration target) to achieve an integration purpose.
|
2141
2167
|
* The purpose could be to enable a certain feature or integration scenario, but it could also be a mandatory prerequisite for the described system to work.
|
2142
2168
|
*
|
2143
2169
|
* The integration dependency includes a list of individual **aspects** that the integration consists of.
|
@@ -2155,7 +2181,7 @@ export interface DataProductLink {
|
|
2155
2181
|
* An integration dependency is also not meant to describe a bigger process.
|
2156
2182
|
* Instead it focuses on the technical necessaries to create an integration for one particular purpose.
|
2157
2183
|
*
|
2158
|
-
* To learn more about the concept, see [Integration Dependency](
|
2184
|
+
* To learn more about the concept, see [Integration Dependency](../concepts/integration-dependency).
|
2159
2185
|
*/
|
2160
2186
|
export interface IntegrationDependency {
|
2161
2187
|
/**
|
@@ -2530,7 +2556,7 @@ export interface Product {
|
|
2530
2556
|
documentationLabels?: DocumentationLabels;
|
2531
2557
|
}
|
2532
2558
|
/**
|
2533
|
-
* A [**Package**](
|
2559
|
+
* A [**Package**](../concepts/grouping-and-bundling#package) organizes a set of related resources together, by publishing and catalog presentation concerns.
|
2534
2560
|
*
|
2535
2561
|
* The Package can also be used to indicate which products or vendors provided the packaged resources.
|
2536
2562
|
* For partner or customer content, the package can indicate this via the `vendor` and `partOfProducts` assignments.
|
@@ -2543,7 +2569,7 @@ export interface Product {
|
|
2543
2569
|
* A package does not have a `visibility` property.
|
2544
2570
|
* Whether it is displayed is decided by the fact, whether it contains any visible resources according to the visibility role of the aggregator.
|
2545
2571
|
*
|
2546
|
-
* To learn more about the concept and further guidance, see [Package](
|
2572
|
+
* To learn more about the concept and further guidance, see [Package](../concepts/grouping-and-bundling#package).
|
2547
2573
|
*/
|
2548
2574
|
export interface Package {
|
2549
2575
|
/**
|
@@ -2607,7 +2633,7 @@ export interface Package {
|
|
2607
2633
|
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
|
2608
2634
|
*
|
2609
2635
|
*/
|
2610
|
-
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom";
|
2636
|
+
policyLevel?: (string | "none" | "sap:base:v1" | "sap:core:v1" | "sap:dp:v1" | "custom") & string;
|
2611
2637
|
/**
|
2612
2638
|
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
|
2613
2639
|
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
|
@@ -2695,7 +2721,7 @@ export interface Package {
|
|
2695
2721
|
/**
|
2696
2722
|
* If provided, all resources that are part of this package can only run on the listed runtime.
|
2697
2723
|
*
|
2698
|
-
* MUST be a valid [
|
2724
|
+
* MUST be a valid [system namespace](../index.md#system-namespace).
|
2699
2725
|
*/
|
2700
2726
|
runtimeRestriction?: string;
|
2701
2727
|
/**
|
@@ -2714,7 +2740,7 @@ export interface Package {
|
|
2714
2740
|
* If a generic [Link](#link) can also be expressed via a Package Link, the latter MUST be chosen.
|
2715
2741
|
*/
|
2716
2742
|
export interface PackageLink {
|
2717
|
-
type: "terms-of-service" | "license" | "client-registration" | "payment" | "sandbox" | "service-level-agreement" | "support" | "custom";
|
2743
|
+
type: (string | "terms-of-service" | "license" | "client-registration" | "payment" | "sandbox" | "service-level-agreement" | "support" | "custom") & string;
|
2718
2744
|
/**
|
2719
2745
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
2720
2746
|
*
|
@@ -2732,10 +2758,10 @@ export interface PackageLink {
|
|
2732
2758
|
[k: string]: any | undefined;
|
2733
2759
|
}
|
2734
2760
|
/**
|
2735
|
-
* A [**Consumption Bundle**](
|
2761
|
+
* A [**Consumption Bundle**](../concepts/grouping-and-bundling#consumption-bundle) groups APIs and Events together that can be consumed with the credentials and auth mechanism.
|
2736
2762
|
* Ideally it also includes instructions and details how to request access and credentials for resources.
|
2737
2763
|
*
|
2738
|
-
* For more documentation and guidance how to correctly this correctly, see [Consumption Bundle details](
|
2764
|
+
* For more documentation and guidance how to correctly this correctly, see [Consumption Bundle details](../concepts/grouping-and-bundling#consumption-bundle).
|
2739
2765
|
*
|
2740
2766
|
* A consumption bundle SHOULD have at least one association with a resource (0..n). Avoid empty consumption bundles.
|
2741
2767
|
* A consumption bundle MUST NOT contain APIs and Events that are NOT defined in the ORD document(s) returned
|
@@ -2743,7 +2769,7 @@ export interface PackageLink {
|
|
2743
2769
|
*
|
2744
2770
|
* Please note that some ORD consumer use cases MAY depend on consumption bundle assignments to work with the resources.
|
2745
2771
|
*
|
2746
|
-
* To learn more about the concept, see [Consumption Bundle](
|
2772
|
+
* To learn more about the concept, see [Consumption Bundle](../concepts/grouping-and-bundling#consumption-bundle).
|
2747
2773
|
*/
|
2748
2774
|
export interface ConsumptionBundle {
|
2749
2775
|
/**
|
@@ -2861,7 +2887,7 @@ export interface CredentialExchangeStrategy {
|
|
2861
2887
|
/**
|
2862
2888
|
* The type of credential exchange strategy.
|
2863
2889
|
*/
|
2864
|
-
type: "custom";
|
2890
|
+
type: (string | "custom") & string;
|
2865
2891
|
/**
|
2866
2892
|
* If the fixed `type` enum values need to be extended, an arbitrary `customType` can be provided.
|
2867
2893
|
*
|
@@ -2897,7 +2923,7 @@ export interface CredentialExchangeStrategy {
|
|
2897
2923
|
* They express a "part of" relationship to the chosen group concept.
|
2898
2924
|
* If an "identity / equals" relationship needs to be expressed, use the `correlationIds` instead.
|
2899
2925
|
*
|
2900
|
-
* To learn more about the concept, see [Group Concept Documentation](
|
2926
|
+
* To learn more about the concept, see [Group Concept Documentation](../concepts/grouping-and-bundling#Groups).
|
2901
2927
|
*/
|
2902
2928
|
export interface Group {
|
2903
2929
|
/**
|
@@ -2934,7 +2960,7 @@ export interface Group {
|
|
2934
2960
|
*
|
2935
2961
|
* Group Types can be defined centrally (ownership by authority namespace) or decentrally (defined by application / service itself).
|
2936
2962
|
*
|
2937
|
-
* To learn more about the concept, see [Group Concept Documentation](
|
2963
|
+
* To learn more about the concept, see [Group Concept Documentation](../concepts/grouping-and-bundling#Groups).
|
2938
2964
|
*/
|
2939
2965
|
export interface GroupType {
|
2940
2966
|
/**
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "http://json.schemastore.org/package",
|
3
3
|
"name": "@open-resource-discovery/specification",
|
4
|
-
"version": "1.
|
4
|
+
"version": "1.11.0",
|
5
5
|
"description": "Open Resource Discovery (ORD) Specification",
|
6
6
|
"author": "SAP SE",
|
7
7
|
"license": "Apache-2.0",
|
@@ -26,9 +26,9 @@
|
|
26
26
|
"deploy": "npm run build && gh-pages -d ./build"
|
27
27
|
},
|
28
28
|
"devDependencies": {
|
29
|
-
"@docusaurus/core": "3.
|
30
|
-
"@docusaurus/preset-classic": "3.
|
31
|
-
"@docusaurus/theme-mermaid": "3.
|
29
|
+
"@docusaurus/core": "3.8.0",
|
30
|
+
"@docusaurus/preset-classic": "3.8.0",
|
31
|
+
"@docusaurus/theme-mermaid": "3.8.0",
|
32
32
|
"@easyops-cn/docusaurus-search-local": "0.49.2",
|
33
33
|
"@mdx-js/react": "3.1.0",
|
34
34
|
"clsx": "2.1.1",
|
@@ -15,6 +15,9 @@
|
|
15
15
|
"items": {
|
16
16
|
"$ref": "#/definitions/V1DocumentDescription"
|
17
17
|
}
|
18
|
+
},
|
19
|
+
"capabilities": {
|
20
|
+
"$ref": "#/definitions/V1Capabilities"
|
18
21
|
}
|
19
22
|
},
|
20
23
|
"additionalProperties": false
|
@@ -57,6 +60,18 @@
|
|
57
60
|
"accessStrategies"
|
58
61
|
]
|
59
62
|
},
|
63
|
+
"V1Capabilities": {
|
64
|
+
"type": "object",
|
65
|
+
"title": "ORD V1 Capabilities",
|
66
|
+
"description": "List of capabilities that are supported by the ORD provider.",
|
67
|
+
"properties": {
|
68
|
+
"selector": {
|
69
|
+
"type": "boolean",
|
70
|
+
"default": false,
|
71
|
+
"description": "Whether the ORD provider supports the optional [select parameter](../index.md#select-parameter) for retrieving the ORD config and ORD documents."
|
72
|
+
}
|
73
|
+
}
|
74
|
+
},
|
60
75
|
"AccessStrategy": {
|
61
76
|
"type": "object",
|
62
77
|
"title": "Access Strategy",
|
@@ -130,7 +145,7 @@
|
|
130
145
|
"$schema": {
|
131
146
|
"type": "string",
|
132
147
|
"format": "uri-reference",
|
133
|
-
"description": "Optional URL to the ORD
|
148
|
+
"description": "Optional URL to the ORD Configuration schema (defined as JSON Schema).\nIf given, this enables code intelligence and validation in supported editors (like VSCode) and tools.",
|
134
149
|
"anyOf": [
|
135
150
|
{
|
136
151
|
"type": "string",
|
@@ -15,6 +15,9 @@
|
|
15
15
|
"items": {
|
16
16
|
"$ref": "#/definitions/V1DocumentDescription"
|
17
17
|
}
|
18
|
+
},
|
19
|
+
"capabilities": {
|
20
|
+
"$ref": "#/definitions/V1Capabilities"
|
18
21
|
}
|
19
22
|
},
|
20
23
|
"additionalProperties": false
|
@@ -57,6 +60,18 @@
|
|
57
60
|
"accessStrategies"
|
58
61
|
]
|
59
62
|
},
|
63
|
+
"V1Capabilities": {
|
64
|
+
"type": "object",
|
65
|
+
"title": "ORD V1 Capabilities",
|
66
|
+
"description": "List of capabilities that are supported by the ORD provider.",
|
67
|
+
"properties": {
|
68
|
+
"selector": {
|
69
|
+
"type": "boolean",
|
70
|
+
"default": false,
|
71
|
+
"description": "Whether the ORD provider supports the optional [select parameter](../index.md#select-parameter) for retrieving the ORD config and ORD documents."
|
72
|
+
}
|
73
|
+
}
|
74
|
+
},
|
60
75
|
"AccessStrategy": {
|
61
76
|
"type": "object",
|
62
77
|
"title": "Access Strategy",
|
@@ -130,7 +145,7 @@
|
|
130
145
|
"$schema": {
|
131
146
|
"type": "string",
|
132
147
|
"format": "uri-reference",
|
133
|
-
"description": "Optional URL to the ORD
|
148
|
+
"description": "Optional URL to the ORD Configuration schema (defined as JSON Schema).\nIf given, this enables code intelligence and validation in supported editors (like VSCode) and tools.",
|
134
149
|
"anyOf": [
|
135
150
|
{
|
136
151
|
"type": "string",
|