Skip to content

Commit

Permalink
add SubmodelRegistryServiceSpecification profiles
Browse files Browse the repository at this point in the history
  • Loading branch information
sebbader-sap committed Jun 21, 2023
1 parent 0e25cee commit 98f3c13
Show file tree
Hide file tree
Showing 2 changed files with 302 additions and 0 deletions.
190 changes: 190 additions & 0 deletions SubmodelRegistryServiceSpecification/V3.0_SSP-001.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
openapi: 3.0.3
info:
title: DotAAS Part 2 | HTTP/REST | Submodel Registry Service Specification
description: >-
The Full Profile of the Submodel Registry Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub).
Publisher: Industrial Digital Twin Association (IDTA) April 2023
contact:
name: Industrial Digital Twin Association (IDTA)
email: info@idtwin.org
license:
name: CC BY 4.0
url: https://creativecommons.org/licenses/by/4.0/
version: V3.0.1_SSP-001
servers:
- url: '{protocol}://{host_name}:{port}/api/{version_prefix}'
variables:
protocol:
description: 'Allows access through http and https (recommended)'
enum:
- 'http'
- 'https'
default: 'https'
host_name:
default: admin-shell.io
description: 'Hostname of server hosting the api'
port:
enum:
- '80'
- '443'
default: '443'
description: '80 is default for http, 443 for https'
version_prefix:
enum:
- 'v3.0'
default: v3.0
paths:
/submodel-descriptors:
get:
tags:
- Submodel Registry API
summary: Returns all Submodel Descriptors
operationId: GetAllSubmodelDescriptors
x-semanticIds:
- https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0
parameters:
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Limit'
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Cursor'
responses:
'200':
description: Requested Submodel Descriptors
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelDescriptorsResult'
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
post:
tags:
- Submodel Registry API
summary: Creates a new Submodel Descriptor, i.e. registers a submodel
operationId: PostSubmodelDescriptor
x-semanticIds:
- https://admin-shell.io/aas/API/PostSubmodelDescriptor/3/0
requestBody:
description: Submodel Descriptor object
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor'
required: true
responses:
'201':
description: Submodel Descriptor created successfully
headers:
Location:
description: URL of the newly created resource
schema:
type: string
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor'
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'409':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/conflict'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
/submodel-descriptors/{submodelIdentifier}:
parameters:
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/SubmodelIdentifier'
get:
tags:
- Submodel Registry API
summary: Returns a specific Submodel Descriptor
operationId: GetSubmodelDescriptorById
x-semanticIds:
- https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0
responses:
'200':
description: Requested Submodel Descriptor
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor'
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
put:
tags:
- Submodel Registry API
summary: Updates an existing Submodel Descriptor
operationId: PutSubmodelDescriptorById
x-semanticIds:
- https://admin-shell.io/aas/API/PutSubmodelDescriptorById/3/0
requestBody:
description: Submodel Descriptor object
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor'
required: true
responses:
'204':
description: Submodel Descriptor updated successfully
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
delete:
tags:
- Submodel Registry API
summary: Deletes a Submodel Descriptor, i.e. de-registers a submodel
operationId: DeleteSubmodelDescriptorById
x-semanticIds:
- https://admin-shell.io/aas/API/DeleteSubmodelDescriptorById/3/0
responses:
'204':
description: Submodel Descriptor deleted successfully
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
/description:
get:
tags:
- Description API
summary: Returns the self-describing information of a network resource (ServiceDescription)
operationId: GetDescription
x-semanticIds:
- https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0
responses:
'200':
description: Requested Description
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/ServiceDescription'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
112 changes: 112 additions & 0 deletions SubmodelRegistryServiceSpecification/V3.0_SSP-002.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
openapi: 3.0.3
info:
title: DotAAS Part 2 | HTTP/REST | Submodel Registry Service Specification
description: >-
The Read Profile of the Submodel Registry Service Specification as part of the [Specification of the Asset Administration Shell: Part 2](http://industrialdigitaltwin.org/en/content-hub).
Publisher: Industrial Digital Twin Association (IDTA) April 2023
contact:
name: Industrial Digital Twin Association (IDTA)
email: info@idtwin.org
license:
name: CC BY 4.0
url: https://creativecommons.org/licenses/by/4.0/
version: V3.0.1_SSP-002
servers:
- url: '{protocol}://{host_name}:{port}/api/{version_prefix}'
variables:
protocol:
description: 'Allows access through http and https (recommended)'
enum:
- 'http'
- 'https'
default: 'https'
host_name:
default: admin-shell.io
description: 'Hostname of server hosting the api'
port:
enum:
- '80'
- '443'
default: '443'
description: '80 is default for http, 443 for https'
version_prefix:
enum:
- 'v3.0'
default: v3.0
paths:
/submodel-descriptors:
get:
tags:
- Submodel Registry API
summary: Returns all Submodel Descriptors
operationId: GetAllSubmodelDescriptors
x-semanticIds:
- https://admin-shell.io/aas/API/GetAllSubmodelDescriptors/3/0
parameters:
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Limit'
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/Cursor'
responses:
'200':
description: Requested Submodel Descriptors
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelDescriptorsResult'
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'
/submodel-descriptors/{submodelIdentifier}:
parameters:
- $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/parameters/SubmodelIdentifier'
get:
tags:
- Submodel Registry API
summary: Returns a specific Submodel Descriptor
operationId: GetSubmodelDescriptorById
x-semanticIds:
- https://admin-shell.io/aas/API/GetSubmodelDescriptorById/3/0
responses:
'200':
description: Requested Submodel Descriptor
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/SubmodelDescriptor'
'400':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/bad-request'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
'404':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/not-found'
'500':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/internal-server-error'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'

/description:
get:
tags:
- Description API
summary: Returns the self-describing information of a network resource (ServiceDescription)
operationId: GetDescription
x-semanticIds:
- https://admin-shell.io/aas/API/Descriptor/GetDescription/3/0
responses:
'200':
description: Requested Description
content:
application/json:
schema:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/ServiceDescription'
'403':
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/forbidden'
default:
$ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/responses/default'

0 comments on commit 98f3c13

Please sign in to comment.