X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fviews%2Focloud_dto.py;h=c7489ae13c537dd2ec735cfdfdf192f09f61894f;hb=1a9dcb5b8f598ee348f23eafecc2d92ef09c8122;hp=586de3f78a1434fa0a9046d0c2b64fa13d6ed6b5;hpb=de778bc19d9329d3c1c3c536bfd702423102277b;p=pti%2Fo2.git diff --git a/o2ims/views/ocloud_dto.py b/o2ims/views/ocloud_dto.py index 586de3f..c7489ae 100644 --- a/o2ims/views/ocloud_dto.py +++ b/o2ims/views/ocloud_dto.py @@ -12,15 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -from flask_restx import Namespace, fields +from flask_restx import fields +from o2ims.views.api_ns import api_ims_inventory_v1 -class OcloudDTO: - api = Namespace("Ocloud", description='Ocloud related operations.') +class OcloudDTO: - ocloud = api.model( - "OcloudList", + ocloud = api_ims_inventory_v1.model( + "OcloudDto", { 'oCloudId': fields.String(required=True), 'globalCloudId': fields.String, @@ -33,11 +33,8 @@ class OcloudDTO: class ResourceTypeDTO: - api = Namespace( - "ResourceType", description='Resource type related operations.') - - resource_type_get = api.model( - "ResourceTypeGet", + resource_type_get = api_ims_inventory_v1.model( + "ResourceTypeGetDto", { 'resourceTypeId': fields.String(required=True, description='Resource type ID'), @@ -51,11 +48,8 @@ class ResourceTypeDTO: class ResourcePoolDTO: - api = Namespace( - "ResourcePool", description='Resource pool related operations.') - - resource_pool_get = api.model( - "ResourcePoolGet", + resource_pool_get = api_ims_inventory_v1.model( + "ResourcePoolGetDto", { 'resourcePoolId': fields.String(required=True, description='Resource pool ID'), @@ -69,40 +63,102 @@ class ResourcePoolDTO: class ResourceDTO: - api = Namespace("Resource", description='Resource related operations.') - - resource_list = api.model( - "ResourceList", + resource_list = api_ims_inventory_v1.model( + "ResourceListDto", { 'resourceId': fields.String(required=True, description='Resource ID'), 'resourceTypeId': fields.String, 'resourcePoolId': fields.String, + 'name': fields.String, 'parentId': fields.String, 'description': fields.String, } ) - resource_get = api.model( - "ResourceGet", - { + def recursive_resource_mapping(iteration_number=2): + resource_json_mapping = { 'resourceId': fields.String(required=True, description='Resource ID'), 'resourceTypeId': fields.String, 'resourcePoolId': fields.String, + 'name': fields.String, 'parentId': fields.String, 'description': fields.String, + 'elements': fields.String, } - ) + if iteration_number: + resource_json_mapping['children'] = fields.List( + fields.Nested(ResourceDTO.recursive_resource_mapping( + iteration_number-1))) + return api_ims_inventory_v1.model( + 'ResourceGetDto' + str(iteration_number), resource_json_mapping) + + # def _recursive_resource_mapping(self, iteration_number=2): + # resource_json_mapping = { + # 'resourceId': fields.String(required=True, + # description='Resource ID'), + # 'resourceTypeId': fields.String, + # 'resourcePoolId': fields.String, + # 'name': fields.String, + # 'parentId': fields.String, + # 'description': fields.String, + # } + # if iteration_number: + # resource_json_mapping['children'] = fields.List( + # fields.Nested(self._recursive_resource_mapping( + # iteration_number-1))) + # # print(type(resource_json_mapping['children'])) + # if resource_json_mapping['children'] is None: + # del resource_json_mapping['children'] + # return resource_json_mapping + + # def get_resource_get(self): + # return api_ims_inventory_v1.model( + # 'ResourceGetDto', + # { + # 'resourceId': fields.String(required=True, + # description='Resource ID'), + # 'resourceTypeId': fields.String, + # 'resourcePoolId': fields.String, + # 'name': fields.String, + # 'parentId': fields.String, + # 'description': fields.String, + # 'children': fields.List(fields.Nested( + # self._recursive_resource_mapping())) + # } + # ) class DeploymentManagerDTO: - api = Namespace("DeploymentManager", - description='Deployment manager related operations.') + deployment_manager_list = api_ims_inventory_v1.model( + "DeploymentManagerListDto", + { + 'deploymentManagerId': fields.String( + required=True, + description='Deployment manager ID'), + 'name': fields.String, + 'description': fields.String, + 'deploymentManagementServiceEndpoint': fields.String, + 'supportedLocations': fields.String, + 'capabilities': fields.String, + 'capacity': fields.String, + } + ) - deployment_manager_get = api.model( - "DeploymentManagerGet", + profile = api_ims_inventory_v1.model("DeploymentManagerGetDtoProfile", { + 'cluster_api_endpoint': fields.String( + attributes='cluster_api_endpoint'), + 'cluster_ca_cert': fields.String(attributes='cluster_ca_cert'), + 'admin_user': fields.String(attributes='admin_user'), + 'admin_client_cert': fields.String(attributes='admin_client_cert'), + 'admin_client_key': fields.String(attributes='admin_client_key'), + 'kube_config_file': fields.String(attributes='kube_config_file') + }) + + deployment_manager_get = api_ims_inventory_v1.model( + "DeploymentManagerGetDto", { 'deploymentManagerId': fields.String( required=True, @@ -113,17 +169,15 @@ class DeploymentManagerDTO: 'supportedLocations': fields.String, 'capabilities': fields.String, 'capacity': fields.String, + 'profile': fields.Nested(profile, False, True), } ) class SubscriptionDTO: - api = Namespace( - "Subscription", description='Subscription related operations.') - - subscription_get = api.model( - "SubscriptionGet", + subscription_get = api_ims_inventory_v1.model( + "SubscriptionGetDto", { 'subscriptionId': fields.String(required=True, description='Subscription ID'), @@ -133,8 +187,8 @@ class SubscriptionDTO: } ) - subscription = api.model( - "SubscriptionCreate", + subscription = api_ims_inventory_v1.model( + "SubscriptionCreateDto", { 'callback': fields.String( required=True, description='Subscription callback address'), @@ -143,8 +197,8 @@ class SubscriptionDTO: } ) - subscription_post_resp = api.model( - "SubscriptionCreatedResp", + subscription_post_resp = api_ims_inventory_v1.model( + "SubscriptionCreatedRespDto", { 'subscriptionId': fields.String(required=True, description='Subscription ID'),