Fix INF-353 fail to check duplication during creating Inventory change subscription
[pti/o2.git] / o2ims / views / ocloud_dto.py
index 0b3291f..2bc836d 100644 (file)
@@ -36,7 +36,8 @@ class OcloudDTO:
             # 'deploymentManagers': fields.String,
             # 'smoRegistrationService': fields.String
             'extensions': fields.String
-        }
+        },
+        mask='{oCloudId,globalcloudId,name,description,serviceUri}'
     )
 
 
@@ -69,7 +70,8 @@ class ResourceTypeDTO:
             # 'resourceKind': fields.String,
             # 'resourceClass': fields.String,
             'extensions': fields.String
-        }
+        },
+        mask='{resourceTypeId,name,description,model,vendor,version}'
     )
 
 
@@ -87,7 +89,8 @@ class ResourcePoolDTO:
             'location': fields.String,
             # 'resources': fields.String,
             'extensions': fields.String
-        }
+        },
+        mask='{resourcePoolId,oCloudId,globalLocationId,name,description}'
     )
 
 
@@ -105,7 +108,8 @@ class ResourceDTO:
             'description': fields.String,
             # 'elements': fields.String,
             'extensions': fields.String
-        }
+        },
+        mask='{resourceId,resourcePoolId,resourceTypeId,description,parentId}'
     )
 
     def recursive_resource_mapping(iteration_number=2):
@@ -126,7 +130,9 @@ class ResourceDTO:
                 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 +145,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 +157,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 +177,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 +190,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 +214,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 +227,3 @@ class SubscriptionDTO:
             'filter': fields.String,
         }
     )
-
-    subscription_post_resp = api_ims_inventory_v1.model(
-        "SubscriptionCreatedRespDto",
-        {
-            'subscriptionId': fields.String(required=True,
-                                            description='Subscription ID'),
-        }
-    )