diff options
Diffstat (limited to 'osdf/models/api')
-rw-r--r-- | osdf/models/api/placementRequest.py | 82 | ||||
-rw-r--r-- | osdf/models/api/placementResponse.py | 33 |
2 files changed, 56 insertions, 59 deletions
diff --git a/osdf/models/api/placementRequest.py b/osdf/models/api/placementRequest.py index df5f931..aa71eac 100644 --- a/osdf/models/api/placementRequest.py +++ b/osdf/models/api/placementRequest.py @@ -26,60 +26,61 @@ class RequestInfo(OSDFModel): transactionId = StringType(required=True) requestId = StringType(required=True) callbackUrl = URLType(required=True) + callbackHeader = DictType(BaseType) sourceId = StringType(required=True) - optimizers = ListType(StringType(required=True)) + requestType = StringType(required=True) numSolutions = IntType() + optimizers = ListType(StringType(required=True)) timeout = IntType() - requestType = StringType() -class CandidateInfo(OSDFModel): +class Candidates(OSDFModel): """Preferred candidate for a resource (sent as part of a request from client)""" - candidateType = StringType(required=True) - candidates = ListType(StringType(required=True)) + identifierType = StringType(required=True) + identifiers = ListType(StringType(required=True)) + cloudOwner = StringType() -class ResourceModelInfo(OSDFModel): +class ModelMetaData(OSDFModel): """Model information for a specific resource""" - modelCustomizationId = StringType(required=True) modelInvariantId = StringType(required=True) + modelVersionId = StringType(required=True) modelName = StringType() - modelVersion = StringType() - modelVersionId = StringType() modelType = StringType() + modelVersion = StringType() + modelCustomizationName = StringType(required=True) -class ExistingLicenseInfo(OSDFModel): - entitlementPoolUUID = ListType(StringType()) - licenseKeyGroupUUID = ListType(StringType()) +class LicenseModel(OSDFModel): + entitlementPoolUUID = ListType(StringType(required=True)) + licenseKeyGroupUUID = ListType(StringType(required=True)) -class LicenseDemand(OSDFModel): - resourceInstanceType = StringType(required=True) - serviceResourceId = StringType(required=True) +class LicenseDemands(OSDFModel): resourceModuleName = StringType(required=True) - resourceModelInfo = ModelType(ResourceModelInfo) - existingLicense = ModelType(ExistingLicenseInfo) + serviceResourceId = StringType(required=True) + resourceModelInfo = ModelType(ModelMetaData, required=True) + existingLicenses = ModelType(LicenseModel) + + +class LicenseInfo(OSDFModel): + licenseDemands = ListType(ModelType(LicenseDemands)) class PlacementDemand(OSDFModel): - resourceInstanceType = StringType(required=True) - serviceResourceId = StringType(required=True) resourceModuleName = StringType(required=True) - exclusionCandidateInfo = ListType(ModelType(CandidateInfo)) - requiredCandidateInfo = ListType(ModelType(CandidateInfo)) - resourceModelInfo = ModelType(ResourceModelInfo) - tenantId = StringType(required=True) - tenantName = StringType() - -class ExistingPlacementInfo(OSDFModel): - serviceInstanceId = StringType(required=True) + serviceResourceId = StringType(required=True) + tenantId = StringType() + resourceModelInfo = ModelType(ModelMetaData, required=True) + existingCandidates = ListType(ModelType(Candidates)) + excludedCandidates = ListType(ModelType(Candidates)) + requiredCandidates = ListType(ModelType(Candidates)) -class DemandInfo(OSDFModel): - """Requested resources (sent as part of a request from client)""" - placementDemand = ListType(ModelType(PlacementDemand)) - licenseDemand = ListType(ModelType(LicenseDemand)) +class ServiceInfo(OSDFModel): + serviceInstanceId = StringType(required=True) + modelInfo = ModelType(ModelMetaData, required=True) + serviceName = StringType(required=True) class SubscriberInfo(OSDFModel): @@ -89,27 +90,16 @@ class SubscriberInfo(OSDFModel): subscriberCommonSiteId = StringType() -class ServiceModelInfo(OSDFModel): - """ASDC Service model information""" - modelType = StringType(required=True) - modelInvariantId = StringType(required=True) - modelVersionId = StringType(required=True) - modelName = StringType(required=True) - modelVersion = StringType(required=True) - - class PlacementInfo(OSDFModel): """Information specific to placement optimization""" - serviceModelInfo = ModelType(ServiceModelInfo, required=True) - subscriberInfo = ModelType(SubscriberInfo, required=True) - demandInfo = ModelType(DemandInfo, required=True) requestParameters = DictType(BaseType) - policyId = ListType(StringType()) - serviceInstanceId = StringType(required=True) - existingPlacement = ModelType(ExistingPlacementInfo) + placementDemands = ListType(ModelType(PlacementDemand), min_size=1) + subscriberInfo = ModelType(SubscriberInfo) class PlacementAPI(OSDFModel): """Request for placement optimization (specific to optimization and additional metadata""" requestInfo = ModelType(RequestInfo, required=True) placementInfo = ModelType(PlacementInfo, required=True) + licenseInfo = ModelType(LicenseInfo) + serviceInfo = ModelType(ServiceInfo, required=True) diff --git a/osdf/models/api/placementResponse.py b/osdf/models/api/placementResponse.py index e9746d6..75d33f0 100644 --- a/osdf/models/api/placementResponse.py +++ b/osdf/models/api/placementResponse.py @@ -26,32 +26,39 @@ from schematics.types.compound import ModelType, ListType class LicenseSolution(OSDFModel): serviceResourceId = StringType(required=True) resourceModuleName = StringType(required=True) - entitlementPoolList = ListType(StringType(required=True)) - licenseKeyGroupList = ListType(StringType(required=True)) + entitlementPoolUUID = ListType(StringType(required=True)) + licenseKeyGroupUUID = ListType(StringType(required=True)) + entitlementPoolInvariantUUID = ListType(StringType(required=True)) + licenseKeyGroupInvariantUUID = ListType(StringType(required=True)) + + +class Candidates(OSDFModel): + """Preferred candidate for a resource (sent as part of a request from client)""" + identifierType = StringType(required=True) + identifiers = ListType(StringType(required=True)) + cloudOwner = StringType() class AssignmentInfo(OSDFModel): - variableName = StringType(required=True) - variableValue = StringType(required=True) + key = StringType(required=True) + value = StringType(required=True) class PlacementSolution(OSDFModel): serviceResourceId = StringType(required=True) resourceModuleName = StringType(required=True) - inventoryType = StringType(required=True) - serviceInstanceId = StringType() - cloudRegionId = StringType() + solution = ModelType(Candidates, required=True) assignmentInfo = ListType(ModelType(AssignmentInfo)) -class SolutionInfo(OSDFModel): - placement = ListType(ModelType(PlacementSolution), min_size=1) - license = ListType(ModelType(LicenseSolution), min_size=1) +class Solution(OSDFModel): + placementSolutions = ListType(ListType(ModelType(PlacementSolution), min_size=1)) + licenseSolutions = ListType(ModelType(LicenseSolution), min_size=1) class PlacementResponse(OSDFModel): transactionId = StringType(required=True) requestId = StringType(required=True) - requestState = StringType(required=True) - statusMessage = StringType(required=True) - solutionInfo = ModelType(SolutionInfo) + requestStatus = StringType(required=True) + statusMessage = StringType() + solutions = ModelType(Solution, required=True) |