X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fviews%2Fapi_ns.py;h=5f3cf2359455b5aaef4df43a30abfbc11425fd42;hb=f19390ec38aa24e33321f407c1406000518130a9;hp=0ee29c449f0a04e3ca6314ebd9681dcf5285e0b1;hpb=94e6f93c3434e5f9a9529246d97d2666a2479299;p=pti%2Fo2.git diff --git a/o2ims/views/api_ns.py b/o2ims/views/api_ns.py index 0ee29c4..5f3cf23 100644 --- a/o2ims/views/api_ns.py +++ b/o2ims/views/api_ns.py @@ -13,26 +13,56 @@ # limitations under the License. from flask import request -from flask_restx import Resource +from flask_restx import Resource, fields from o2common.views.route import O2Namespace api_ims_inventory = O2Namespace( - "O2IMS_Inventory", - description='IMS Inventory related operations.') + "O2IMS-InfrastructureInventory", + description='O2 IMS Inventory related operations.') api_provision_v1 = O2Namespace( "PROVISION", description='Provision related operations.') api_ims_monitoring = O2Namespace( - "O2IMS_InfrastructureMonitoring", + "O2IMS-InfrastructureMonitoring", description='O2 IMS Monitoring related operations.') @api_ims_inventory.route('/api_versions') class InventoryVersion(Resource): + api_version = api_ims_inventory.model( + 'InventoryApiVersionStructure', + { + 'version': fields.String( + required=True, + example='1.0.0', + description='Identifies a supported version.' + ) + }, + mask='{version,}' + ) + model = api_ims_inventory.model( + "InventoryAPIVersion", + { + 'uriPrefix': fields.String( + required=True, + example='https://128.224.115.36:30205/' + + 'o2ims-infrastructureInventory', + description='Specifies the URI prefix for the API'), + 'apiVersions': fields.List( + fields.Nested(api_version), + example=[{'version': '1.0.0'}], + description='Version(s) supported for the API ' + + 'signaled by the uriPrefix attribute.'), + }, + mask='{uriPrefix,apiVersions}' + ) + + @api_ims_inventory.doc('Get Inventory Version') + @api_ims_inventory.marshal_with(model) def get(self): return { 'uriPrefix': request.base_url.rsplit('/', 1)[0], @@ -46,6 +76,36 @@ class InventoryVersion(Resource): @api_ims_monitoring.route('/api_versions') class MonitoringVersion(Resource): + api_version = api_ims_inventory.model( + 'MonitoringApiVersionStructure', + { + 'version': fields.String( + required=True, + example='1.0.0', + description='Identifies a supported version.' + ) + }, + mask='{version,}' + ) + model = api_ims_inventory.model( + "MonitoringAPIVersion", + { + 'uriPrefix': fields.String( + required=True, + example='https://128.224.115.36:30205/' + + 'o2ims-infrastructureMonitoring', + description='Specifies the URI prefix for the API'), + 'apiVersions': fields.List( + fields.Nested(api_version), + example=[{'version': '1.0.0'}], + description='Version(s) supported for the API ' + + 'signaled by the uriPrefix attribute.'), + }, + mask='{uriPrefix,apiVersions}' + ) + + @api_ims_monitoring.doc('Get Monitoring Version') + @api_ims_monitoring.marshal_with(model) def get(self): return { 'uriPrefix': request.base_url.rsplit('/', 1)[0],