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:
"OcloudDto",
{
'oCloudId': fields.String(required=True),
+ 'globalCloudId': fields.String,
'globalcloudId': fields.String(attribute='globalCloudId'),
'name': fields.String,
'description': fields.String,
# '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'),
}
)
# 'resourceKind': fields.String,
# 'resourceClass': fields.String,
'extensions': fields.String
- }
+ },
+ mask='{resourceTypeId,name,description,model,vendor,version}'
)
'location': fields.String,
# 'resources': fields.String,
'extensions': fields.String
- }
+ },
+ mask='{resourcePoolId,oCloudId,globalLocationId,name,description}'
)
'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):
'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:
description='Deployment manager ID'),
'name': fields.String,
'description': fields.String,
+ 'oCloudId': fields.String,
'serviceUri': fields.String(attribute='serviceUri'),
# 'deploymentManagementServiceEndpoint': fields.String(
# attribute='serviceUri'),
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", {
'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",
{
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}'
)
'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(
'filter': fields.String,
}
)
-
- subscription_post_resp = api_ims_inventory_v1.model(
- "SubscriptionCreatedRespDto",
- {
- 'subscriptionId': fields.String(required=True,
- description='Subscription ID'),
- }
- )