@open-resource-discovery/specification 1.12.3 → 1.14.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/README.md +4 -10
- package/dist/generated/spec/v1/schemas/{configuration.schema.json → Configuration.schema.json} +20 -24
- package/dist/generated/spec/v1/schemas/{document.schema.json → Document.schema.json} +1134 -355
- package/dist/generated/spec/v1/types/{configuration.d.ts → Configuration.d.ts} +13 -21
- package/dist/generated/spec/v1/types/Configuration.js +4 -0
- package/dist/generated/spec/v1/types/{document.d.ts → Document.d.ts} +566 -130
- package/dist/generated/spec/v1/types/Document.js +4 -0
- package/dist/generated/spec/v1/types/index.d.ts +2 -2
- package/dist/generated/spec/v1/types/index.js +3 -2
- package/dist/index.js +3 -2
- package/package.json +29 -18
- package/dist/generated/spec/v1/types/configuration.js +0 -3
- package/dist/generated/spec/v1/types/document.js +0 -3
package/README.md
CHANGED
|
@@ -7,14 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
## Summary
|
|
9
9
|
|
|
10
|
-
Open Resource Discovery (ORD) is a protocol that **
|
|
11
|
-
It can be used to describe static documentation, but can also reflect tenant specific configuration and extensions (at run-time).
|
|
10
|
+
Open Resource Discovery (ORD) is a protocol that **enables applications and services to self-describe their exposed resources and capabilities**. It supports both static documentation and runtime tenant-specific configuration and extensions.
|
|
12
11
|
|
|
13
|
-
**To learn more, have a look at the [Open Resource Discovery Specification](https://open-resource-discovery.
|
|
12
|
+
**To learn more, have a look at the [Open Resource Discovery Specification](https://open-resource-discovery.org/) documentation.**
|
|
14
13
|
|
|
15
14
|
> ℹ ORD is an open standard by SAP, currently geared towards the SAP ecosystem.
|
|
16
|
-
> However, it is
|
|
17
|
-
> The standard is extensible through extensibility attributes, custom types and policy levels.
|
|
15
|
+
> However, it is designed as a generic standard that can be used outside SAP with appropriate infrastructure (aggregators and namespace registry).
|
|
16
|
+
> The standard is extensible through extensibility attributes, custom types, and policy levels.
|
|
18
17
|
|
|
19
18
|
## Communication, Feedback & FAQ
|
|
20
19
|
|
|
@@ -26,11 +25,6 @@ The ORD standard is governed by the [Linux Foundation](https://www.linuxfoundati
|
|
|
26
25
|
|
|
27
26
|
## Resources
|
|
28
27
|
|
|
29
|
-
### Learning Material
|
|
30
|
-
|
|
31
|
-
Currently there are no public resources beside the ORD spec itself.
|
|
32
|
-
We plan to add more in the future.
|
|
33
|
-
|
|
34
28
|
### Tools and Examples
|
|
35
29
|
|
|
36
30
|
#### ORD Reference Application
|
package/dist/generated/spec/v1/schemas/{configuration.schema.json → Configuration.schema.json}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "The ORD configuration response will indicate that ORD is available for the given host and how to proceed with the discovery.\n\nMost notably, the ORD configuration will tell an ORD consumer which ORD documents are available and where/how they can be accessed.\n\nThe configuration endpoint is a [Well-Known URI](https://tools.ietf.org/html/rfc8615#section-3) discovery mechanism.\n\nThis JSON Schema describes the [ORD configuration interface](https://open-resource-discovery.
|
|
2
|
+
"description": "The ORD configuration response will indicate that ORD is available for the given host and how to proceed with the discovery.\n\nMost notably, the ORD configuration will tell an ORD consumer which ORD documents are available and where/how they can be accessed.\n\nThe configuration endpoint is a [Well-Known URI](https://tools.ietf.org/html/rfc8615#section-3) discovery mechanism.\n\nThis JSON Schema describes the [ORD configuration interface](https://open-resource-discovery.org/spec-v1/interfaces/Configuration) of the [ORD specification](https://open-resource-discovery.org/).",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"$id": "https://open-resource-discovery.
|
|
4
|
+
"$id": "https://open-resource-discovery.org/spec-v1/interfaces/Configuration.schema.json#",
|
|
5
5
|
"title": "Ord Configuration",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
"format": "uri-reference"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"const": "https://open-resource-discovery.
|
|
18
|
+
"const": "https://open-resource-discovery.org/spec-v1/interfaces/Configuration.schema.json#"
|
|
19
19
|
}
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
22
|
"baseUrl": {
|
|
23
23
|
"type": "string",
|
|
24
24
|
"format": "uri",
|
|
25
|
-
"description": "Optional [base URL](../index.md#
|
|
25
|
+
"description": "Optional [base URL](../index.md#base-url) that can be used to resolve the relative URLs to the ORD Documents.\n\nThe `baseUrl` MUST NOT contain a leading slash.\n\nIf you do not provide this property, the base URL is assumed to be the URL of the config endpoint without `/.well-known/open-resource-discovery` suffix.\nThis implies that either a `baseUrl` or only absolute URLs MUST be provided when no standardized well-known URI is used.\nIf both a `baseUrl` and a well-known URI is provided, the explicit `baseUrl` takes precedence.",
|
|
26
26
|
"pattern": "^http[s]?:\\/\\/[^:\\/\\s]+\\.[^:\\/\\s\\.]+(:\\d+)?(\\/[a-zA-Z0-9-\\._~]+)*$",
|
|
27
27
|
"examples": [
|
|
28
28
|
"https://example-sap-system.com",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"type": "object",
|
|
44
44
|
"title": "Ord V1 Support",
|
|
45
45
|
"description": "The existence of this version indicates that Open Resource Discovery is supported in Version 1.x",
|
|
46
|
+
"x-ums-type": "ignore",
|
|
46
47
|
"properties": {
|
|
47
48
|
"documents": {
|
|
48
49
|
"type": "array",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
"type": "object",
|
|
62
63
|
"title": "Ord V1 Document Description",
|
|
63
64
|
"description": "Describes an [ORD Document](../index.md#ord-document) that is available for pull transport consumption.",
|
|
65
|
+
"x-ums-type": "ignore",
|
|
64
66
|
"properties": {
|
|
65
67
|
"url": {
|
|
66
68
|
"type": "string",
|
|
@@ -78,17 +80,21 @@
|
|
|
78
80
|
"x-feature-status": "beta",
|
|
79
81
|
"description": "With ORD it's possible to describe a system from a static or a dynamic [perspective](../index.md#perspectives) (for more details, follow the link).\n\nIt is strongly RECOMMENDED to mark all static ORD documents with perspective `system-version`.\n\nIt is RECOMMENDED to describe dynamic metadata in both static system-version perspective and additionally describe the system-instance perspective where it diverges from the static metadata.\n\nIf not provided, this defaults to `system-instance`, which is the most precise description but also the most costly to replicate.\n\nPlease read the [article on perspectives](../concepts/perspectives) for more explanations.",
|
|
80
82
|
"oneOf": [
|
|
83
|
+
{
|
|
84
|
+
"const": "system-type",
|
|
85
|
+
"description": "Describes a static [system-type](../index.md#def-system-type) perspective, which is version independent.\n\nIf a system is not versioned (continuous delivery) or resources are not tied to a system, the system-type perspective\nimplies that the information apply, no matter which system version or instance."
|
|
86
|
+
},
|
|
81
87
|
{
|
|
82
88
|
"const": "system-version",
|
|
83
|
-
"description": "Describes the static [system-version](../index.md#
|
|
89
|
+
"description": "Describes the static [system-version](../index.md#system-version) perspective, usually known at deploy-time.\n\nIf chosen, `describedSystemVersion`.`version` MUST be provided, too.\n\nThis perspective describes how a system of a particular type and version generally look like.\nThe latest system-version MAY also be interpreted as the [system-type](../index.md#system-type) perspective."
|
|
84
90
|
},
|
|
85
91
|
{
|
|
86
92
|
"const": "system-instance",
|
|
87
|
-
"description": "Describes the complete dynamic [system-instance](../index.md#
|
|
93
|
+
"description": "Describes the complete dynamic [system-instance](../index.md#system-instance) (tenant) perspective as known at run-time.\nThis allows to also reflect tenant specific extensions, customizations and runtime configuration.\n\nIf provided, it will completely override the static system-version perspective when metadata about system instances is requested."
|
|
88
94
|
},
|
|
89
95
|
{
|
|
90
96
|
"const": "system-independent",
|
|
91
|
-
"description": "Describes content that is independent of [system-versions](../index.md#
|
|
97
|
+
"description": "Describes content that is independent of [system-versions](../index.md#system-version) or [system-instances](../index.md#system-instance).\nThis content is always static and has independent visibility and lifecycle from the systems in a particular landscape.\nThe \"system-independent\" content MUST NOT be overridden via system-version or system-instance perspective metadata.\n\nExamples are: Vendors, products, globally aligned entity types, groups and group types (taxonomy), which are usually shared by multiple systems."
|
|
92
98
|
}
|
|
93
99
|
],
|
|
94
100
|
"default": "system-instance",
|
|
@@ -98,7 +104,7 @@
|
|
|
98
104
|
},
|
|
99
105
|
"systemInstanceAware": {
|
|
100
106
|
"type": "boolean",
|
|
101
|
-
"description": "Whether the information in the ORD document is **system
|
|
107
|
+
"description": "Whether the information in the ORD document is **system-instance-aware**.\nThis is the case when the provided ORD document potentially differs between **system instances** (e.g. due to multi-tenancy, configuration or extensibility).\n\nIf a document is system-instance-aware, an ORD aggregator MUST fetch it for _each_ **system instance** (tenant), not just once per system type.\n\nThis concept is now **deprecated** in favor of the more explicit `perspective` attribute.\nIt is strongly RECOMMENDED to split metadata into separate documents for the different perspectives (static vs. dynamic).\n\nFor a detailed explanation, see [perspectives concept page](../concepts/perspectives.md) or the [specification section](../index.md#perspectives).",
|
|
102
108
|
"default": false,
|
|
103
109
|
"examples": [
|
|
104
110
|
true
|
|
@@ -123,11 +129,12 @@
|
|
|
123
129
|
"type": "object",
|
|
124
130
|
"title": "Ord V1 Capabilities",
|
|
125
131
|
"description": "List of capabilities that are supported by the ORD provider.",
|
|
132
|
+
"x-ums-type": "ignore",
|
|
126
133
|
"properties": {
|
|
127
134
|
"selector": {
|
|
128
135
|
"type": "boolean",
|
|
129
136
|
"default": false,
|
|
130
|
-
"description": "Whether the ORD provider supports the optional [select parameter](../index.md#select-parameter) for retrieving the ORD config and ORD documents."
|
|
137
|
+
"description": "Whether the ORD provider supports the optional `select` parameter ([select parameter](../index.md#select-parameter)) for retrieving the ORD config and ORD documents."
|
|
131
138
|
}
|
|
132
139
|
}
|
|
133
140
|
},
|
|
@@ -135,14 +142,15 @@
|
|
|
135
142
|
"type": "object",
|
|
136
143
|
"title": "Ord V1 Document Access Strategy",
|
|
137
144
|
"description": "Defines the [access strategy](../../spec-extensions/access-strategies/) for accessing the ORD documents from the ORD provider.",
|
|
145
|
+
"x-ums-type": "ignore",
|
|
138
146
|
"properties": {
|
|
139
147
|
"type": {
|
|
140
148
|
"type": "string",
|
|
141
149
|
"description": "Defines the authentication/authorization strategy through which the referenced ORD Documents can be accessed.",
|
|
142
|
-
"
|
|
150
|
+
"anyOf": [
|
|
143
151
|
{
|
|
144
152
|
"type": "string",
|
|
145
|
-
"pattern": "^([a-z0-9
|
|
153
|
+
"pattern": "^([a-z0-9]+(?:[.][a-z0-9]+)*):([a-zA-Z0-9._\\-]+):(v0|v[1-9][0-9]*)$",
|
|
146
154
|
"description": "Any valid [Specification ID](../index.md#specification-id).\nIf chosen, `customDescription` SHOULD be provided."
|
|
147
155
|
},
|
|
148
156
|
{
|
|
@@ -154,18 +162,6 @@
|
|
|
154
162
|
"description": "The resource definitions are protected via generic basic auth.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/basic-auth).",
|
|
155
163
|
"x-introduced-in-version": "1.12.1"
|
|
156
164
|
},
|
|
157
|
-
{
|
|
158
|
-
"const": "sap:oauth-client-credentials:v1",
|
|
159
|
-
"description": "The ORD information are accessible via OAuth 2.0 client credentials flow as standardized within SAP.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-oauth-client-credentials-v1)."
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"const": "sap:cmp-mtls:v1",
|
|
163
|
-
"description": "The ORD information are accessible via Unified Customer Landscape's client certificate.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-cmp-mtls-v1)."
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"const": "sap.businesshub:basic-auth:v1",
|
|
167
|
-
"description": "The ORD information are accessible for SAP Business Accelerator Hub via Basic Auth strategy.\nPlease find a more detailed documentation [here](../../spec-extensions/access-strategies/sap-businesshub-basic-v1)."
|
|
168
|
-
},
|
|
169
165
|
{
|
|
170
166
|
"const": "custom",
|
|
171
167
|
"description": "If chosen, `customType` MUST be provided.\nIf chosen, `customDescription` SHOULD be provided."
|
|
@@ -189,7 +185,7 @@
|
|
|
189
185
|
"minLength": 1,
|
|
190
186
|
"description": "Human-readable description about how the access is set up, notated in [CommonMark](https://spec.commonmark.org/) (Markdown).\n\nMUST only be provided if `type` is set to `custom`.",
|
|
191
187
|
"examples": [
|
|
192
|
-
"To set up the access to OData APIs, please refer to the [SAP Cloud for Customer OData API](https://help.sap.com/viewer/1364b70b9cbb417ea5e2d80e966d4f49/CLOUD/en-US) help pages
|
|
188
|
+
"To set up the access to OData APIs, please refer to the [SAP Cloud for Customer OData API](https://help.sap.com/viewer/1364b70b9cbb417ea5e2d80e966d4f49/CLOUD/en-US) help pages."
|
|
193
189
|
]
|
|
194
190
|
}
|
|
195
191
|
},
|