From 1e0fbc59672a55d0ec93dba9d4cc5e83dec48278 Mon Sep 17 00:00:00 2001 From: hpoeche Date: Wed, 15 Apr 2026 10:39:54 +0200 Subject: [PATCH] test: Remove unused OpenAPI files Previously we had OpenAPI files in the sdk tests, which were used to check the first iteration of our server implementation. Since these files are not used anymore, this removes them. Fixes #476 --- sdk/test/adapter/http-api-oas-aas.yaml | 1421 ------------- sdk/test/adapter/http-api-oas-submodel.yaml | 2017 ------------------- 2 files changed, 3438 deletions(-) delete mode 100644 sdk/test/adapter/http-api-oas-aas.yaml delete mode 100644 sdk/test/adapter/http-api-oas-submodel.yaml diff --git a/sdk/test/adapter/http-api-oas-aas.yaml b/sdk/test/adapter/http-api-oas-aas.yaml deleted file mode 100644 index 27d029373..000000000 --- a/sdk/test/adapter/http-api-oas-aas.yaml +++ /dev/null @@ -1,1421 +0,0 @@ -openapi: 3.0.0 -info: - version: "1" - title: PyI40AAS REST API - description: "REST API Specification for the [PyI40AAS framework](https://git.rwth-aachen.de/acplt/pyi40aas). - - - **AAS Interface** - - - Any identifier/identification objects are encoded as follows `{identifierType}:URIencode(URIencode({identifier}))`, e.g. `IRI:http:%252F%252Facplt.org%252Fasset`." - contact: - name: "Michael Thies, Torben Miny, Leon Möller" - license: - name: Use under Eclipse Public License 2.0 - url: "https://www.eclipse.org/legal/epl-2.0/" -servers: - - url: http://{authority}/{basePath}/{api-version} - description: This is the Server to access the Asset Administration Shell - variables: - authority: - default: localhost:8080 - description: The authority is the server url (made of IP-Address or DNS-Name, user information, and/or port information) of the hosting environment for the Asset Administration Shell - basePath: - default: api - description: The basePath variable is additional path information for the hosting environment. It may contain the name of an aggregation point like 'shells' and/or API version information and/or tenant-id information, etc. - api-version: - default: v1 - description: The Version of the API-Specification -paths: - "/": - get: - summary: Retrieves the stripped AssetAdministrationShell, without Submodel-References and Views. - operationId: ReadAAS - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/AssetAdministrationShellResult" - "404": - description: AssetAdministrationShell not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - "/submodels/": - get: - summary: Returns all Submodel-References of the AssetAdministrationShell - operationId: ReadAASSubmodelReferences - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ReferenceListResult" - "404": - description: AssetAdministrationShell not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - post: - summary: Adds a new Submodel-Reference to the AssetAdministrationShell - operationId: CreateAASSubmodelReference - requestBody: - description: The Submodel-Reference to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/Reference" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ReferenceResult" - headers: - Location: - description: The URL of the created Submodel-Reference - schema: - type: string - "404": - description: AssetAdministrationShell not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: Submodel-Reference already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a Reference or not resolvable - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - "/submodels/{submodel-identifier}/": - parameters: - - name: submodel-identifier - in: path - description: The Identifier of the referenced Submodel - required: true - schema: - type: string - get: - summary: Returns the Reference specified by submodel-identifier - operationId: ReadAASSubmodelReference - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ReferenceResult" - "400": - description: Invalid submodel-identifier format - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: AssetAdministrationShell not found or the specified Submodel is not referenced - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - delete: - summary: Deletes the Reference specified by submodel-identifier - operationId: DeleteAASSubmodelReference - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "400": - description: Invalid submodel-identifier format - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: AssetAdministrationShell not found or the specified Submodel is not referenced - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - "/views/": - get: - summary: Returns all Views of the AssetAdministrationShell - operationId: ReadAASViews - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ViewListResult" - "404": - description: AssetAdministrationShell not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - post: - summary: Adds a new View to the AssetAdministrationShell - operationId: CreateAASView - requestBody: - description: The View to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/View" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ViewResult" - headers: - Location: - description: The URL of the created View - schema: - type: string - links: - ReadAASViewByIdShort: - $ref: "#/components/links/UpdateAASViewByIdShort" - UpdateAASViewByIdShort: - $ref: "#/components/links/UpdateAASViewByIdShort" - DeleteAASViewByIdShort: - $ref: "#/components/links/DeleteAASViewByIdShort" - "404": - description: AssetAdministrationShell not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: View with same idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid View - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - "/views/{view-idShort}/": - parameters: - - name: view-idShort - in: path - description: The idShort of the View - required: true - schema: - type: string - get: - summary: Returns a specific View of the AssetAdministrationShell - operationId: ReadAASView - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ViewResult" - links: - ReadAASViewByIdShort: - $ref: "#/components/links/ReadAASViewByIdShort" - UpdateAASViewByIdShort: - $ref: "#/components/links/UpdateAASViewByIdShort" - DeleteAASViewByIdShort: - $ref: "#/components/links/DeleteAASViewByIdShort" - "404": - description: AssetAdministrationShell or View not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - put: - summary: Updates a specific View of the AssetAdministrationShell - operationId: UpdateAASView - requestBody: - description: The View used to overwrite the existing View - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/View" - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ViewResult" - links: - ReadAASViewByIdShort: - $ref: "#/components/links/ReadAASViewByIdShort" - UpdateAASViewByIdShort: - $ref: "#/components/links/UpdateAASViewByIdShort" - DeleteAASViewByIdShort: - $ref: "#/components/links/DeleteAASViewByIdShort" - "201": - description: Success (idShort changed) - content: - "application/json": - schema: - $ref: "#/components/schemas/ViewResult" - headers: - Location: - description: The new URL of the View - schema: - type: string - links: - ReadAASViewByIdShort: - $ref: "#/components/links/ReadAASViewByIdShort" - DeleteAASViewByIdShort: - $ref: "#/components/links/DeleteAASViewByIdShort" - "404": - description: AssetAdministrationShell or View not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: idShort changed and new idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid View - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface - delete: - summary: Deletes a specific View from the Asset Administration Shell - operationId: DeleteAASView - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: AssetAdministrationShell or View not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Asset Administration Shell Interface -components: - links: - ReadAASViewByIdShort: - description: The `idShort` of the returned View can be used to read the View. - operationId: ReadAASView - parameters: - view-idShort: "$response.body#/data/idShort" - UpdateAASViewByIdShort: - description: The `idShort` of the returned View can be used to update the View. - operationId: UpdateAASView - parameters: - view-idShort: "$response.body#/data/idShort" - DeleteAASViewByIdShort: - description: The `idShort` of the returned View can be used to delete the View. - operationId: DeleteAASView - parameters: - view-idShort: "$response.body#/data/idShort" - schemas: - BaseResult: - type: object - properties: - success: - type: boolean - error: - type: object - nullable: true - properties: - type: - enum: - - Unspecified - - Debug - - Information - - Warning - - Error - - Fatal - - Exception - type: string - code: - type: string - text: - type: string - data: - nullable: true - AssetAdministrationShellResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedAssetAdministrationShell" - error: - nullable: true - ReferenceResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/Reference" - error: - nullable: true - ReferenceListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/Reference" - error: - nullable: true - ViewResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/View" - error: - nullable: true - ViewListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/View" - error: - nullable: true - SubmodelResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedSubmodel" - error: - nullable: true - SubmodelElementResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedSubmodelElement" - error: - nullable: true - SubmodelElementListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/StrippedSubmodelElement" - error: - nullable: true - ConstraintResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/Constraint" - error: - nullable: true - ConstraintListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/Constraint" - error: - nullable: true - StrippedAssetAdministrationShell: - allOf: - - $ref: "#/components/schemas/AssetAdministrationShell" - - properties: - views: - not: {} - submodels: - not: {} - conceptDictionaries: - not: {} - StrippedSubmodel: - allOf: - - $ref: "#/components/schemas/Submodel" - - properties: - submodelElements: - not: {} - qualifiers: - not: {} - StrippedSubmodelElement: - allOf: - - $ref: "#/components/schemas/SubmodelElement" - - properties: - qualifiers: - not: {} - Referable: - allOf: - - $ref: '#/components/schemas/HasExtensions' - - properties: - idShort: - type: string - category: - type: string - displayName: - type: string - description: - type: array - items: - $ref: '#/components/schemas/LangString' - modelType: - $ref: '#/components/schemas/ModelType' - required: - - modelType - Identifiable: - allOf: - - $ref: '#/components/schemas/Referable' - - properties: - identification: - $ref: '#/components/schemas/Identifier' - administration: - $ref: '#/components/schemas/AdministrativeInformation' - required: - - identification - Qualifiable: - type: object - properties: - qualifiers: - type: array - items: - $ref: '#/components/schemas/Constraint' - HasSemantics: - type: object - properties: - semanticId: - $ref: '#/components/schemas/Reference' - HasDataSpecification: - type: object - properties: - embeddedDataSpecifications: - type: array - items: - $ref: '#/components/schemas/EmbeddedDataSpecification' - HasExtensions: - type: object - properties: - extensions: - type: array - items: - $ref: '#/components/schemas/Extension' - Extension: - allOf: - - $ref: '#/components/schemas/HasSemantics' - - properties: - name: - type: string - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - value: - type: string - refersTo: - $ref: '#/components/schemas/Reference' - required: - - name - AssetAdministrationShell: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - properties: - derivedFrom: - $ref: '#/components/schemas/Reference' - assetInformation: - $ref: '#/components/schemas/AssetInformation' - submodels: - type: array - items: - $ref: '#/components/schemas/Reference' - views: - type: array - items: - $ref: '#/components/schemas/View' - security: - $ref: '#/components/schemas/Security' - required: - - assetInformation - Identifier: - type: object - properties: - id: - type: string - idType: - $ref: '#/components/schemas/KeyType' - required: - - id - - idType - KeyType: - type: string - enum: - - Custom - - IRDI - - IRI - - IdShort - - FragmentId - AdministrativeInformation: - type: object - properties: - version: - type: string - revision: - type: string - LangString: - type: object - properties: - language: - type: string - text: - type: string - required: - - language - - text - Reference: - type: object - properties: - keys: - type: array - items: - $ref: '#/components/schemas/Key' - required: - - keys - Key: - type: object - properties: - type: - $ref: '#/components/schemas/KeyElements' - idType: - $ref: '#/components/schemas/KeyType' - value: - type: string - required: - - type - - idType - - value - KeyElements: - type: string - enum: - - Asset - - AssetAdministrationShell - - ConceptDescription - - Submodel - - AccessPermissionRule - - AnnotatedRelationshipElement - - BasicEvent - - Blob - - Capability - - DataElement - - File - - Entity - - Event - - MultiLanguageProperty - - Operation - - Property - - Range - - ReferenceElement - - RelationshipElement - - SubmodelElement - - SubmodelElementCollection - - View - - GlobalReference - - FragmentReference - ModelTypes: - type: string - enum: - - Asset - - AssetAdministrationShell - - ConceptDescription - - Submodel - - AccessPermissionRule - - AnnotatedRelationshipElement - - BasicEvent - - Blob - - Capability - - DataElement - - File - - Entity - - Event - - MultiLanguageProperty - - Operation - - Property - - Range - - ReferenceElement - - RelationshipElement - - SubmodelElement - - SubmodelElementCollection - - View - - GlobalReference - - FragmentReference - - Constraint - - Formula - - Qualifier - ModelType: - type: object - properties: - name: - $ref: '#/components/schemas/ModelTypes' - required: - - name - EmbeddedDataSpecification: - type: object - properties: - dataSpecification: - $ref: '#/components/schemas/Reference' - dataSpecificationContent: - $ref: '#/components/schemas/DataSpecificationContent' - required: - - dataSpecification - - dataSpecificationContent - DataSpecificationContent: - oneOf: - - $ref: '#/components/schemas/DataSpecificationIEC61360Content' - - $ref: '#/components/schemas/DataSpecificationPhysicalUnitContent' - DataSpecificationPhysicalUnitContent: - type: object - properties: - unitName: - type: string - unitSymbol: - type: string - definition: - type: array - items: - $ref: '#/components/schemas/LangString' - siNotation: - type: string - siName: - type: string - dinNotation: - type: string - eceName: - type: string - eceCode: - type: string - nistName: - type: string - sourceOfDefinition: - type: string - conversionFactor: - type: string - registrationAuthorityId: - type: string - supplier: - type: string - required: - - unitName - - unitSymbol - - definition - DataSpecificationIEC61360Content: - allOf: - - $ref: '#/components/schemas/ValueObject' - - type: object - properties: - dataType: - enum: - - DATE - - STRING - - STRING_TRANSLATABLE - - REAL_MEASURE - - REAL_COUNT - - REAL_CURRENCY - - BOOLEAN - - URL - - RATIONAL - - RATIONAL_MEASURE - - TIME - - TIMESTAMP - - INTEGER_COUNT - - INTEGER_MEASURE - - INTEGER_CURRENCY - definition: - type: array - items: - $ref: '#/components/schemas/LangString' - preferredName: - type: array - items: - $ref: '#/components/schemas/LangString' - shortName: - type: array - items: - $ref: '#/components/schemas/LangString' - sourceOfDefinition: - type: string - symbol: - type: string - unit: - type: string - unitId: - $ref: '#/components/schemas/Reference' - valueFormat: - type: string - valueList: - $ref: '#/components/schemas/ValueList' - levelType: - type: array - items: - $ref: '#/components/schemas/LevelType' - required: - - preferredName - LevelType: - type: string - enum: - - Min - - Max - - Nom - - Typ - ValueList: - type: object - properties: - valueReferencePairTypes: - type: array - minItems: 1 - items: - $ref: '#/components/schemas/ValueReferencePairType' - required: - - valueReferencePairTypes - ValueReferencePairType: - allOf: - - $ref: '#/components/schemas/ValueObject' - ValueObject: - type: object - properties: - value: - type: string - valueId: - $ref: '#/components/schemas/Reference' - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - Asset: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - AssetInformation: - allOf: - - properties: - assetKind: - $ref: '#/components/schemas/AssetKind' - globalAssetId: - $ref: '#/components/schemas/Reference' - externalAssetIds: - type: array - items: - $ref: '#/components/schemas/IdentifierKeyValuePair' - billOfMaterial: - type: array - items: - $ref: '#/components/schemas/Reference' - thumbnail: - $ref: '#/components/schemas/File' - required: - - assetKind - IdentifierKeyValuePair: - allOf: - - $ref: '#/components/schemas/HasSemantics' - - properties: - key: - type: string - value: - type: string - subjectId: - $ref: '#/components/schemas/Reference' - required: - - key - - value - - subjectId - AssetKind: - type: string - enum: - - Type - - Instance - ModelingKind: - type: string - enum: - - Template - - Instance - Submodel: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/Qualifiable' - - $ref: '#/components/schemas/HasSemantics' - - properties: - kind: - $ref: '#/components/schemas/ModelingKind' - submodelElements: - type: array - items: - $ref: '#/components/schemas/SubmodelElement' - Constraint: - type: object - properties: - modelType: - $ref: '#/components/schemas/ModelType' - required: - - modelType - Operation: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - inputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - outputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - inoutputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - OperationVariable: - type: object - properties: - value: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/Capability' - - $ref: '#/components/schemas/Entity' - - $ref: '#/components/schemas/Event' - - $ref: '#/components/schemas/BasicEvent' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Operation' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - - $ref: '#/components/schemas/RelationshipElement' - - $ref: '#/components/schemas/SubmodelElementCollection' - required: - - value - SubmodelElement: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/HasSemantics' - - $ref: '#/components/schemas/Qualifiable' - - properties: - kind: - $ref: '#/components/schemas/ModelingKind' - idShort: - type: string - required: - - idShort - Event: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - BasicEvent: - allOf: - - $ref: '#/components/schemas/Event' - - properties: - observed: - $ref: '#/components/schemas/Reference' - required: - - observed - EntityType: - type: string - enum: - - CoManagedEntity - - SelfManagedEntity - Entity: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - statements: - type: array - items: - $ref: '#/components/schemas/SubmodelElement' - entityType: - $ref: '#/components/schemas/EntityType' - globalAssetId: - $ref: '#/components/schemas/Reference' - specificAssetIds: - $ref: '#/components/schemas/IdentifierKeyValuePair' - required: - - entityType - View: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/HasSemantics' - - properties: - containedElements: - type: array - items: - $ref: '#/components/schemas/Reference' - ConceptDescription: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - properties: - isCaseOf: - type: array - items: - $ref: '#/components/schemas/Reference' - Capability: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - Property: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - $ref: '#/components/schemas/ValueObject' - Range: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - min: - type: string - max: - type: string - required: - - valueType - MultiLanguageProperty: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: array - items: - $ref: '#/components/schemas/LangString' - valueId: - $ref: '#/components/schemas/Reference' - File: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: string - mimeType: - type: string - required: - - mimeType - Blob: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: string - mimeType: - type: string - required: - - mimeType - ReferenceElement: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - $ref: '#/components/schemas/Reference' - SubmodelElementCollection: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: array - items: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/Capability' - - $ref: '#/components/schemas/Entity' - - $ref: '#/components/schemas/Event' - - $ref: '#/components/schemas/BasicEvent' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Operation' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - - $ref: '#/components/schemas/RelationshipElement' - - $ref: '#/components/schemas/SubmodelElementCollection' - allowDuplicates: - type: boolean - ordered: - type: boolean - RelationshipElement: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - first: - $ref: '#/components/schemas/Reference' - second: - $ref: '#/components/schemas/Reference' - required: - - first - - second - AnnotatedRelationshipElement: - allOf: - - $ref: '#/components/schemas/RelationshipElement' - - properties: - annotation: - type: array - items: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - Qualifier: - allOf: - - $ref: '#/components/schemas/Constraint' - - $ref: '#/components/schemas/HasSemantics' - - $ref: '#/components/schemas/ValueObject' - - properties: - type: - type: string - required: - - type - Formula: - allOf: - - $ref: '#/components/schemas/Constraint' - - properties: - dependsOn: - type: array - items: - $ref: '#/components/schemas/Reference' - Security: - type: object - properties: - accessControlPolicyPoints: - $ref: '#/components/schemas/AccessControlPolicyPoints' - certificate: - type: array - items: - oneOf: - - $ref: '#/components/schemas/BlobCertificate' - requiredCertificateExtension: - type: array - items: - $ref: '#/components/schemas/Reference' - required: - - accessControlPolicyPoints - Certificate: - type: object - BlobCertificate: - allOf: - - $ref: '#/components/schemas/Certificate' - - properties: - blobCertificate: - $ref: '#/components/schemas/Blob' - containedExtension: - type: array - items: - $ref: '#/components/schemas/Reference' - lastCertificate: - type: boolean - AccessControlPolicyPoints: - type: object - properties: - policyAdministrationPoint: - $ref: '#/components/schemas/PolicyAdministrationPoint' - policyDecisionPoint: - $ref: '#/components/schemas/PolicyDecisionPoint' - policyEnforcementPoint: - $ref: '#/components/schemas/PolicyEnforcementPoint' - policyInformationPoints: - $ref: '#/components/schemas/PolicyInformationPoints' - required: - - policyAdministrationPoint - - policyDecisionPoint - - policyEnforcementPoint - PolicyAdministrationPoint: - type: object - properties: - localAccessControl: - $ref: '#/components/schemas/AccessControl' - externalAccessControl: - type: boolean - required: - - externalAccessControl - PolicyInformationPoints: - type: object - properties: - internalInformationPoint: - type: array - items: - $ref: '#/components/schemas/Reference' - externalInformationPoint: - type: boolean - required: - - externalInformationPoint - PolicyEnforcementPoint: - type: object - properties: - externalPolicyEnforcementPoint: - type: boolean - required: - - externalPolicyEnforcementPoint - PolicyDecisionPoint: - type: object - properties: - externalPolicyDecisionPoints: - type: boolean - required: - - externalPolicyDecisionPoints - AccessControl: - type: object - properties: - selectableSubjectAttributes: - $ref: '#/components/schemas/Reference' - defaultSubjectAttributes: - $ref: '#/components/schemas/Reference' - selectablePermissions: - $ref: '#/components/schemas/Reference' - defaultPermissions: - $ref: '#/components/schemas/Reference' - selectableEnvironmentAttributes: - $ref: '#/components/schemas/Reference' - defaultEnvironmentAttributes: - $ref: '#/components/schemas/Reference' - accessPermissionRule: - type: array - items: - $ref: '#/components/schemas/AccessPermissionRule' - AccessPermissionRule: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/Qualifiable' - - properties: - targetSubjectAttributes: - type: array - items: - $ref: '#/components/schemas/SubjectAttributes' - minItems: 1 - permissionsPerObject: - type: array - items: - $ref: '#/components/schemas/PermissionsPerObject' - required: - - targetSubjectAttributes - SubjectAttributes: - type: object - properties: - subjectAttributes: - type: array - items: - $ref: '#/components/schemas/Reference' - minItems: 1 - PermissionsPerObject: - type: object - properties: - object: - $ref: '#/components/schemas/Reference' - targetObjectAttributes: - $ref: '#/components/schemas/ObjectAttributes' - permission: - type: array - items: - $ref: '#/components/schemas/Permission' - ObjectAttributes: - type: object - properties: - objectAttribute: - type: array - items: - $ref: '#/components/schemas/Property' - minItems: 1 - Permission: - type: object - properties: - permission: - $ref: '#/components/schemas/Reference' - kindOfPermission: - type: string - enum: - - Allow - - Deny - - NotApplicable - - Undefined - required: - - permission - - kindOfPermission diff --git a/sdk/test/adapter/http-api-oas-submodel.yaml b/sdk/test/adapter/http-api-oas-submodel.yaml deleted file mode 100644 index 79ac905da..000000000 --- a/sdk/test/adapter/http-api-oas-submodel.yaml +++ /dev/null @@ -1,2017 +0,0 @@ -openapi: 3.0.0 -info: - version: "1" - title: PyI40AAS REST API - description: "REST API Specification for the [PyI40AAS framework](https://git.rwth-aachen.de/acplt/pyi40aas). - - - **Submodel Interface** - - - Any identifier/identification objects are encoded as follows `{identifierType}:URIencode(URIencode({identifier}))`, e.g. `IRI:http:%252F%252Facplt.org%252Fasset`." - contact: - name: "Michael Thies, Torben Miny, Leon Möller" - license: - name: Use under Eclipse Public License 2.0 - url: "https://www.eclipse.org/legal/epl-2.0/" -servers: - - url: http://{authority}/{basePath}/{api-version} - description: This is the Server to access the Asset Administration Shell - variables: - authority: - default: localhost:8080 - description: The authority is the server url (made of IP-Address or DNS-Name, user information, and/or port information) of the hosting environment for the Asset Administration Shell - basePath: - default: api - description: The basePath variable is additional path information for the hosting environment. It may contain the name of an aggregation point like 'shells' and/or API version information and/or tenant-id information, etc. - api-version: - default: v1 - description: The Version of the API-Specification -paths: - "/": - get: - summary: "Returns the stripped Submodel (without SubmodelElements and Constraints (property: qualifiers))" - operationId: ReadSubmodel - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelResult" - "404": - description: No Submodel found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/constraints/": - get: - summary: Returns all Constraints of the current Submodel - operationId: ReadSubmodelConstraints - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintListResult" - "404": - description: Submodel not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: Adds a new Constraint to the Submodel - operationId: CreateSubmodelConstraint - requestBody: - description: The Constraint to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/Constraint" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - headers: - Location: - description: The URL of the created Constraint - schema: - type: string - links: - ReadSubmodelQualifierByType: - $ref: "#/components/links/ReadSubmodelQualifierByType" - UpdateSubmodelQualifierByType: - $ref: "#/components/links/UpdateSubmodelQualifierByType" - DeleteSubmodelQualifierByType: - $ref: "#/components/links/DeleteSubmodelQualifierByType" - "404": - description: Submodel not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: "When trying to add a qualifier: Qualifier with same type already exists" - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid Qualifier - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/constraints/{qualifier-type}/": - parameters: - - name: qualifier-type - in: path - description: The type of the Qualifier - required: true - schema: - type: string - get: - summary: Retrieves a specific Qualifier of the Submodel's constraints (Formulas cannot be referred to yet) - operationId: ReadSubmodelConstraint - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - links: - ReadSubmodelQualifierByType: - $ref: "#/components/links/ReadSubmodelQualifierByType" - UpdateSubmodelQualifierByType: - $ref: "#/components/links/UpdateSubmodelQualifierByType" - DeleteSubmodelQualifierByType: - $ref: "#/components/links/DeleteSubmodelQualifierByType" - "404": - description: Submodel or Constraint not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - put: - summary: Updates an existing Qualifier in the Submodel (Formulas cannot be referred to yet) - operationId: UpdateSubmodelConstraint - requestBody: - description: The Qualifier used to overwrite the existing Qualifier - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/Qualifier" - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - links: - ReadSubmodelQualifierByType: - $ref: "#/components/links/ReadSubmodelQualifierByType" - UpdateSubmodelQualifierByType: - $ref: "#/components/links/UpdateSubmodelQualifierByType" - DeleteSubmodelQualifierByType: - $ref: "#/components/links/DeleteSubmodelQualifierByType" - "201": - description: Success (type changed) - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - headers: - Location: - description: The new URL of the Qualifier - schema: - type: string - links: - ReadSubmodelQualifierByType: - $ref: "#/components/links/ReadSubmodelQualifierByType" - UpdateSubmodelQualifierByType: - $ref: "#/components/links/UpdateSubmodelQualifierByType" - DeleteSubmodelQualifierByType: - $ref: "#/components/links/DeleteSubmodelQualifierByType" - "404": - description: Submodel or Constraint not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: type changed and new type already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid Qualifier - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - delete: - summary: Deletes an existing Qualifier from the Submodel (Formulas cannot be referred to yet) - operationId: DeleteSubmodelConstraint - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or Constraint not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/submodelElements/": - get: - summary: Returns all SubmodelElements of the current Submodel - operationId: ReadSubmodelSubmodelElements - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementListResult" - "404": - description: Submodel not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: Adds a new SubmodelElement to the Submodel - operationId: CreateSubmodelSubmodelElement - requestBody: - description: The SubmodelElement to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElement" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - headers: - Location: - description: The URL of the created SubmodelElement - schema: - type: string - links: - ReadSubmodelSubmodelElementByIdShortAfterPost: - $ref: "#/components/links/ReadSubmodelSubmodelElementByIdShortAfterPost" - UpdateSubmodelSubmodelElementByIdShortAfterPost: - $ref: "#/components/links/UpdateSubmodelSubmodelElementByIdShortAfterPost" - DeleteSubmodelSubmodelElementByIdShortAfterPost: - $ref: "#/components/links/DeleteSubmodelSubmodelElementByIdShortAfterPost" - "404": - description: Submodel not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: SubmodelElement with same idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid SubmodelElement - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - get: - summary: Returns the (stripped) (nested) SubmodelElement - operationId: ReadSubmodelSubmodelElement - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementListResult" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - put: - summary: Updates a nested SubmodelElement - operationId: UpdateSubmodelSubmodelElement - requestBody: - description: The SubmodelElement used to overwrite the existing SubmodelElement - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElement" - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - "201": - description: Success (idShort changed) - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - headers: - Location: - description: The new URL of the SubmodelElement - schema: - type: string - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: idShort changed and new idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid SubmodelElement **or** the type of the new SubmodelElement differs from the existing one - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - delete: - summary: Deletes a specific (nested) SubmodelElement from the Submodel - operationId: DeleteSubmodelSubmodelElement - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/value/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - get: - summary: If the (nested) SubmodelElement is a SubmodelElementCollection, return contained (stripped) SubmodelElements - operationId: ReadSubmodelSubmodelElementValue - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "400": - description: Invalid idShort or SubmodelElement exists, but is not a SubmodelElementCollection, so /value is not possible - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: If the (nested) SubmodelElement is a SubmodelElementCollection, add a SubmodelElement to its value - operationId: CreateSubmodelSubmodelElementValue - requestBody: - description: The SubmodelElement to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElement" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - headers: - Location: - description: The URL of the created SubmodelElement - schema: - type: string - links: - ReadSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/ReadSubmodelSubmodelElementByIdShortAfterPostWithPath" - UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath" - DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath" - "400": - description: Invalid idShort or SubmodelElement exists, but is not a SubmodelElementCollection, so /value is not possible - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: SubmodelElement with same idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid SubmodelElement - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/annotation/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - get: - summary: If the (nested) SubmodelElement is an AnnotatedRelationshipElement, return contained (stripped) SubmodelElements - operationId: ReadSubmodelSubmodelElementAnnotation - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementListResult" - "400": - description: Invalid idShort or SubmodelElement exists, but is not an AnnotatedRelationshipElement, so /annotation is not possible - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: If the (nested) SubmodelElement is an AnnotatedRelationshipElement, add a SubmodelElement to its annotation - operationId: CreateSubmodelSubmodelElementAnnotation - requestBody: - description: The SubmodelElement to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElement" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - headers: - Location: - description: The URL of the created SubmodelElement - schema: - type: string - links: - ReadSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/ReadSubmodelSubmodelElementByIdShortAfterPostWithPath" - UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath" - DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath" - "400": - description: Invalid idShort or SubmodelElement exists, but is not an AnnotatedRelationshipElement, so /annotation is not possible - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: SubmodelElement with given idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid SubmodelElement - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/statement/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - get: - summary: If the (nested) SubmodelElement is an Entity, return contained (stripped) SubmodelElements - operationId: ReadSubmodelSubmodelElementStatement - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementListResult" - "400": - description: Invalid idShort or SubmodelElement exists, but is not an Entity, so /statement is not possible. - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: If the (nested) SubmodelElement is an Entity, add a SubmodelElement to its statement - operationId: CreateSubmodelSubmodelElementStatement - requestBody: - description: The SubmodelElement to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElement" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/SubmodelElementResult" - headers: - Location: - description: The URL of the created SubmodelElement - schema: - type: string - links: - ReadSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/ReadSubmodelSubmodelElementByIdShortAfterPostWithPath" - UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath" - DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath: - $ref: "#/components/links/DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath" - "400": - description: Invalid idShort or SubmodelElement exists, but is not an Entity, so /statement is not possible - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: SubmodelElement with same idShort already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid SubmodelElement - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/constraints/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - get: - summary: Returns all Constraints of the (nested) SubmodelElement - operationId: ReadSubmodelSubmodelElementConstraints - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintListResult" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - post: - summary: Adds a new Constraint to the (nested) SubmodelElement - operationId: CreateSubmodelSubmodelElementConstraint - requestBody: - description: The Constraint to create - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/Constraint" - responses: - "201": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - headers: - Location: - description: The URL of the created Constraint - schema: - type: string - links: - ReadSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/ReadSubmodelSubmodelElementQualifierByType" - UpdateSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/UpdateSubmodelSubmodelElementQualifierByType" - DeleteSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/DeleteSubmodelSubmodelElementQualifierByType" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: "When trying to add a qualifier: Qualifier with specified type already exists" - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid Qualifier - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - "/{idShort-path}/constraints/{qualifier-type}/": - parameters: - - name: idShort-path - in: path - description: A /-separated concatenation of !-prefixed idShorts - required: true - schema: - type: string - - name: qualifier-type - in: path - description: "Type of the qualifier" - required: true - schema: - type: string - get: - summary: Retrieves a specific Qualifier of the (nested) SubmodelElements's Constraints (Formulas cannot be referred to yet) - operationId: ReadSubmodelSubmodelElementConstraint - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - links: - ReadSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/ReadSubmodelSubmodelElementQualifierByType" - UpdateSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/UpdateSubmodelSubmodelElementQualifierByType" - DeleteSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/DeleteSubmodelSubmodelElementQualifierByType" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel, Qualifier or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - put: - summary: Updates an existing Qualifier in the (nested) SubmodelElement (Formulas cannot be referred to yet) - operationId: UpdateSubmodelSubmodelElementConstraint - requestBody: - description: The Qualifier used to overwrite the existing Qualifier - required: true - content: - "application/json": - schema: - $ref: "#/components/schemas/Qualifier" - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - links: - ReadSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/ReadSubmodelSubmodelElementQualifierByType" - UpdateSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/UpdateSubmodelSubmodelElementQualifierByType" - DeleteSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/DeleteSubmodelSubmodelElementQualifierByType" - "201": - description: Success (type changed) - content: - "application/json": - schema: - $ref: "#/components/schemas/ConstraintResult" - headers: - Location: - description: The new URL of the Qualifier - schema: - type: string - links: - ReadSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/ReadSubmodelSubmodelElementQualifierByType" - UpdateSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/UpdateSubmodelSubmodelElementQualifierByType" - DeleteSubmodelSubmodelElementQualifierByType: - $ref: "#/components/links/DeleteSubmodelSubmodelElementQualifierByType" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel, Qualifier or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "409": - description: type changed and new type already exists - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "422": - description: Request body is not a valid Qualifier - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface - delete: - summary: Deletes an existing Qualifier from the (nested) SubmodelElement (Formulas cannot be referred to yet) - operationId: DeleteSubmodelSubmodelElementConstraint - responses: - "200": - description: Success - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "400": - description: Invalid idShort - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - "404": - description: Submodel, Qualifier or any SubmodelElement referred by idShort-path not found - content: - "application/json": - schema: - $ref: "#/components/schemas/BaseResult" - tags: - - Submodel Interface -components: - links: - ReadSubmodelQualifierByType: - description: The `type` of the returned Qualifier can be used to read the Qualifier. - operationId: ReadSubmodelConstraint - parameters: - qualifier-type: "$response.body#/data/type" - UpdateSubmodelQualifierByType: - description: The `type` of the returned Qualifier can be used to update the Qualifier. - operationId: UpdateSubmodelConstraint - parameters: - qualifier-type: "$response.body#/data/type" - DeleteSubmodelQualifierByType: - description: The `type` of the returned Qualifier can be used to delete the Qualifier. - operationId: DeleteSubmodelConstraint - parameters: - qualifier-type: "$response.body#/data/type" - ReadSubmodelSubmodelElementByIdShortAfterPost: - description: The `idShort` of the returned SubmodelElement can be used to read the SubmodelElement. - operationId: ReadSubmodelSubmodelElement - parameters: - idShort-path: "!{$response.body#/data/idShort}" - UpdateSubmodelSubmodelElementByIdShortAfterPost: - description: The `idShort` of the returned SubmodelElement can be used to update the SubmodelElement. - operationId: UpdateSubmodelSubmodelElement - parameters: - idShort-path: "!{$response.body#/data/idShort}" - DeleteSubmodelSubmodelElementByIdShortAfterPost: - description: The `idShort` of the returned SubmodelElement can be used to delete the SubmodelElement. - operationId: DeleteSubmodelSubmodelElement - parameters: - idShort-path: "!{$response.body#/data/idShort}" - ReadSubmodelSubmodelElementByIdShortAfterPostWithPath: - description: The `idShort` of the returned SubmodelElement can be used to read the SubmodelElement. - operationId: ReadSubmodelSubmodelElement - parameters: - idShort-path: "{$request.path.idShort-path}/!{$response.body#/data/idShort}" - UpdateSubmodelSubmodelElementByIdShortAfterPostWithPath: - description: The `idShort` of the returned SubmodelElement can be used to update the SubmodelElement. - operationId: UpdateSubmodelSubmodelElement - parameters: - idShort-path: "{$request.path.idShort-path}/!{$response.body#/data/idShort}" - DeleteSubmodelSubmodelElementByIdShortAfterPostWithPath: - description: The `idShort` of the returned SubmodelElement can be used to delete the SubmodelElement. - operationId: DeleteSubmodelSubmodelElement - parameters: - idShort-path: "{$request.path.idShort-path}/!{$response.body#/data/idShort}" - ReadSubmodelSubmodelElementQualifierByType: - description: The `type` of the returned Qualifier can be used to read the Qualifier. - operationId: ReadSubmodelSubmodelElementConstraint - parameters: - idShort-path: "$request.path.idShort-path" - qualifier-type: "$response.body#/type" - UpdateSubmodelSubmodelElementQualifierByType: - description: The `type` of the returned Qualifier can be used to update the Qualifier. - operationId: UpdateSubmodelSubmodelElementConstraint - parameters: - idShort-path: "$request.path.idShort-path" - qualifier-type: "$response.body#/type" - DeleteSubmodelSubmodelElementQualifierByType: - description: The `type` of the returned Qualifier can be used to delete the Qualifier. - operationId: DeleteSubmodelSubmodelElementConstraint - parameters: - idShort-path: "$request.path.idShort-path" - qualifier-type: "$response.body#/type" - schemas: - BaseResult: - type: object - properties: - success: - type: boolean - error: - type: object - nullable: true - properties: - type: - enum: - - Unspecified - - Debug - - Information - - Warning - - Error - - Fatal - - Exception - type: string - code: - type: string - text: - type: string - data: - nullable: true - AssetAdministrationShellResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedAssetAdministrationShell" - error: - nullable: true - ReferenceResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/Reference" - error: - nullable: true - ReferenceListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/Reference" - error: - nullable: true - ViewResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/View" - error: - nullable: true - ViewListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/View" - error: - nullable: true - SubmodelResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedSubmodel" - error: - nullable: true - SubmodelElementResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/StrippedSubmodelElement" - error: - nullable: true - SubmodelElementListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/StrippedSubmodelElement" - error: - nullable: true - ConstraintResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - $ref: "#/components/schemas/Constraint" - error: - nullable: true - ConstraintListResult: - allOf: - - $ref: "#/components/schemas/BaseResult" - - properties: - data: - type: array - items: - $ref: "#/components/schemas/Constraint" - error: - nullable: true - StrippedAssetAdministrationShell: - allOf: - - $ref: "#/components/schemas/AssetAdministrationShell" - - properties: - views: - not: {} - submodels: - not: {} - conceptDictionaries: - not: {} - StrippedSubmodel: - allOf: - - $ref: "#/components/schemas/Submodel" - - properties: - submodelElements: - not: {} - qualifiers: - not: {} - StrippedSubmodelElement: - allOf: - - $ref: "#/components/schemas/SubmodelElement" - - properties: - qualifiers: - not: {} - Referable: - allOf: - - $ref: '#/components/schemas/HasExtensions' - - properties: - idShort: - type: string - category: - type: string - displayName: - type: string - description: - type: array - items: - $ref: '#/components/schemas/LangString' - modelType: - $ref: '#/components/schemas/ModelType' - required: - - modelType - Identifiable: - allOf: - - $ref: '#/components/schemas/Referable' - - properties: - identification: - $ref: '#/components/schemas/Identifier' - administration: - $ref: '#/components/schemas/AdministrativeInformation' - required: - - identification - Qualifiable: - type: object - properties: - qualifiers: - type: array - items: - $ref: '#/components/schemas/Constraint' - HasSemantics: - type: object - properties: - semanticId: - $ref: '#/components/schemas/Reference' - HasDataSpecification: - type: object - properties: - embeddedDataSpecifications: - type: array - items: - $ref: '#/components/schemas/EmbeddedDataSpecification' - HasExtensions: - type: object - properties: - extensions: - type: array - items: - $ref: '#/components/schemas/Extension' - Extension: - allOf: - - $ref: '#/components/schemas/HasSemantics' - - properties: - name: - type: string - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - value: - type: string - refersTo: - $ref: '#/components/schemas/Reference' - required: - - name - AssetAdministrationShell: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - properties: - derivedFrom: - $ref: '#/components/schemas/Reference' - assetInformation: - $ref: '#/components/schemas/AssetInformation' - submodels: - type: array - items: - $ref: '#/components/schemas/Reference' - views: - type: array - items: - $ref: '#/components/schemas/View' - security: - $ref: '#/components/schemas/Security' - required: - - assetInformation - Identifier: - type: object - properties: - id: - type: string - idType: - $ref: '#/components/schemas/KeyType' - required: - - id - - idType - KeyType: - type: string - enum: - - Custom - - IRDI - - IRI - - IdShort - - FragmentId - AdministrativeInformation: - type: object - properties: - version: - type: string - revision: - type: string - LangString: - type: object - properties: - language: - type: string - text: - type: string - required: - - language - - text - Reference: - type: object - properties: - keys: - type: array - items: - $ref: '#/components/schemas/Key' - required: - - keys - Key: - type: object - properties: - type: - $ref: '#/components/schemas/KeyElements' - idType: - $ref: '#/components/schemas/KeyType' - value: - type: string - required: - - type - - idType - - value - KeyElements: - type: string - enum: - - Asset - - AssetAdministrationShell - - ConceptDescription - - Submodel - - AccessPermissionRule - - AnnotatedRelationshipElement - - BasicEvent - - Blob - - Capability - - DataElement - - File - - Entity - - Event - - MultiLanguageProperty - - Operation - - Property - - Range - - ReferenceElement - - RelationshipElement - - SubmodelElement - - SubmodelElementCollection - - View - - GlobalReference - - FragmentReference - ModelTypes: - type: string - enum: - - Asset - - AssetAdministrationShell - - ConceptDescription - - Submodel - - AccessPermissionRule - - AnnotatedRelationshipElement - - BasicEvent - - Blob - - Capability - - DataElement - - File - - Entity - - Event - - MultiLanguageProperty - - Operation - - Property - - Range - - ReferenceElement - - RelationshipElement - - SubmodelElement - - SubmodelElementCollection - - View - - GlobalReference - - FragmentReference - - Constraint - - Formula - - Qualifier - ModelType: - type: object - properties: - name: - $ref: '#/components/schemas/ModelTypes' - required: - - name - EmbeddedDataSpecification: - type: object - properties: - dataSpecification: - $ref: '#/components/schemas/Reference' - dataSpecificationContent: - $ref: '#/components/schemas/DataSpecificationContent' - required: - - dataSpecification - - dataSpecificationContent - DataSpecificationContent: - oneOf: - - $ref: '#/components/schemas/DataSpecificationIEC61360Content' - - $ref: '#/components/schemas/DataSpecificationPhysicalUnitContent' - DataSpecificationPhysicalUnitContent: - type: object - properties: - unitName: - type: string - unitSymbol: - type: string - definition: - type: array - items: - $ref: '#/components/schemas/LangString' - siNotation: - type: string - siName: - type: string - dinNotation: - type: string - eceName: - type: string - eceCode: - type: string - nistName: - type: string - sourceOfDefinition: - type: string - conversionFactor: - type: string - registrationAuthorityId: - type: string - supplier: - type: string - required: - - unitName - - unitSymbol - - definition - DataSpecificationIEC61360Content: - allOf: - - $ref: '#/components/schemas/ValueObject' - - type: object - properties: - dataType: - enum: - - DATE - - STRING - - STRING_TRANSLATABLE - - REAL_MEASURE - - REAL_COUNT - - REAL_CURRENCY - - BOOLEAN - - URL - - RATIONAL - - RATIONAL_MEASURE - - TIME - - TIMESTAMP - - INTEGER_COUNT - - INTEGER_MEASURE - - INTEGER_CURRENCY - definition: - type: array - items: - $ref: '#/components/schemas/LangString' - preferredName: - type: array - items: - $ref: '#/components/schemas/LangString' - shortName: - type: array - items: - $ref: '#/components/schemas/LangString' - sourceOfDefinition: - type: string - symbol: - type: string - unit: - type: string - unitId: - $ref: '#/components/schemas/Reference' - valueFormat: - type: string - valueList: - $ref: '#/components/schemas/ValueList' - levelType: - type: array - items: - $ref: '#/components/schemas/LevelType' - required: - - preferredName - LevelType: - type: string - enum: - - Min - - Max - - Nom - - Typ - ValueList: - type: object - properties: - valueReferencePairTypes: - type: array - minItems: 1 - items: - $ref: '#/components/schemas/ValueReferencePairType' - required: - - valueReferencePairTypes - ValueReferencePairType: - allOf: - - $ref: '#/components/schemas/ValueObject' - ValueObject: - type: object - properties: - value: - type: string - valueId: - $ref: '#/components/schemas/Reference' - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - Asset: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - AssetInformation: - allOf: - - properties: - assetKind: - $ref: '#/components/schemas/AssetKind' - globalAssetId: - $ref: '#/components/schemas/Reference' - externalAssetIds: - type: array - items: - $ref: '#/components/schemas/IdentifierKeyValuePair' - billOfMaterial: - type: array - items: - $ref: '#/components/schemas/Reference' - thumbnail: - $ref: '#/components/schemas/File' - required: - - assetKind - IdentifierKeyValuePair: - allOf: - - $ref: '#/components/schemas/HasSemantics' - - properties: - key: - type: string - value: - type: string - subjectId: - $ref: '#/components/schemas/Reference' - required: - - key - - value - - subjectId - AssetKind: - type: string - enum: - - Type - - Instance - ModelingKind: - type: string - enum: - - Template - - Instance - Submodel: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/Qualifiable' - - $ref: '#/components/schemas/HasSemantics' - - properties: - kind: - $ref: '#/components/schemas/ModelingKind' - submodelElements: - type: array - items: - $ref: '#/components/schemas/SubmodelElement' - Constraint: - type: object - properties: - modelType: - $ref: '#/components/schemas/ModelType' - required: - - modelType - Operation: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - inputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - outputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - inoutputVariable: - type: array - items: - $ref: '#/components/schemas/OperationVariable' - OperationVariable: - type: object - properties: - value: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/Capability' - - $ref: '#/components/schemas/Entity' - - $ref: '#/components/schemas/Event' - - $ref: '#/components/schemas/BasicEvent' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Operation' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - - $ref: '#/components/schemas/RelationshipElement' - - $ref: '#/components/schemas/SubmodelElementCollection' - required: - - value - SubmodelElement: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/HasSemantics' - - $ref: '#/components/schemas/Qualifiable' - - properties: - kind: - $ref: '#/components/schemas/ModelingKind' - idShort: - type: string - required: - - idShort - Event: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - BasicEvent: - allOf: - - $ref: '#/components/schemas/Event' - - properties: - observed: - $ref: '#/components/schemas/Reference' - required: - - observed - EntityType: - type: string - enum: - - CoManagedEntity - - SelfManagedEntity - Entity: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - statements: - type: array - items: - $ref: '#/components/schemas/SubmodelElement' - entityType: - $ref: '#/components/schemas/EntityType' - globalAssetId: - $ref: '#/components/schemas/Reference' - specificAssetIds: - $ref: '#/components/schemas/IdentifierKeyValuePair' - required: - - entityType - View: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/HasDataSpecification' - - $ref: '#/components/schemas/HasSemantics' - - properties: - containedElements: - type: array - items: - $ref: '#/components/schemas/Reference' - ConceptDescription: - allOf: - - $ref: '#/components/schemas/Identifiable' - - $ref: '#/components/schemas/HasDataSpecification' - - properties: - isCaseOf: - type: array - items: - $ref: '#/components/schemas/Reference' - Capability: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - Property: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - $ref: '#/components/schemas/ValueObject' - Range: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - valueType: - type: string - enum: - - anyUri - - base64Binary - - boolean - - date - - dateTime - - dateTimeStamp - - decimal - - integer - - long - - int - - short - - byte - - nonNegativeInteger - - positiveInteger - - unsignedLong - - unsignedInt - - unsignedShort - - unsignedByte - - nonPositiveInteger - - negativeInteger - - double - - duration - - dayTimeDuration - - yearMonthDuration - - float - - gDay - - gMonth - - gMonthDay - - gYear - - gYearMonth - - hexBinary - - NOTATION - - QName - - string - - normalizedString - - token - - language - - Name - - NCName - - ENTITY - - ID - - IDREF - - NMTOKEN - - time - min: - type: string - max: - type: string - required: - - valueType - MultiLanguageProperty: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: array - items: - $ref: '#/components/schemas/LangString' - valueId: - $ref: '#/components/schemas/Reference' - File: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: string - mimeType: - type: string - required: - - mimeType - Blob: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: string - mimeType: - type: string - required: - - mimeType - ReferenceElement: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - $ref: '#/components/schemas/Reference' - SubmodelElementCollection: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - value: - type: array - items: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/Capability' - - $ref: '#/components/schemas/Entity' - - $ref: '#/components/schemas/Event' - - $ref: '#/components/schemas/BasicEvent' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Operation' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - - $ref: '#/components/schemas/RelationshipElement' - - $ref: '#/components/schemas/SubmodelElementCollection' - allowDuplicates: - type: boolean - ordered: - type: boolean - RelationshipElement: - allOf: - - $ref: '#/components/schemas/SubmodelElement' - - properties: - first: - $ref: '#/components/schemas/Reference' - second: - $ref: '#/components/schemas/Reference' - required: - - first - - second - AnnotatedRelationshipElement: - allOf: - - $ref: '#/components/schemas/RelationshipElement' - - properties: - annotation: - type: array - items: - oneOf: - - $ref: '#/components/schemas/Blob' - - $ref: '#/components/schemas/File' - - $ref: '#/components/schemas/MultiLanguageProperty' - - $ref: '#/components/schemas/Property' - - $ref: '#/components/schemas/Range' - - $ref: '#/components/schemas/ReferenceElement' - Qualifier: - allOf: - - $ref: '#/components/schemas/Constraint' - - $ref: '#/components/schemas/HasSemantics' - - $ref: '#/components/schemas/ValueObject' - - properties: - type: - type: string - required: - - type - Formula: - allOf: - - $ref: '#/components/schemas/Constraint' - - properties: - dependsOn: - type: array - items: - $ref: '#/components/schemas/Reference' - Security: - type: object - properties: - accessControlPolicyPoints: - $ref: '#/components/schemas/AccessControlPolicyPoints' - certificate: - type: array - items: - oneOf: - - $ref: '#/components/schemas/BlobCertificate' - requiredCertificateExtension: - type: array - items: - $ref: '#/components/schemas/Reference' - required: - - accessControlPolicyPoints - Certificate: - type: object - BlobCertificate: - allOf: - - $ref: '#/components/schemas/Certificate' - - properties: - blobCertificate: - $ref: '#/components/schemas/Blob' - containedExtension: - type: array - items: - $ref: '#/components/schemas/Reference' - lastCertificate: - type: boolean - AccessControlPolicyPoints: - type: object - properties: - policyAdministrationPoint: - $ref: '#/components/schemas/PolicyAdministrationPoint' - policyDecisionPoint: - $ref: '#/components/schemas/PolicyDecisionPoint' - policyEnforcementPoint: - $ref: '#/components/schemas/PolicyEnforcementPoint' - policyInformationPoints: - $ref: '#/components/schemas/PolicyInformationPoints' - required: - - policyAdministrationPoint - - policyDecisionPoint - - policyEnforcementPoint - PolicyAdministrationPoint: - type: object - properties: - localAccessControl: - $ref: '#/components/schemas/AccessControl' - externalAccessControl: - type: boolean - required: - - externalAccessControl - PolicyInformationPoints: - type: object - properties: - internalInformationPoint: - type: array - items: - $ref: '#/components/schemas/Reference' - externalInformationPoint: - type: boolean - required: - - externalInformationPoint - PolicyEnforcementPoint: - type: object - properties: - externalPolicyEnforcementPoint: - type: boolean - required: - - externalPolicyEnforcementPoint - PolicyDecisionPoint: - type: object - properties: - externalPolicyDecisionPoints: - type: boolean - required: - - externalPolicyDecisionPoints - AccessControl: - type: object - properties: - selectableSubjectAttributes: - $ref: '#/components/schemas/Reference' - defaultSubjectAttributes: - $ref: '#/components/schemas/Reference' - selectablePermissions: - $ref: '#/components/schemas/Reference' - defaultPermissions: - $ref: '#/components/schemas/Reference' - selectableEnvironmentAttributes: - $ref: '#/components/schemas/Reference' - defaultEnvironmentAttributes: - $ref: '#/components/schemas/Reference' - accessPermissionRule: - type: array - items: - $ref: '#/components/schemas/AccessPermissionRule' - AccessPermissionRule: - allOf: - - $ref: '#/components/schemas/Referable' - - $ref: '#/components/schemas/Qualifiable' - - properties: - targetSubjectAttributes: - type: array - items: - $ref: '#/components/schemas/SubjectAttributes' - minItems: 1 - permissionsPerObject: - type: array - items: - $ref: '#/components/schemas/PermissionsPerObject' - required: - - targetSubjectAttributes - SubjectAttributes: - type: object - properties: - subjectAttributes: - type: array - items: - $ref: '#/components/schemas/Reference' - minItems: 1 - PermissionsPerObject: - type: object - properties: - object: - $ref: '#/components/schemas/Reference' - targetObjectAttributes: - $ref: '#/components/schemas/ObjectAttributes' - permission: - type: array - items: - $ref: '#/components/schemas/Permission' - ObjectAttributes: - type: object - properties: - objectAttribute: - type: array - items: - $ref: '#/components/schemas/Property' - minItems: 1 - Permission: - type: object - properties: - permission: - $ref: '#/components/schemas/Reference' - kindOfPermission: - type: string - enum: - - Allow - - Deny - - NotApplicable - - Undefined - required: - - permission - - kindOfPermission