X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fviews%2Focloud_dto.py;h=078064bec8c82e50e85e7789a0d1351831668120;hb=26b17198615ace3334ebcfacbad9e08897e94826;hp=0b3291fbd3ace780783f940e5d94ebf52f61d255;hpb=a9840e41848cbbffcedf76f0a53ffc5d9bc87c01;p=pti%2Fo2.git diff --git a/o2ims/views/ocloud_dto.py b/o2ims/views/ocloud_dto.py index 0b3291f..078064b 100644 --- a/o2ims/views/ocloud_dto.py +++ b/o2ims/views/ocloud_dto.py @@ -15,6 +15,7 @@ from flask_restx import fields from o2ims.views.api_ns import api_ims_inventory as api_ims_inventory_v1 +from o2common.views.flask_restx_fields import Json2Dict class OcloudDTO: @@ -23,6 +24,7 @@ class OcloudDTO: "OcloudDto", { 'oCloudId': fields.String(required=True), + 'globalCloudId': fields.String, 'globalcloudId': fields.String(attribute='globalCloudId'), 'name': fields.String, 'description': fields.String, @@ -36,22 +38,42 @@ class OcloudDTO: # 'deploymentManagers': fields.String, # 'smoRegistrationService': fields.String 'extensions': fields.String - } + }, + mask='{oCloudId,globalCloudId,globalcloudId,name,description,' +\ + 'serviceUri}' ) class ResourceTypeDTO: + alarm_definition = api_ims_inventory_v1.model( + "AlarmDefinitionDto", + { + 'alarmDefinitionId': fields.String, + 'alarmName': fields.String, + 'alarmLastChange': fields.String, + 'alarmChangeType': fields.String, + 'alarmDescription': fields.String, + 'proposedRepairActions': fields.String, + 'clearingType': fields.String, + 'managementInterfaceId': fields.String, + 'pkNotificationField': fields.String, + 'alarmAdditionalFields': fields.String, + } + + ) alarm_dictionary = api_ims_inventory_v1.model( "AlarmDictionaryDto", { 'id': fields.String, 'alarmDictionaryVersion': fields.String, - 'alarmDictionarySchemVersion': fields.String, + 'alarmDictionarySchemaVersion': fields.String, 'entityType': fields.String, 'vendor': fields.String, 'managementInterfaceId': fields.String, 'pkNotificationField': fields.String, - 'alarmDefinition': fields.String, + # 'alarmDefinition': fields.String, + 'alarmDefinition': fields.List(fields.Nested(alarm_definition), + attribute='alarmDefinition'), } ) @@ -69,7 +91,8 @@ class ResourceTypeDTO: # 'resourceKind': fields.String, # 'resourceClass': fields.String, 'extensions': fields.String - } + }, + mask='{resourceTypeId,name,description,model,vendor,version}' ) @@ -87,7 +110,8 @@ class ResourcePoolDTO: 'location': fields.String, # 'resources': fields.String, 'extensions': fields.String - } + }, + mask='{resourcePoolId,oCloudId,globalLocationId,name,description}' ) @@ -104,8 +128,11 @@ class ResourceDTO: 'parentId': fields.String, 'description': fields.String, # 'elements': fields.String, - 'extensions': fields.String - } + # 'extensions': fields.String + 'extensions': Json2Dict(attribute='extensions') + # 'extensions': fields.Raw(attribute='extensions') + }, + mask='{resourceId,resourcePoolId,resourceTypeId,description,parentId}' ) def recursive_resource_mapping(iteration_number=2): @@ -119,14 +146,18 @@ class ResourceDTO: 'parentId': fields.String, 'description': fields.String, # 'elements': fields.String, - 'extensions': fields.String + # 'extensions': fields.String + 'extensions': Json2Dict(attribute='extensions') + # 'extensions': fields.Raw(attribute='extensions') } if iteration_number: resource_json_mapping['elements'] = fields.List( fields.Nested(ResourceDTO.recursive_resource_mapping( iteration_number-1)), attribute='children') return api_ims_inventory_v1.model( - 'ResourceGetDto' + str(iteration_number), resource_json_mapping) + 'ResourceGetDto' + str(iteration_number), resource_json_mapping, + mask='{resourceId,resourcePoolId,resourceTypeId,description,' + + 'parentId}') class DeploymentManagerDTO: @@ -139,6 +170,7 @@ class DeploymentManagerDTO: description='Deployment manager ID'), 'name': fields.String, 'description': fields.String, + 'oCloudId': fields.String, 'serviceUri': fields.String(attribute='serviceUri'), # 'deploymentManagementServiceEndpoint': fields.String( # attribute='serviceUri'), @@ -150,7 +182,9 @@ class DeploymentManagerDTO: description='Profile support list, use default for the return \ endpoint'), 'extensions': fields.String - } + }, + mask='{deploymentManagerId,name,description,oCloudId,serviceUri,' + \ + 'profileSupportList}' ) profile = api_ims_inventory_v1.model("DeploymentManagerGetDtoProfile", { @@ -168,6 +202,11 @@ class DeploymentManagerDTO: 'helmcli_kubeconfig': fields.String(attribute='helmcli_kubeconfig'), }) + extensions = api_ims_inventory_v1.model("DeploymentManagerExtensions", { + 'profileName': fields.String, + 'profileData': fields.Nested(profile, False, True), + }) + deployment_manager_get = api_ims_inventory_v1.model( "DeploymentManagerGetDto", { @@ -176,16 +215,17 @@ class DeploymentManagerDTO: description='Deployment manager ID'), 'name': fields.String, 'description': fields.String, + 'oCloudId': fields.String, 'serviceUri': fields.String(attribute='serviceUri'), # 'deploymentManagementServiceEndpoint': fields.String( # attribute='serviceUri'), # 'supportedLocations': fields.String, # 'capabilities': fields.String, # 'capacity': fields.String, - 'profileName': fields.String, - 'profileData': fields.Nested(profile, False, True), - 'extensions': fields.String - } + 'extensions': fields.Nested(extensions, True, True) + }, + mask='{deploymentManagerId,name,description,oCloudId,serviceUri,' +\ + 'extensions/profileName,extensions/profileData}' ) @@ -199,10 +239,11 @@ class SubscriptionDTO: 'callback': fields.String, 'consumerSubscriptionId': fields.String, 'filter': fields.String, - } + }, + mask='{subscriptionId,callback}' ) - subscription = api_ims_inventory_v1.model( + subscription_create = api_ims_inventory_v1.model( "SubscriptionCreateDto", { 'callback': fields.String( @@ -211,11 +252,3 @@ class SubscriptionDTO: 'filter': fields.String, } ) - - subscription_post_resp = api_ims_inventory_v1.model( - "SubscriptionCreatedRespDto", - { - 'subscriptionId': fields.String(required=True, - description='Subscription ID'), - } - )