openapi: 3.2.0 info: title: Resource Inventory Management Physical Resource API description: This is Swagger UI environment generated for the TMF Resource Inventory Management specification version: 4.1.0 servers: - url: https://serverRoot/resourceInventoryManagement/v4/ tags: - name: physicalResource paths: /physicalResource: get: operationId: listPhysicalResource summary: List or find PhysicalResource objects description: This operation list or find PhysicalResource entities tags: - physicalResource parameters: - in: query name: fields required: false description: Comma-separated properties to be provided in response schema: type: string - in: query name: offset required: false description: Requested index for start of resources to be provided in response schema: type: integer - in: query name: limit required: false description: Requested number of resources to be provided in response schema: type: integer - in: query name: sort required: false description: To have the output sorted by fields. Can support one or many fields, as well as ascending and descending sort order schema: type: string - in: query name: expand required: false description: Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N schema: type: string - in: query name: depth required: false description: Depth level where objects are dereferenced and inserted as values into the response schema: type: string responses: '200': description: Success headers: X-Result-Count: description: Actual number of items returned in the response body schema: type: integer X-Total-Count: description: Total number of items matching criteria schema: type: integer content: application/json;charset=utf-8: schema: items: $ref: '#/components/schemas/PhysicalResource' type: array '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' post: operationId: createPhysicalResource summary: Creates a PhysicalResource description: This operation creates a PhysicalResource entity. tags: - physicalResource responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/PhysicalResource' '202': description: Accepted '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '422': description: Unprocessable Entity content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/PhysicalResource_Create' description: The PhysicalResource to be created required: true /physicalResource/{id}: get: operationId: retrievePhysicalResource summary: Retrieves a PhysicalResource by ID description: This operation retrieves a PhysicalResource entity. Attribute selection is enabled for all first level attributes. tags: - physicalResource parameters: - in: path name: id required: true description: Identifier of the PhysicalResource schema: type: string - in: query name: fields required: false description: Comma-separated properties to be provided in response schema: type: string - in: query name: expand required: false description: Lists the sub-entities to expand along with the depth value. Empty means expand all at depth level N schema: type: string - in: query name: depth required: false description: Depth level where objects are dereferenced and inserted as values into the response schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/PhysicalResource' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' patch: operationId: patchPhysicalResource summary: Updates partially a PhysicalResource description: This operation updates partially a PhysicalResource entity. tags: - physicalResource parameters: - in: path name: id required: true description: Identifier of the PhysicalResource schema: type: string responses: '200': description: Updated content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/PhysicalResource' '204': description: No Content '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '422': description: Unprocessable Entity content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/PhysicalResource_Update' description: The PhysicalResource to be updated required: true delete: operationId: deletePhysicalResource summary: Deletes a PhysicalResource description: This operation deletes a PhysicalResource entity. tags: - physicalResource parameters: - in: path name: id required: true description: Identifier of the PhysicalResource schema: type: string responses: '204': description: Deleted '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' components: schemas: AttachmentRefOrValue: description: An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself properties: ref: $ref: '#/components/schemas/AttachmentRef' description: A reference to the Attachment. value: $ref: '#/components/schemas/Attachment' description: The Attachment (as a value). '@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 description: When sub-classing, this defines the sub-class entity name ResourceSpecificationRef: description: 'Resource Specification reference: The ResourceSpecification is required to realize a ProductSpecification.' allOf: - $ref: '#/components/schemas/EntityRef' - properties: version: type: string description: Resource specification version RelatedParty: description: Related Entity reference. A related party defines party or party role linked to a specific entity. allOf: - $ref: '#/components/schemas/Entity' - required: - id - '@referredType' properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. role: type: string description: Role played by the related party '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. AttachmentRef: description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures allOf: - $ref: '#/components/schemas/EntityRef' - properties: description: type: string description: A narrative text describing the content of the attachment url: type: string description: Link to the attachment media/content Entity: discriminator: propertyName: '@type' description: Base entity schema for use in TMForum Open-APIs properties: '@type': type: string description: When sub-classing, this defines the sub-class entity name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships ResourceStatusType: type: string description: ResourceStatusType enumerations enum: - standby - alarm - available - reserved - unknown - suspended Resource_Create: 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. Skipped properties: id,href' allOf: - $ref: '#/components/schemas/Entity' - required: - name properties: 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 endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating 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. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating administrativeState: $ref: '#/components/schemas/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' note: type: array items: $ref: '#/components/schemas/Note' operationalState: $ref: '#/components/schemas/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. 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: $ref: '#/components/schemas/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/components/schemas/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. Characteristic: discriminator: propertyName: '@type' type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship' '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@baseType': type: string description: When sub-classing, this defines the super-class '@type': type: string description: When sub-classing, this defines the sub-class Extensible name Attachment: description: Complements the description of an element (for instance a product) through video, pictures... allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: Unique identifier for this particular attachment href: type: string description: URI for this Attachment attachmentType: type: string description: Attachment type such as video, picture 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 mimeType: type: string description: Attachment mime type such as extension file for video, picture and document name: type: string description: The name of the attachment url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) size: $ref: '#/components/schemas/Quantity' description: The size of the attachment. validFor: $ref: '#/components/schemas/TimePeriod' description: The period of time for which the attachment is valid ResourceOperationalStateType: type: string description: ResourceOperationalStateType enumerations enum: - enable - disable EntityRef: description: Base entityRef schema for use in TMForum Open-APIs allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. PhysicalResource_Create: description: 'Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory. Skipped properties: id,href' allOf: - $ref: '#/components/schemas/Resource_Create' - properties: manufactureDate: type: string format: date-time description: This is a string attribute that defines the date of manufacture of this item in the fixed format "dd/mm/yyyy". This is an optional attribute. powerState: type: string description: "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" serialNumber: type: string description: This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute. versionNumber: type: string description: This is a string that identifies the version of this physical resource. This is an optional attribute. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. Quantity: type: object description: An amount in a given unit properties: amount: type: number format: float description: Numeric value in a given unit default: 1.0 units: type: string description: Unit Place: description: Place reference. Place defines the places where the products are sold or delivered. allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: Unique identifier of the place href: type: string description: Unique reference of the place name: type: string description: A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home] ResourceAdministrativeStateType: type: string description: ResourceAdministrativeStateType enumerations enum: - locked - unlocked - shutdown PhysicalResource_Update: description: 'Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory. Skipped properties: id,href' allOf: - $ref: '#/components/schemas/Resource_Update' - properties: manufactureDate: type: string format: date-time description: This is a string attribute that defines the date of manufacture of this item in the fixed format "dd/mm/yyyy". This is an optional attribute. powerState: type: string description: "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" serialNumber: type: string description: This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute. versionNumber: type: string description: This is a string that identifies the version of this physical resource. This is an optional attribute. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. CharacteristicRelationship: discriminator: propertyName: '@type' type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@baseType': type: string description: When sub-classing, this defines the super-class '@type': type: string description: When sub-classing, this defines the sub-class Extensible name ResourceUsageStateType: type: string description: ResourceUsageStateType enumerations enum: - idle - active - busy Note: description: Extra information about a given entity allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation) author: type: string description: Author of the note date: type: string format: date-time description: Date of the note text: type: string description: Text of the note Error: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) allOf: - $ref: '#/components/schemas/Entity' - required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string format: uri description: URI of documentation describing the error. RelatedPlaceRefOrValue: 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 properties: role: type: string ref: $ref: '#/components/schemas/PlaceRef' description: A reference to the Place. value: $ref: '#/components/schemas/Place' description: The Place (as a value). '@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 description: When sub-classing, this defines the sub-class entity name PlaceRef: description: Place reference. PlaceRef defines the placeRefs where the products are sold or delivered. allOf: - $ref: '#/components/schemas/EntityRef' TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: endDateTime: type: string format: date-time description: End of the time period, using IETC-RFC-3339 format startDateTime: type: string format: date-time description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end ResourceRelationship: allOf: - $ref: '#/components/schemas/Entity' - properties: id: type: string description: id of the related resource. href: type: string description: href of the related resource. relationshipType: type: string resourceRelationshipCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic' PhysicalResource: description: Physical resource is a type of resource that describes the common set of attributes shared by all concrete physical resources (e.g. EQUIPMENT) in the inventory. allOf: - $ref: '#/components/schemas/Resource' - properties: manufactureDate: type: string format: date-time description: This is a string attribute that defines the date of manufacture of this item in the fixed format "dd/mm/yyyy". This is an optional attribute. powerState: type: string description: "This defines the current power status of the hardware item. Values include:\n\n 0: Unknown\n 1: Not Applicable\n 2: No Power Applied\n 3: Full Power Applied\n 4: Power Save - Normal\n 5: Power Save - Degraded\n 6: Power Save - Standby\n 7: Power Save - Critical\n 8: Power Save - Low Power Mode\n 9: Power Save - Unknown\n 10: Power Cycle\n 11: Power Warning\n 12: Power Off" serialNumber: type: string description: This is a string that represents a manufacturer-allocated number used to identify different instances of the same hardware item. The ModelNumber and PartNumber attributes are used to identify different types of hardware items. This is a REQUIRED attribute. versionNumber: type: string description: This is a string that identifies the version of this physical resource. This is an optional attribute. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. Resource_Update: 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. Skipped properties: id,href' allOf: - $ref: '#/components/schemas/Entity' - properties: 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 endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating 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. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating administrativeState: $ref: '#/components/schemas/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' note: type: array items: $ref: '#/components/schemas/Note' operationalState: $ref: '#/components/schemas/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. 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: $ref: '#/components/schemas/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/components/schemas/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. Resource: 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. allOf: - $ref: '#/components/schemas/Entity' - required: - id - href properties: 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. href: type: string description: The URI for the object itself. 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 endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating 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. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating administrativeState: $ref: '#/components/schemas/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' note: type: array items: $ref: '#/components/schemas/Note' operationalState: $ref: '#/components/schemas/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. 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: $ref: '#/components/schemas/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/components/schemas/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on.