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=711d5d2ee9b8238ec61c54766ca0e3607abf074e;hpb=a9840e41848cbbffcedf76f0a53ffc5d9bc87c01;p=pti%2Fo2.git diff --git a/o2ims/views/api_ns.py b/o2ims/views/api_ns.py index 711d5d2..5f3cf23 100644 --- a/o2ims/views/api_ns.py +++ b/o2ims/views/api_ns.py @@ -13,30 +13,61 @@ # 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): - def get(): + 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], 'apiVersions': [{ - 'version': '1', + 'version': '1.0.0', # 'isDeprecated': 'False', # 'retirementDate': '' }] @@ -45,11 +76,41 @@ class InventoryVersion(Resource): @api_ims_monitoring.route('/api_versions') class MonitoringVersion(Resource): - def get(): + 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], 'apiVersions': [{ - 'version': '1', + 'version': '1.0.0', # 'isDeprecated': 'False', # 'retirementDate': '' }]