{ "openapi": "3.0.1", "info": { "title": "TMF 639 API Resource Inventory Management", "description": "## TMF API Reference: TMF639 - Resource Inventory ### Release : 19.5 - December 2019 Resource Inventory API goal is to provide the ability to manage Resources. ### Operations Resource Inventory API performs the following operations on the resources : - Retrieve an entity or a collection of entities depending on filter criteria - Partial update of an entity (including updating rules) - Create an entity (including default values and creation rules) - Delete an entity (for administration purposes) - Manage notification of events", "license": { "name": "Apache 2.0", "url": "https://osl.etsi.org" }, "version": "4.0.0" }, "externalDocs": { "description": "TMF API Tables", "url": "https://www.tmforum.org/oda/open-apis/table" }, "servers": [ { "url": "https://portal.openslice.eu/tmf-api", "description": "Generated server url" } ], "security": [ { "security_auth": [] } ], "tags": [ { "name": "resource", "description": "the resource API" }, { "name": "listener", "description": "the listener API" }, { "name": "hub", "description": "the hub API" } ], "paths": { "/resourceInventoryManagement/v4/resource": { "get": { "tags": [ "resource" ], "summary": "List or find Resource objects", "description": "This operation list or find Resource entities", "operationId": "listResource", "parameters": [ { "name": "fields", "in": "query", "description": "Comma-separated properties to be provided in response", "required": false, "schema": { "type": "string" } }, { "name": "offset", "in": "query", "description": "Requested index for start of resources to be provided in response", "required": false, "schema": { "type": "integer", "format": "int32" } }, { "name": "limit", "in": "query", "description": "Requested number of resources to be provided in response", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "200": { "description": "Success", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Resource" } } } } } } }, "post": { "tags": [ "resource" ], "summary": "Creates a Resource", "description": "This operation creates a Resource entity.", "operationId": "createResource", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceCreate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "400": { "description": "Created", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } } } } }, "/resourceInventoryManagement/v4/hub": { "post": { "tags": [ "hub", "events subscription" ], "summary": "Register a listener", "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "operationId": "registerListener", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscriptionInput" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Subscribed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/resourceStateChangeEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity ResourceStateChangeEvent", "description": "Example of a client listener for receiving the notification ResourceStateChangeEvent", "operationId": "listenToResourceStateChangeEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceStateChangeEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/resourceDeleteEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity ResourceDeleteEvent", "description": "Example of a client listener for receiving the notification ResourceDeleteEvent", "operationId": "listenToResourceDeleteEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceDeleteEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/resourceCreateEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity ResourceCreateEvent", "description": "Example of a client listener for receiving the notification ResourceCreateEvent", "operationId": "listenToResourceCreateEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceCreateEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/listener/resourceAttributeValueChangeEvent": { "post": { "tags": [ "listener", "notification listeners (client side)" ], "summary": "Client listener for entity ResourceAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification ResourceAttributeValueChangeEvent", "operationId": "listenToResourceAttributeValueChangeEvent", "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceAttributeValueChangeEvent" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/EventSubscription" } } } } } } }, "/resourceInventoryManagement/v4/resource/{id}": { "get": { "tags": [ "resource" ], "summary": "Retrieves a Resource by ID", "description": "This operation retrieves a Resource entity. Attribute selection is enabled for all first level attributes.", "operationId": "retrieveResource", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Resource", "required": true, "schema": { "type": "string" } }, { "name": "fields", "in": "query", "description": "Comma-separated properties to provide in response", "required": false, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "200": { "description": "Success", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } } } }, "delete": { "tags": [ "resource" ], "summary": "Deletes a Resource", "description": "This operation deletes a Resource entity.", "operationId": "deleteResource", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Resource", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error" }, "204": { "description": "Deleted" }, "409": { "description": "Conflict" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "400": { "description": "Bad Request" }, "405": { "description": "Method Not allowed" }, "401": { "description": "Unauthorized" } } }, "patch": { "tags": [ "resource" ], "summary": "Updates partially a Resource", "description": "This operation updates partially a Resource entity.", "operationId": "patchResource", "parameters": [ { "name": "id", "in": "path", "description": "Identifier of the Resource", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/ResourceUpdate" } } }, "required": true }, "responses": { "500": { "description": "Internal Server Error", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "200": { "description": "Updated", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "409": { "description": "Conflict", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "404": { "description": "Not Found", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "403": { "description": "Forbidden", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "400": { "description": "Bad Request", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "405": { "description": "Method Not allowed", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } }, "401": { "description": "Unauthorized", "content": { "application/json;charset=utf-8": { "schema": { "$ref": "#/components/schemas/Resource" } } } } } } }, "/resourceInventoryManagement/v4/hub/{id}": { "delete": { "tags": [ "hub", "events subscription" ], "summary": "Unregister a listener", "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "operationId": "unregisterListener", "parameters": [ { "name": "id", "in": "path", "description": "The id of the registered listener", "required": true, "schema": { "type": "string" } } ], "responses": { "500": { "description": "Internal Server Error" }, "400": { "description": "Bad request" }, "204": { "description": "Deleted" }, "405": { "description": "Method not allowed" }, "404": { "description": "Not Found" }, "403": { "description": "Forbidden" }, "401": { "description": "Unauthorized" } } } } }, "components": { "schemas": { "Any": { "type": "object", "properties": { "value": { "type": "string" }, "alias": { "type": "string" } } }, "AttachmentRefOrValue": { "type": "object", "properties": { "uuid": { "type": "string" }, "atReferredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier for this particular attachment", "example": "4aafacbd-11ff-4dc8-b445-305f2215715f" }, "attachmentType": { "type": "string", "description": "Attachment type such as video, picture", "example": "video" }, "content": { "type": "string", "description": "The actual contents of the attachment object, if embedded, encoded as base64" }, "description": { "type": "string", "description": "A narrative text describing the content of the attachment", "example": "Photograph of the Product" }, "mimeType": { "type": "string", "description": "Attachment mime type such as extension file for video, picture and document" }, "url": { "type": "string", "description": "Uniform Resource Locator, is a web page address (a subset of URI)", "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f" }, "size": { "$ref": "#/components/schemas/Quantity" }, "validFor": { "$ref": "#/components/schemas/TimePeriod" }, "@referredType": { "type": "string" } }, "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture." }, "Characteristic": { "required": [ "name", "value" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the characteristic" }, "id": { "type": "string", "description": "Unique identifier of the characteristic" }, "valueType": { "type": "string", "description": "Data type of the value of the characteristic" }, "characteristicRelationship": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/CharacteristicRelationship" } }, "value": { "$ref": "#/components/schemas/Any" } }, "description": "Describes a given characteristic of an object or entity through a name/value pair." }, "CharacteristicRelationship": { "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the characteristic" }, "relationshipType": { "type": "string", "description": "The type of relationship" } }, "description": "Another Characteristic that is related to the current Characteristic;" }, "ConstraintRef": { "required": [ "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "atBaseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "atSchemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "atType": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" }, "atReferredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Hyperlink reference" }, "name": { "type": "string", "description": "Name of the related entity." }, "id": { "type": "string", "description": "unique identifier" }, "version": { "type": "string", "description": "constraint version" }, "@referredType": { "type": "string" } }, "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec." }, "Feature": { "required": [ "featureCharacteristic", "name" ], "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the feature." }, "isBundle": { "type": "boolean", "description": "True if this is a feature group. Default is false." }, "isEnabled": { "type": "boolean", "description": "True if this feature is enabled. Default is true." }, "name": { "type": "string", "description": "This is the name for the feature." }, "constraint": { "uniqueItems": true, "type": "array", "description": "This is a list of feature constraints.", "items": { "$ref": "#/components/schemas/ConstraintRef" } }, "featureCharacteristic": { "maxItems": 2147483647, "minItems": 1, "uniqueItems": true, "type": "array", "description": "This is a list of Characteristics for a particular feature.", "items": { "$ref": "#/components/schemas/Characteristic" } }, "featureRelationship": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/FeatureRelationship" } } }, "description": "Configuration feature." }, "FeatureRelationship": { "required": [ "relationshipType" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the target feature." }, "relationshipType": { "type": "string", "description": "This is the type of the feature relationship." }, "validFor": { "$ref": "#/components/schemas/TimePeriod" } }, "description": "Configuration feature" }, "Note": { "type": "object", "properties": { "uuid": { "type": "string" }, "date": { "type": "string", "description": "Date of the note" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "author": { "type": "string", "description": "Author of the note" }, "system": { "type": "string", "description": "Describes the system from which the action related to this note was done" }, "text": { "type": "string", "description": "Text of the note" } }, "description": "Extra information about a given entity" }, "Quantity": { "type": "object", "properties": { "amount": { "type": "number", "description": "Numeric value in a given unit", "format": "float" }, "units": { "type": "string", "description": "Unit" } }, "description": "An amount in a given unit" }, "RelatedParty": { "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "role": { "type": "string", "description": "Role of the related party." }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "id": { "type": "string" }, "extendedInfo": { "type": "string" } }, "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity." }, "RelatedPlaceRefOrValue": { "required": [ "role" ], "type": "object", "properties": { "uuid": { "type": "string" }, "atBaseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "atSchemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "atType": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" }, "atReferredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the place" }, "role": { "type": "string" }, "@referredType": { "type": "string" } }, "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself" }, "ResourceCreate": { "type": "object", "properties": { "endOperatingDate": { "type": "string", "description": "A date time( DateTime). The date till the resource is operating" }, "startOperatingDate": { "type": "string", "description": "A date time( DateTime). The date from which the resource is operating" }, "atBaseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "atSchemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "atType": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" }, "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "activationFeature": { "type": "array", "description": "Configuration features", "items": { "$ref": "#/components/schemas/Feature" } }, "administrativeState": { "type": "string", "enum": [ "locked", "unlocked", "shutdown" ] }, "attachment": { "type": "array", "items": { "$ref": "#/components/schemas/AttachmentRefOrValue" } }, "note": { "type": "array", "items": { "$ref": "#/components/schemas/Note" } }, "operationalState": { "type": "string", "enum": [ "enable", "disable" ] }, "place": { "$ref": "#/components/schemas/RelatedPlaceRefOrValue" }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "resourceCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "resourceRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/components/schemas/ResourceSpecificationRef" }, "resourceStatus": { "type": "string", "enum": [ "standby", "alarm", "available", "reserved", "unknown", "suspended" ] }, "usageState": { "type": "string", "enum": [ "idle", "active", "busy" ] }, "@baseType": { "type": "string" }, "@schemaLocation": { "type": "string" }, "@type": { "type": "string" } }, "description": "The Resource to be created" }, "ResourceRef": { "required": [ "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "id": { "type": "string", "description": "Unique identifier of the supporting resource" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "ResourceRelationship": { "required": [ "relationshipType", "resource" ], "type": "object", "properties": { "uuid": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "id": { "type": "string", "description": "unique identifier" }, "relationshipType": { "type": "string", "description": "Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (eg: an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful", "example": "bundled" }, "resource": { "$ref": "#/components/schemas/ResourceRef" } }, "description": "Linked resources to the one instantiate, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful" }, "ResourceSpecificationRef": { "type": "object", "properties": { "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "Unique reference of the entity" }, "name": { "type": "string", "description": "Name of the entity" }, "version": { "type": "string", "description": "Resource specification version" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." }, "id": { "type": "string" } }, "description": "Resource Specification reference: The ResourceSpecification is required to realize a ProductSpecification." }, "TimePeriod": { "type": "object", "properties": { "endDateTime": { "type": "string", "description": "End of the time period, using IETC-RFC-3339 format" }, "startDateTime": { "type": "string", "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" } }, "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both" }, "Resource": { "required": [ "href", "id" ], "type": "object", "properties": { "uuid": { "type": "string" }, "endOperatingDate": { "type": "string", "description": "A date time( DateTime). The date till the resource is operating" }, "startOperatingDate": { "type": "string", "description": "A date time( DateTime). The date from which the resource is operating" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string" }, "href": { "type": "string", "description": "The URI for the object itself." }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "id": { "type": "string", "description": "Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type." }, "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "activationFeature": { "uniqueItems": true, "type": "array", "description": "Configuration features", "items": { "$ref": "#/components/schemas/Feature" } }, "administrativeState": { "type": "string", "enum": [ "locked", "unlocked", "shutdown" ] }, "attachment": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/AttachmentRefOrValue" } }, "note": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/Note" } }, "operationalState": { "type": "string", "enum": [ "enable", "disable" ] }, "place": { "$ref": "#/components/schemas/RelatedPlaceRefOrValue" }, "relatedParty": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "resourceCharacteristic": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "resourceRelationship": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/components/schemas/ResourceSpecificationRef" }, "resourceStatus": { "type": "string", "enum": [ "standby", "alarm", "available", "reserved", "unknown", "suspended" ] }, "usageState": { "type": "string", "enum": [ "idle", "active", "busy" ] } }, "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory." }, "EventSubscriptionInput": { "required": [ "callback" ], "type": "object", "properties": { "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } }, "description": "Data containing the callback endpoint to deliver the information" }, "EventSubscription": { "required": [ "callback", "id" ], "type": "object", "properties": { "id": { "type": "string", "description": "Id of the listener" }, "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } }, "description": "Sets the communication endpoint address the service instance must use to deliver notification information" }, "ResourceStateChangeEvent": { "type": "object", "properties": { "event": { "$ref": "#/components/schemas/ResourceStateChangeEventPayload" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" } }, "description": "The event data" }, "ResourceStateChangeEventPayload": { "type": "object", "properties": { "resource": { "$ref": "#/components/schemas/Resource" } }, "description": "The event data structure" }, "ResourceDeleteEvent": { "type": "object", "properties": { "event": { "$ref": "#/components/schemas/ResourceDeleteEventPayload" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" } }, "description": "The event data" }, "ResourceDeleteEventPayload": { "type": "object", "properties": { "resource": { "type": "string", "format": "binary" } }, "description": "The event data structure" }, "ResourceCreateEvent": { "type": "object", "properties": { "event": { "$ref": "#/components/schemas/ResourceCreateEventPayload" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" } }, "description": "The event data" }, "ResourceCreateEventPayload": { "type": "object", "properties": { "resource": { "$ref": "#/components/schemas/Resource" } }, "description": "The event data structure" }, "ResourceAttributeValueChangeEvent": { "type": "object", "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time" }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time" }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "$ref": "#/components/schemas/ResourceAttributeValueChangeEventPayload" } }, "description": "The event data" }, "ResourceAttributeValueChangeEventPayload": { "type": "object", "properties": { "resource": { "$ref": "#/components/schemas/Resource" } }, "description": "The event data structure" }, "ResourceUpdate": { "type": "object", "properties": { "endOperatingDate": { "type": "string", "description": "A date time( DateTime). The date till the resource is operating" }, "startOperatingDate": { "type": "string", "description": "A date time( DateTime). The date from which the resource is operating" }, "atBaseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "atSchemaLocation": { "type": "string", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "atType": { "type": "string", "description": "When sub-classing, this defines the sub-class Extensible name" }, "category": { "type": "string", "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource" }, "description": { "type": "string", "description": "free-text description of the resource" }, "name": { "type": "string", "description": "A string used to give a name to the resource" }, "resourceVersion": { "type": "string", "description": "A field that identifies the specific version of an instance of a resource." }, "activationFeature": { "type": "array", "description": "Configuration features", "items": { "$ref": "#/components/schemas/Feature" } }, "administrativeState": { "type": "string", "enum": [ "locked", "unlocked", "shutdown" ] }, "attachment": { "type": "array", "items": { "$ref": "#/components/schemas/AttachmentRefOrValue" } }, "note": { "type": "array", "items": { "$ref": "#/components/schemas/Note" } }, "operationalState": { "type": "string", "enum": [ "enable", "disable" ] }, "place": { "$ref": "#/components/schemas/RelatedPlaceRefOrValue" }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedParty" } }, "resourceCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "resourceRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceRelationship" } }, "resourceSpecification": { "$ref": "#/components/schemas/ResourceSpecificationRef" }, "resourceStatus": { "type": "string", "enum": [ "standby", "alarm", "available", "reserved", "unknown", "suspended" ] }, "usageState": { "type": "string", "enum": [ "idle", "active", "busy" ] }, "@baseType": { "type": "string" }, "@schemaLocation": { "type": "string" }, "@type": { "type": "string" } }, "description": "The Resource to be updated" } }, "securitySchemes": { "security_auth": { "type": "oauth2", "scheme": "bearer", "bearerFormat": "JWT", "flows": { "authorizationCode": { "authorizationUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/auth", "tokenUrl": "https://portal.openslice.eu/auth/realms/openslice/protocol/openid-connect/token", "scopes": { "read": "read scope", "write": "write scope" } } } } } } }