aboutsummaryrefslogtreecommitdiffstats
path: root/docs/offeredapis/api_serviceCatalog
diff options
context:
space:
mode:
authorMatthieuGeerebaert <matthieu.geerebaert@orange.com>2019-03-12 18:30:33 +0100
committerMatthieuGeerebaert <matthieu.geerebaert@orange.com>2019-03-12 18:30:33 +0100
commitcf469f63cb490d90b55508efa331073a17297999 (patch)
tree4cbb6daff2e14d30d2f4d745ec5e8cd8a15f5e5c /docs/offeredapis/api_serviceCatalog
parent66403a1729296f9d90ce61a4d4cb0d102e03cd1e (diff)
Update Swagger files
Change-Id: I02a375b4998fdf23bd7c4eb391011a8e37a1c8e2 Issue-ID: EXTAPI-211 Signed-off-by: MatthieuGeerebaert <matthieu.geerebaert@orange.com>
Diffstat (limited to 'docs/offeredapis/api_serviceCatalog')
-rw-r--r--docs/offeredapis/api_serviceCatalog/api.plantuml110
-rw-r--r--docs/offeredapis/api_serviceCatalog/model.xsd517
-rw-r--r--docs/offeredapis/api_serviceCatalog/swagger.json659
-rw-r--r--docs/offeredapis/api_serviceCatalog/swagger.yaml488
4 files changed, 1774 insertions, 0 deletions
diff --git a/docs/offeredapis/api_serviceCatalog/api.plantuml b/docs/offeredapis/api_serviceCatalog/api.plantuml
new file mode 100644
index 0000000..8483238
--- /dev/null
+++ b/docs/offeredapis/api_serviceCatalog/api.plantuml
@@ -0,0 +1,110 @@
+@startuml
+
+enum LifecycleStatusValues {
+ NOT_CERTIFIED_CHECKOUT
+ NOT_CERTIFIED_CHECKIN
+ READY_FOR_CERTIFICATION
+ CERTIFICATION_IN_PROGRESS
+ CERTIFIED
+}
+enum DistributionStatus {
+ DISTRIBUTION_NOT_APPROVED
+ DISTRIBUTION_APPROVED
+ DISTRIBUTED
+ DISTRIBUTION_REJECTED
+}
+
+class ErrorRepresentation {
+ code:int
+ reason:string
+ message:string
+ status:string
+ referenceErrror:string
+ @type:string
+ @schemaLocation:string
+}
+
+class TimePeriod {
+ startDateTime:dateTime
+ endDateTime:dateTime
+}
+
+class RelatedPartyRef {
+ id:string
+ role:string
+ name:string
+}
+
+class ServiceSpecification {
+ id:string
+ href:string
+ name:string
+ description:string
+ @type:string
+ @schemaLocation:string
+ @baseType:string
+ invariantUUID:string
+ toscaModelURL:string
+ toscaResourceName:string
+ category:string
+ subcategory:string
+ version:string
+}
+ ServiceSpecification --> "0-1" DistributionStatus : distributionStatus
+ ServiceSpecification --> "0-1" LifecycleStatusValues : lifecycleStatus
+ ServiceSpecification --> "0-1" TargetServiceSchemaRef : targetServiceSchema
+ ServiceSpecification --> "0-*" Attachment : attachment
+ ServiceSpecification --> "0-*" RelatedPartyRef : relatedParty
+ ServiceSpecification --> "0-*" ResourceSpecificationRef : resourceSpecification
+ ServiceSpecification --> "0-*" ServiceSpecCharacteristic : serviceSpecCharacteristic
+
+class ServiceSpecCharacteristic {
+ name:string
+ description:string
+ valueType:string
+ @type:string
+ @schemaLocation:string
+ required:boolean
+ status:string
+}
+ ServiceSpecCharacteristic --> "0-*" ServiceSpecCharacteristicValue : serviceSpecCharacteristicValue
+
+class Attachment {
+ id:string
+ name:string
+ description:string
+ @type:string
+ artifactLabel:string
+ artifactGroupType:string
+ artifactTimeout:string
+ artifactChecksum:string
+ artifactVersion:string
+ generatedFromUUID:string
+ url:string
+ mimeType:string
+}
+
+class ServiceSpecCharacteristicValue {
+ valueType:string
+ isDefault:boolean
+ value:string
+}
+
+class ResourceSpecificationRef {
+ id:string
+ version:string
+ name:string
+ @type:string
+ resourceInstanceName:string
+ resourceInvariantUUID:string
+ resourceType:string
+ modelCustomizationName:string
+ modelCustomizationId:string
+}
+
+class TargetServiceSchemaRef {
+ @type:string
+ @schemaLocation:string
+}
+
+@enduml \ No newline at end of file
diff --git a/docs/offeredapis/api_serviceCatalog/model.xsd b/docs/offeredapis/api_serviceCatalog/model.xsd
new file mode 100644
index 0000000..26625c2
--- /dev/null
+++ b/docs/offeredapis/api_serviceCatalog/model.xsd
@@ -0,0 +1,517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
+ xmlns="http://orange.com/ONAPNBI/api/serviceCatalog/v3/model"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ attributeFormDefault="unqualified"
+ elementFormDefault="qualified"
+ targetNamespace="http://orange.com/ONAPNBI/api/serviceCatalog/v3/model">
+ <xs:annotation id="signature">
+ <xs:appinfo>API Designer</xs:appinfo>
+ <xs:documentation>Model: serviceCatalog
+ Version: 3.0.0_tag
+ Owner: ONAPNBI
+ Generated on: 2019-03-12T17:02:42.013Z
+ Generated by: Orange API Designer v2, model-v1</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="LifecycleStatusValues">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="NOT_CERTIFIED_CHECKOUT"/>
+ <xs:enumeration value="NOT_CERTIFIED_CHECKIN"/>
+ <xs:enumeration value="READY_FOR_CERTIFICATION"/>
+ <xs:enumeration value="CERTIFICATION_IN_PROGRESS"/>
+ <xs:enumeration value="CERTIFIED"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DistributionStatus">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DISTRIBUTION_NOT_APPROVED"/>
+ <xs:enumeration value="DISTRIBUTION_APPROVED"/>
+ <xs:enumeration value="DISTRIBUTED"/>
+ <xs:enumeration value="DISTRIBUTION_REJECTED"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="ErrorRepresentation" type="ErrorRepresentation">
+ <xs:annotation>
+ <xs:documentation source="public">This class is used to describe error.
+for nbi Beijing release we do not manage additional error for serviceCatalog</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ErrorRepresentation">
+ <xs:annotation>
+ <xs:documentation source="public">This class is used to describe error.
+for nbi Beijing release we do not manage additional error for serviceCatalog</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="code" type="xs:int" minOccurs="1">
+ <xs:annotation>
+ <xs:documentation source="public">Application related code (as defined in the API or from a common list)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="reason" type="xs:string" minOccurs="1">
+ <xs:annotation>
+ <xs:documentation source="public">Text that explains the reason for error. This can be shown to a client user.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="message" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Text that provide more details and corrective actions related to the error. This can be shown to a client user</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="status" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">http error code extension like 400-2</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="referenceErrror" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">url pointing to documentation describing the error</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@type" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">The class type of a REST resource.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@schemaLocation" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">it provides a link to the schema describing a REST resource.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="TimePeriod" type="TimePeriod">
+ <xs:annotation>
+ <xs:documentation source="public">A time period</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="TimePeriod">
+ <xs:annotation>
+ <xs:documentation source="public">A time period</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="startDateTime" type="xs:dateTime" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Start date and time of the period</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="endDateTime" type="xs:dateTime" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">End date and time of the period</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="RelatedPartyRef" type="RelatedPartyRef">
+ <xs:annotation>
+ <xs:documentation source="public">Party linked to the service catalog.
+in nbi we retrieve information about last updater of the service in SDC</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="RelatedPartyRef">
+ <xs:annotation>
+ <xs:documentation source="public">Party linked to the service catalog.
+in nbi we retrieve information about last updater of the service in SDC</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="id" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Unique identifier of the related party. Filled with lastUpdaterUserId</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="role" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Role payed by the related party
+Only role 'lastUpdater' is retrieved in Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="name" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Name of the related party - Filled with lastUpdatedFullName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ServiceSpecification" type="ServiceSpecification">
+ <xs:annotation>
+ <xs:documentation source="public">ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.
+the service information are retrieved in SDC</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ServiceSpecification">
+ <xs:annotation>
+ <xs:documentation source="public">ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.
+the service information are retrieved in SDC</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="id" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Unique identifier of the service specification. Filled with SDC Service uuid</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="href" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Reference of the service specification- not mapped in Beijing</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="name" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Name of the service specification- Filled with SDC Service name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="description" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A narrative that explains in detail what the service specification is - Filled with SDC Service description</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@type" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes:
+invariantUUID
+toscaModelURL
+toscaResourceName
+category (1)
+subcategory (1)
+distributionStatus</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@schemaLocation" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Not used for Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@baseType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Not used for Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="invariantUUID" type="xs:string" minOccurs="1">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - invariantUUID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="toscaModelURL" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - toscaModelURL</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="toscaResourceName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - toscaResourceName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="category" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute - extended through @type - category
+Please note that this attribute is managed in TMF - in future release we'll introduce category resource</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="subcategory" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute - extended through @type - category
+Please note that this attribute is managed in TMF - in future release we'll introduce category resourc</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="distributionStatus" type="DistributionStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute - extended through @type - distributionStatus</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="version" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Service specification version - Filled with SDC Service version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="lifecycleStatus" type="LifecycleStatusValues" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Service Current status in the catalog - Filled with SDC Service life cycle state</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="targetServiceSchema"
+ type="TargetServiceSchemaRef"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Not used in Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="attachment"
+ type="Attachment"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation source="public">A list of attachments concerning the service specification - Used to retrieve service artifacts</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="relatedParty"
+ type="RelatedPartyRef"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation source="public">A list of parties linked to the service specification - Used to retrieve lastUpdater informative</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="resourceSpecification"
+ type="ResourceSpecificationRef"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation source="public">A list of resource specification usable to deliver this service - used to retrieve resource</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="serviceSpecCharacteristic"
+ type="ServiceSpecCharacteristic"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation source="public">A list of characteristic features of the service specification</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ServiceSpecCharacteristic" type="ServiceSpecCharacteristic">
+ <xs:annotation>
+ <xs:documentation source="public">A characteristic quality or distinctive feature of a ServiceSpecification.
+ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ServiceSpecCharacteristic">
+ <xs:annotation>
+ <xs:documentation source="public">A characteristic quality or distinctive feature of a ServiceSpecification.
+ServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="name" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Name of the characteristic - Filled with parameter_name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="description" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A narrative that explains in detail what the characteristic is - Filled with parameter_description</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="valueType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@type" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@schemaLocation" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">An url pointing to type description - we do not use it in nbi Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="required" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="status" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Status of the characteristic - filled with status_value</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="serviceSpecCharacteristicValue"
+ type="ServiceSpecCharacteristicValue"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation source="public">Value that can be assigned to a characteristic</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Attachment" type="Attachment">
+ <xs:annotation>
+ <xs:documentation source="public">An attachment is a file uses to describe the service.
+In nbi we use attachment to retrieve ONAP artifacts.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="Attachment">
+ <xs:annotation>
+ <xs:documentation source="public">An attachment is a file uses to describe the service.
+In nbi we use attachment to retrieve ONAP artifacts.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="id" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Unique identifier of the attachment - filled with artifactUUID.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="name" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Name of the attachment - filled with artifactName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="description" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Description of the attachment - filled with artifactDescription</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@type" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes:
+artifactLabel
+artifactGroupType
+artifactTimeout
+artifactChecksum
+artifactVersion
+generatedFromUUID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="artifactLabel" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactLabel</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="artifactGroupType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactGroupType</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="artifactTimeout" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactTimeout</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="artifactChecksum" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactChecksum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="artifactVersion" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - artifactVersion</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="generatedFromUUID" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="url" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Uniform Resource Locator, is a web page address - filled with artifactURL</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="mimeType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Filled with artifactType</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ServiceSpecCharacteristicValue"
+ type="ServiceSpecCharacteristicValue">
+ <xs:annotation>
+ <xs:documentation source="public">A number or text that can be assigned to a service specification characteristic.
+ServiceSpecCharacteristicValue are retrieved in the service Tosca file</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ServiceSpecCharacteristicValue">
+ <xs:annotation>
+ <xs:documentation source="public">A number or text that can be assigned to a service specification characteristic.
+ServiceSpecCharacteristicValue are retrieved in the service Tosca file</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="valueType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A kind of value that the characteristic can take on, such as numeric, text, and so forth
+Retrieved in the Tosca in the topology_template section in the inputs section - parameter_type.
+We do not manage parameter_type= list or map for Beijing release</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="isDefault" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Information calculated from parameter default in the Tosca file</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="value" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">A discrete value that the characteristic can take on</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ResourceSpecificationRef" type="ResourceSpecificationRef">
+ <xs:annotation>
+ <xs:documentation source="public">A list of resourceSpec identified to deliver the service.
+for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ResourceSpecificationRef">
+ <xs:annotation>
+ <xs:documentation source="public">A list of resourceSpec identified to deliver the service.
+for nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="id" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Unique identifier of the resource specification - filled with resourceUUID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="version" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Version for this resource specification - filled with resourceVersion</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="name" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Name of the resource specification - filled with resourceName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="@type" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes:
+resourceInstanceName
+resourceInvariantUUID
+resourceType
+modelCustomizationName
+modelCustomizationId</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="resourceInstanceName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="resourceInvariantUUID" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="resourceType" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - resoucreType</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="modelCustomizationName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="modelCustomizationId" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation source="public">Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="TargetServiceSchemaRef" type="TargetServiceSchemaRef">
+ <xs:annotation>
+ <xs:documentation source="public"/>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="TargetServiceSchemaRef">
+ <xs:annotation>
+ <xs:documentation source="public"/>
+ </xs:annotation>
+ <xs:sequence minOccurs="1" maxOccurs="1">
+ <xs:element name="@type" type="xs:string" minOccurs="1"/>
+ <xs:element name="@schemaLocation" type="xs:string" minOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/docs/offeredapis/api_serviceCatalog/swagger.json b/docs/offeredapis/api_serviceCatalog/swagger.json
new file mode 100644
index 0000000..fcb84d2
--- /dev/null
+++ b/docs/offeredapis/api_serviceCatalog/swagger.json
@@ -0,0 +1,659 @@
+
+ {
+ "swagger": "2.0",
+ "info": {
+ "description": "serviceCatalog API designed for ONAP Beijing Release.\nThis API is build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource serviceSpecification is available\n\n",
+ "version": "3.0.0_tag",
+ "title": "API ServiceCatalog",
+ "x-logo": {
+ "url": "/redoc/logo.png",
+ "backgroundColor": "#FFFFFF"
+ }
+ },
+
+ "host": "serverRoot",
+ "basePath": "/nbi/api/v1",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "tags": [
+
+ {
+ "name": "ServiceSpecification",
+ "description": ""
+ }
+ ],
+ "paths": {
+ "/serviceSpecification": {
+ "get": {
+ "tags": [
+ "ServiceSpecification"
+ ],
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "operationId": "serviceSpecificationFind",
+ "summary": "List service specifications",
+ "description": "This operation returns service specifications from a catalog.\nOnly a predefined set of attribute is proposed : Based on SDC limitations, only attributes category and distributionStatus are available for serviceSpecification filtering\nFields attribute could be used to filter attributes retrieved",
+ "deprecated": false,
+
+ "parameters": [
+
+ {
+ "name": "fields",
+ "required": false,
+ "in": "query",
+ "description": "Field selection - used to filtering the attributes to be retreived",
+
+ "type": "string"
+ },
+ {
+ "name": "category",
+ "required": false,
+ "in": "query",
+ "description": "Service Category (filter)",
+
+ "type": "string"
+ },
+ {
+ "name": "distributionStatus",
+ "required": false,
+ "in": "query",
+ "description": "Service distribution status (filter)",
+
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+ }
+
+ },
+ "400": {
+
+ "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "401": {
+
+ "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "403": {
+
+ "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "404": {
+
+ "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "422": {
+
+ "description": "Unprocessable entity\n\nFunctional error",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "500": {
+
+ "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "503": {
+
+ "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ }
+ }
+ }
+ },
+ "/serviceSpecification/{id}": {
+ "get": {
+ "tags": [
+ "ServiceSpecification"
+ ],
+ "produces": [
+ "application/json;charset=utf-8"
+ ],
+ "operationId": "serviceSpecificationGet",
+ "summary": "Retrieve a service specification",
+ "description": "This operation returns a service specification by its id from a catalog. Attribute selection is enabled using the fields attribute.",
+ "deprecated": false,
+
+ "parameters": [
+
+ {
+ "name": "id",
+ "required": true,
+ "in": "path",
+ "type" : "string"
+ },
+ {
+ "name": "fields",
+ "required": false,
+ "in": "query",
+ "description": "Attribute selection",
+
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Ok",
+ "schema": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+
+ },
+ "400": {
+
+ "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "401": {
+
+ "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "403": {
+
+ "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "404": {
+
+ "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "422": {
+
+ "description": "Unprocessable entity\n\nFunctional error",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "500": {
+
+ "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ },
+ "503": {
+
+ "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
+ "schema": {
+
+ "$ref": "#/definitions/ErrorRepresentation"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+
+ "LifecycleStatusValues": {
+ "description": "Service lifecycle value from ONAP SDC",
+
+ "type": "string",
+ "enum": [
+ "NOT_CERTIFIED_CHECKOUT",
+ "NOT_CERTIFIED_CHECKIN",
+ "READY_FOR_CERTIFICATION",
+ "CERTIFICATION_IN_PROGRESS",
+ "CERTIFIED"]
+
+ },
+ "DistributionStatus": {
+ "description": "Service distribution status from ONAP.",
+
+ "type": "string",
+ "enum": [
+ "DISTRIBUTION_NOT_APPROVED",
+ "DISTRIBUTION_APPROVED",
+ "DISTRIBUTED",
+ "DISTRIBUTION_REJECTED"]
+
+ },
+
+ "ErrorRepresentation": {
+ "description": "This class is used to describe error.\nfor nbi Beijing release we do not manage additional error for serviceCatalog",
+
+
+ "required": [
+
+ "code",
+ "reason"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Application related code (as defined in the API or from a common list)",
+ "type": "integer",
+ "format": "int32"
+ },
+ "reason": {
+ "description": "Text that explains the reason for error. This can be shown to a client user.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Text that provide more details and corrective actions related to the error. This can be shown to a client user",
+ "type": "string"
+ },
+ "status": {
+ "description": "http error code extension like 400-2",
+ "type": "string"
+ },
+ "referenceErrror": {
+ "description": "url pointing to documentation describing the error",
+ "type": "string"
+ },
+ "@type": {
+ "description": "The class type of a REST resource.",
+ "type": "string"
+ },
+ "@schemaLocation": {
+ "description": "it provides a link to the schema describing a REST resource.",
+ "type": "string"
+ }
+ }
+
+ },
+
+ "TimePeriod": {
+ "description": "A time period",
+
+
+ "type": "object",
+ "properties": {
+ "startDateTime": {
+ "description": "Start date and time of the period",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endDateTime": {
+ "description": "End date and time of the period",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+
+ },
+
+ "RelatedPartyRef": {
+ "description": "Party linked to the service catalog.\nin nbi we retrieve information about last updater of the service in SDC",
+
+
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the related party. Filled with lastUpdaterUserId",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role payed by the related party\nOnly role 'lastUpdater' is retrieved in Beijing release",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the related party - Filled with lastUpdatedFullName",
+ "type": "string"
+ }
+ }
+
+ },
+
+ "ServiceSpecification": {
+ "description": "ServiceSpecification is a class that offers characteristics to describe a type of service. Functionally, it acts as a template by which Services may be instantiated. By sharing the same specification, these services would therefore share the same set of characteristics.\nthe service information are retrieved in SDC",
+
+
+ "required": [
+
+ "invariantUUID"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the service specification. Filled with SDC Service uuid",
+ "type": "string"
+ },
+ "href": {
+ "description": "Reference of the service specification- not mapped in Beijing",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the service specification- Filled with SDC Service name",
+ "type": "string"
+ },
+ "description": {
+ "description": "A narrative that explains in detail what the service specification is - Filled with SDC Service description",
+ "type": "string"
+ },
+ "@type": {
+ "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPservice'. We used this features to add following attributes:\ninvariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory (1)\ndistributionStatus",
+ "type": "string",
+
+ "default": "ONAPservice"
+ },
+ "@schemaLocation": {
+ "description": "Not used for Beijing release",
+ "type": "string"
+ },
+ "@baseType": {
+ "description": "Not used for Beijing release",
+ "type": "string"
+ },
+ "invariantUUID": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - invariantUUID",
+ "type": "string"
+ },
+ "toscaModelURL": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - toscaModelURL",
+ "type": "string"
+ },
+ "toscaResourceName": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - toscaResourceName",
+ "type": "string"
+ },
+ "category": {
+ "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resource",
+ "type": "string"
+ },
+ "subcategory": {
+ "description": "Additional attribute - extended through @type - category\nPlease note that this attribute is managed in TMF - in future release we'll introduce category resourc",
+ "type": "string"
+ },
+ "distributionStatus": {
+
+ "$ref": "#/definitions/DistributionStatus"
+ },
+ "version": {
+ "description": "Service specification version - Filled with SDC Service version",
+ "type": "string"
+ },
+ "lifecycleStatus": {
+
+ "$ref": "#/definitions/LifecycleStatusValues"
+ },
+ "targetServiceSchema": {
+
+ "$ref": "#/definitions/TargetServiceSchemaRef"
+ },
+ "attachment": {
+
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Attachment"
+ }
+ },
+ "relatedParty": {
+
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RelatedPartyRef"
+ }
+ },
+ "resourceSpecification": {
+
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSpecificationRef"
+ }
+ },
+ "serviceSpecCharacteristic": {
+
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceSpecCharacteristic"
+ }
+ }
+ }
+
+ },
+
+ "ServiceSpecCharacteristic": {
+ "description": "A characteristic quality or distinctive feature of a ServiceSpecification. \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the topology_template section in the inputs section.",
+
+
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the characteristic - Filled with parameter_name",
+ "type": "string"
+ },
+ "description": {
+ "description": "A narrative that explains in detail what the characteristic is - Filled with parameter_description",
+ "type": "string"
+ },
+ "valueType": {
+ "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth - Filled with parameter_type",
+ "type": "string"
+ },
+ "@type": {
+ "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPserviceCharacteristic'. We do not used this features in nbi Beijing release.",
+ "type": "string"
+ },
+ "@schemaLocation": {
+ "description": "An url pointing to type description - we do not use it in nbi Beijing release",
+ "type": "string"
+ },
+ "required": {
+ "description": "A parameter to define if the characteristic is mandatory - Filled from parameter_required – if not fielded by default ‘true’",
+ "type": "boolean",
+
+ "default": true
+ },
+ "status": {
+ "description": "Status of the characteristic - filled with status_value",
+ "type": "string"
+ },
+ "serviceSpecCharacteristicValue": {
+
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceSpecCharacteristicValue"
+ }
+ }
+ }
+
+ },
+
+ "Attachment": {
+ "description": "An attachment is a file uses to describe the service.\nIn nbi we use attachment to retrieve ONAP artifacts.",
+
+
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the attachment - filled with artifactUUID.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the attachment - filled with artifactName",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the attachment - filled with artifactDescription",
+ "type": "string"
+ },
+ "@type": {
+ "description": "This attribute allows to dynamically extends TMF class. Valued with 'ONAPartifact'. We used this features to add following attributes: \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\nartifactVersion\ngeneratedFromUUID",
+ "type": "string",
+
+ "default": "ONAPartifact"
+ },
+ "artifactLabel": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - artifactLabel",
+ "type": "string"
+ },
+ "artifactGroupType": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - artifactGroupType",
+ "type": "string"
+ },
+ "artifactTimeout": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - artifactTimeout",
+ "type": "string"
+ },
+ "artifactChecksum": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - artifactChecksum",
+ "type": "string"
+ },
+ "artifactVersion": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - artifactVersion",
+ "type": "string"
+ },
+ "generatedFromUUID": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - generatedFromUUID",
+ "type": "string"
+ },
+ "url": {
+ "description": "Uniform Resource Locator, is a web page address - filled with artifactURL",
+ "type": "string"
+ },
+ "mimeType": {
+ "description": "Filled with artifactType",
+ "type": "string"
+ }
+ }
+
+ },
+
+ "ServiceSpecCharacteristicValue": {
+ "description": "A number or text that can be assigned to a service specification characteristic.\nServiceSpecCharacteristicValue are retrieved in the service Tosca file",
+
+
+ "type": "object",
+ "properties": {
+ "valueType": {
+ "description": "A kind of value that the characteristic can take on, such as numeric, text, and so forth\nRetrieved in the Tosca in the topology_template section in the inputs section - parameter_type. \nWe do not manage parameter_type= list or map for Beijing release",
+ "type": "string"
+ },
+ "isDefault": {
+ "description": "Information calculated from parameter default in the Tosca file",
+ "type": "boolean"
+ },
+ "value": {
+ "description": "A discrete value that the characteristic can take on",
+ "type": "string"
+ }
+ }
+
+ },
+
+ "ResourceSpecificationRef": {
+ "description": "A list of resourceSpec identified to deliver the service.\nfor nbi we retrieve resource information available in service description (through SDC api) bu as well information retrieved in the TOSCA file.",
+
+
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique identifier of the resource specification - filled with resourceUUID",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version for this resource specification - filled with resourceVersion",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource specification - filled with resourceName",
+ "type": "string"
+ },
+ "@type": {
+ "description": "This attribute allows to dynamically extends TMF class. Valued with: 'ONAPresource'. We used this features to add following attributes:\nresourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\nmodelCustomizationId",
+ "type": "string",
+
+ "default": "ONAPresource"
+ },
+ "resourceInstanceName": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInstanceName",
+ "type": "string"
+ },
+ "resourceInvariantUUID": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - resourceInvariantUUID",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - resoucreType",
+ "type": "string"
+ },
+ "modelCustomizationName": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template for the resource",
+ "type": "string"
+ },
+ "modelCustomizationId": {
+ "description": "Additional attribute (not in the TMF API) - extended through @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template for the resource",
+ "type": "string"
+ }
+ }
+
+ },
+
+ "TargetServiceSchemaRef": {
+ "description": "",
+
+
+ "required": [
+
+ "@type",
+ "@schemaLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "@type": {
+ "description": "",
+ "type": "string"
+ },
+ "@schemaLocation": {
+ "description": "",
+ "type": "string"
+ }
+ }
+
+ }
+ }
+ }
+ \ No newline at end of file
diff --git a/docs/offeredapis/api_serviceCatalog/swagger.yaml b/docs/offeredapis/api_serviceCatalog/swagger.yaml
new file mode 100644
index 0000000..a951625
--- /dev/null
+++ b/docs/offeredapis/api_serviceCatalog/swagger.yaml
@@ -0,0 +1,488 @@
+swagger: "2.0"
+info:
+ description: "serviceCatalog API designed for ONAP Beijing Release.\nThis API is\
+ \ build from TMF open API17.5. \nOnly operation GET (by id & byList) for resource\
+ \ serviceSpecification is available\n\n"
+ version: "3.0.0_tag"
+ title: "API ServiceCatalog"
+ x-logo:
+ url: "/redoc/logo.png"
+ backgroundColor: "#FFFFFF"
+host: "serverRoot"
+basePath: "/nbi/api/v1"
+schemes:
+- "https"
+produces:
+- "application/json;charset=utf-8"
+tags:
+- name: "ServiceSpecification"
+ description: ""
+paths:
+ /serviceSpecification:
+ get:
+ tags:
+ - "ServiceSpecification"
+ produces:
+ - "application/json;charset=utf-8"
+ operationId: "serviceSpecificationFind"
+ summary: "List service specifications"
+ description: "This operation returns service specifications from a catalog.\n\
+ Only a predefined set of attribute is proposed : Based on SDC limitations,\
+ \ only attributes category and distributionStatus are available for serviceSpecification\
+ \ filtering\nFields attribute could be used to filter attributes retrieved"
+ deprecated: false
+ parameters:
+ - name: "fields"
+ required: false
+ in: "query"
+ description: "Field selection - used to filtering the attributes to be retreived"
+ type: "string"
+ - name: "category"
+ required: false
+ in: "query"
+ description: "Service Category (filter)"
+ type: "string"
+ - name: "distributionStatus"
+ required: false
+ in: "query"
+ description: "Service distribution status (filter)"
+ type: "string"
+ responses:
+ 200:
+ description: "Ok"
+ schema:
+ type: "array"
+ items:
+ $ref: "#/definitions/ServiceSpecification"
+ 400:
+ description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
+ \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
+ \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
+ \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
+ \ parameter value"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 401:
+ description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
+ \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 403:
+ description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
+ \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
+ \ requests"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 404:
+ description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
+ \ not found"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 422:
+ description: "Unprocessable entity\n\nFunctional error"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 500:
+ description: "Internal Server Error\n\nList of supported error codes:\n\
+ - 1: Internal error"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 503:
+ description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
+ \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
+ \ retry later !"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ /serviceSpecification/{id}:
+ get:
+ tags:
+ - "ServiceSpecification"
+ produces:
+ - "application/json;charset=utf-8"
+ operationId: "serviceSpecificationGet"
+ summary: "Retrieve a service specification"
+ description: "This operation returns a service specification by its id from\
+ \ a catalog. Attribute selection is enabled using the fields attribute."
+ deprecated: false
+ parameters:
+ - name: "id"
+ required: true
+ in: "path"
+ type: "string"
+ - name: "fields"
+ required: false
+ in: "query"
+ description: "Attribute selection"
+ type: "string"
+ responses:
+ 200:
+ description: "Ok"
+ schema:
+ $ref: "#/definitions/ServiceSpecification"
+ 400:
+ description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\
+ \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\
+ \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\
+ \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\
+ \ parameter value"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 401:
+ description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\
+ \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 403:
+ description: "Forbidden\n\nList of supported error codes:\n- 50: Access\
+ \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\
+ \ requests"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 404:
+ description: "Not Found\n\nList of supported error codes:\n- 60: Resource\
+ \ not found"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 422:
+ description: "Unprocessable entity\n\nFunctional error"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 500:
+ description: "Internal Server Error\n\nList of supported error codes:\n\
+ - 1: Internal error"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+ 503:
+ description: "Service Unavailable\n\nList of supported error codes:\n- 5:\
+ \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\
+ \ retry later !"
+ schema:
+ $ref: "#/definitions/ErrorRepresentation"
+definitions:
+ LifecycleStatusValues:
+ description: "Service lifecycle value from ONAP SDC"
+ type: "string"
+ enum:
+ - "NOT_CERTIFIED_CHECKOUT"
+ - "NOT_CERTIFIED_CHECKIN"
+ - "READY_FOR_CERTIFICATION"
+ - "CERTIFICATION_IN_PROGRESS"
+ - "CERTIFIED"
+ DistributionStatus:
+ description: "Service distribution status from ONAP."
+ type: "string"
+ enum:
+ - "DISTRIBUTION_NOT_APPROVED"
+ - "DISTRIBUTION_APPROVED"
+ - "DISTRIBUTED"
+ - "DISTRIBUTION_REJECTED"
+ ErrorRepresentation:
+ description: "This class is used to describe error.\nfor nbi Beijing release we\
+ \ do not manage additional error for serviceCatalog"
+ required:
+ - "code"
+ - "reason"
+ type: "object"
+ properties:
+ code:
+ description: "Application related code (as defined in the API or from a common\
+ \ list)"
+ type: "integer"
+ format: "int32"
+ reason:
+ description: "Text that explains the reason for error. This can be shown to\
+ \ a client user."
+ type: "string"
+ message:
+ description: "Text that provide more details and corrective actions related\
+ \ to the error. This can be shown to a client user"
+ type: "string"
+ status:
+ description: "http error code extension like 400-2"
+ type: "string"
+ referenceErrror:
+ description: "url pointing to documentation describing the error"
+ type: "string"
+ '@type':
+ description: "The class type of a REST resource."
+ type: "string"
+ '@schemaLocation':
+ description: "it provides a link to the schema describing a REST resource."
+ type: "string"
+ TimePeriod:
+ description: "A time period"
+ type: "object"
+ properties:
+ startDateTime:
+ description: "Start date and time of the period"
+ type: "string"
+ format: "date-time"
+ endDateTime:
+ description: "End date and time of the period"
+ type: "string"
+ format: "date-time"
+ RelatedPartyRef:
+ description: "Party linked to the service catalog.\nin nbi we retrieve information\
+ \ about last updater of the service in SDC"
+ type: "object"
+ properties:
+ id:
+ description: "Unique identifier of the related party. Filled with lastUpdaterUserId"
+ type: "string"
+ role:
+ description: "Role payed by the related party\nOnly role 'lastUpdater' is\
+ \ retrieved in Beijing release"
+ type: "string"
+ name:
+ description: "Name of the related party - Filled with lastUpdatedFullName"
+ type: "string"
+ ServiceSpecification:
+ description: "ServiceSpecification is a class that offers characteristics to describe\
+ \ a type of service. Functionally, it acts as a template by which Services may\
+ \ be instantiated. By sharing the same specification, these services would therefore\
+ \ share the same set of characteristics.\nthe service information are retrieved\
+ \ in SDC"
+ required:
+ - "invariantUUID"
+ type: "object"
+ properties:
+ id:
+ description: "Unique identifier of the service specification. Filled with\
+ \ SDC Service uuid"
+ type: "string"
+ href:
+ description: "Reference of the service specification- not mapped in Beijing"
+ type: "string"
+ name:
+ description: "Name of the service specification- Filled with SDC Service name"
+ type: "string"
+ description:
+ description: "A narrative that explains in detail what the service specification\
+ \ is - Filled with SDC Service description"
+ type: "string"
+ '@type':
+ description: "This attribute allows to dynamically extends TMF class. Valued\
+ \ with 'ONAPservice'. We used this features to add following attributes:\n\
+ invariantUUID\ntoscaModelURL\ntoscaResourceName\ncategory (1)\nsubcategory\
+ \ (1)\ndistributionStatus"
+ type: "string"
+ default: "ONAPservice"
+ '@schemaLocation':
+ description: "Not used for Beijing release"
+ type: "string"
+ '@baseType':
+ description: "Not used for Beijing release"
+ type: "string"
+ invariantUUID:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - invariantUUID"
+ type: "string"
+ toscaModelURL:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - toscaModelURL"
+ type: "string"
+ toscaResourceName:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - toscaResourceName"
+ type: "string"
+ category:
+ description: "Additional attribute - extended through @type - category\nPlease\
+ \ note that this attribute is managed in TMF - in future release we'll introduce\
+ \ category resource"
+ type: "string"
+ subcategory:
+ description: "Additional attribute - extended through @type - category\nPlease\
+ \ note that this attribute is managed in TMF - in future release we'll introduce\
+ \ category resourc"
+ type: "string"
+ distributionStatus:
+ $ref: "#/definitions/DistributionStatus"
+ version:
+ description: "Service specification version - Filled with SDC Service version"
+ type: "string"
+ lifecycleStatus:
+ $ref: "#/definitions/LifecycleStatusValues"
+ targetServiceSchema:
+ $ref: "#/definitions/TargetServiceSchemaRef"
+ attachment:
+ type: "array"
+ items:
+ $ref: "#/definitions/Attachment"
+ relatedParty:
+ type: "array"
+ items:
+ $ref: "#/definitions/RelatedPartyRef"
+ resourceSpecification:
+ type: "array"
+ items:
+ $ref: "#/definitions/ResourceSpecificationRef"
+ serviceSpecCharacteristic:
+ type: "array"
+ items:
+ $ref: "#/definitions/ServiceSpecCharacteristic"
+ ServiceSpecCharacteristic:
+ description: "A characteristic quality or distinctive feature of a ServiceSpecification.\
+ \ \nServiceSpecCharacteristic are retrieved in the serviceTosca file in the\
+ \ topology_template section in the inputs section."
+ type: "object"
+ properties:
+ name:
+ description: "Name of the characteristic - Filled with parameter_name"
+ type: "string"
+ description:
+ description: "A narrative that explains in detail what the characteristic\
+ \ is - Filled with parameter_description"
+ type: "string"
+ valueType:
+ description: "A kind of value that the characteristic can take on, such as\
+ \ numeric, text and so forth - Filled with parameter_type"
+ type: "string"
+ '@type':
+ description: "This attribute allows to dynamically extends TMF class. Valued\
+ \ with: 'ONAPserviceCharacteristic'. We do not used this features in nbi\
+ \ Beijing release."
+ type: "string"
+ '@schemaLocation':
+ description: "An url pointing to type description - we do not use it in nbi\
+ \ Beijing release"
+ type: "string"
+ required:
+ description: "A parameter to define if the characteristic is mandatory - Filled\
+ \ from parameter_required – if not fielded by default ‘true’"
+ type: "boolean"
+ default: true
+ status:
+ description: "Status of the characteristic - filled with status_value"
+ type: "string"
+ serviceSpecCharacteristicValue:
+ type: "array"
+ items:
+ $ref: "#/definitions/ServiceSpecCharacteristicValue"
+ Attachment:
+ description: "An attachment is a file uses to describe the service.\nIn nbi we\
+ \ use attachment to retrieve ONAP artifacts."
+ type: "object"
+ properties:
+ id:
+ description: "Unique identifier of the attachment - filled with artifactUUID."
+ type: "string"
+ name:
+ description: "Name of the attachment - filled with artifactName"
+ type: "string"
+ description:
+ description: "Description of the attachment - filled with artifactDescription"
+ type: "string"
+ '@type':
+ description: "This attribute allows to dynamically extends TMF class. Valued\
+ \ with 'ONAPartifact'. We used this features to add following attributes:\
+ \ \nartifactLabel\nartifactGroupType\nartifactTimeout\nartifactChecksum\n\
+ artifactVersion\ngeneratedFromUUID"
+ type: "string"
+ default: "ONAPartifact"
+ artifactLabel:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - artifactLabel"
+ type: "string"
+ artifactGroupType:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - artifactGroupType"
+ type: "string"
+ artifactTimeout:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - artifactTimeout"
+ type: "string"
+ artifactChecksum:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - artifactChecksum"
+ type: "string"
+ artifactVersion:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - artifactVersion"
+ type: "string"
+ generatedFromUUID:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - generatedFromUUID"
+ type: "string"
+ url:
+ description: "Uniform Resource Locator, is a web page address - filled with\
+ \ artifactURL"
+ type: "string"
+ mimeType:
+ description: "Filled with artifactType"
+ type: "string"
+ ServiceSpecCharacteristicValue:
+ description: "A number or text that can be assigned to a service specification\
+ \ characteristic.\nServiceSpecCharacteristicValue are retrieved in the service\
+ \ Tosca file"
+ type: "object"
+ properties:
+ valueType:
+ description: "A kind of value that the characteristic can take on, such as\
+ \ numeric, text, and so forth\nRetrieved in the Tosca in the topology_template\
+ \ section in the inputs section - parameter_type. \nWe do not manage parameter_type=\
+ \ list or map for Beijing release"
+ type: "string"
+ isDefault:
+ description: "Information calculated from parameter default in the Tosca file"
+ type: "boolean"
+ value:
+ description: "A discrete value that the characteristic can take on"
+ type: "string"
+ ResourceSpecificationRef:
+ description: "A list of resourceSpec identified to deliver the service.\nfor nbi\
+ \ we retrieve resource information available in service description (through\
+ \ SDC api) bu as well information retrieved in the TOSCA file."
+ type: "object"
+ properties:
+ id:
+ description: "Unique identifier of the resource specification - filled with\
+ \ resourceUUID"
+ type: "string"
+ version:
+ description: "Version for this resource specification - filled with resourceVersion"
+ type: "string"
+ name:
+ description: "Name of the resource specification - filled with resourceName"
+ type: "string"
+ '@type':
+ description: "This attribute allows to dynamically extends TMF class. Valued\
+ \ with: 'ONAPresource'. We used this features to add following attributes:\n\
+ resourceInstanceName\nresourceInvariantUUID\nresourceType\nmodelCustomizationName\n\
+ modelCustomizationId"
+ type: "string"
+ default: "ONAPresource"
+ resourceInstanceName:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - resourceInstanceName"
+ type: "string"
+ resourceInvariantUUID:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - resourceInvariantUUID"
+ type: "string"
+ resourceType:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - resoucreType"
+ type: "string"
+ modelCustomizationName:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - Retrieved in the TOSCA file : attribute name in topology_template/node_template\
+ \ for the resource"
+ type: "string"
+ modelCustomizationId:
+ description: "Additional attribute (not in the TMF API) - extended through\
+ \ @type - Retrieved in the TOSCA file : attribute customizationUUID in topology_template/node_template\
+ \ for the resource"
+ type: "string"
+ TargetServiceSchemaRef:
+ description: ""
+ required:
+ - "@type"
+ - "@schemaLocation"
+ type: "object"
+ properties:
+ '@type':
+ description: ""
+ type: "string"
+ '@schemaLocation':
+ description: ""
+ type: "string"