#
from .common import OSDFModel
-from schematics.types import StringType, URLType, IntType, FloatType
-from schematics.types.compound import ModelType, ListType
+from schematics.types import BaseType, StringType, URLType, IntType
+from schematics.types.compound import ModelType, ListType, DictType
class RequestInfo(OSDFModel):
requestId = StringType(required=True)
callbackUrl = URLType(required=True)
sourceId = StringType(required=True)
- optimizer = ListType(StringType())
+ optimizers = ListType(StringType(required=True))
numSolutions = IntType()
timeout = IntType()
requestType = StringType()
modelVersion = StringType()
modelVersionId = StringType()
modelType = StringType()
- operationalStatus = StringType()
class ExistingLicenseInfo(OSDFModel):
exclusionCandidateInfo = ListType(ModelType(CandidateInfo))
requiredCandidateInfo = ListType(ModelType(CandidateInfo))
resourceModelInfo = ModelType(ResourceModelInfo)
- tenantId = StringType()
+ tenantId = StringType(required=True)
tenantName = StringType()
-
class ExistingPlacementInfo(OSDFModel):
serviceInstanceId = StringType(required=True)
modelVersion = StringType(required=True)
-class Location(OSDFModel):
- latitude = FloatType(required=True)
- longitude = FloatType(required=True)
-
-
class PlacementInfo(OSDFModel):
"""Information specific to placement optimization"""
- serviceModelInfo = ModelType(ServiceModelInfo)
- subscriberInfo = ModelType(SubscriberInfo)
+ serviceModelInfo = ModelType(ServiceModelInfo, required=True)
+ subscriberInfo = ModelType(SubscriberInfo, required=True)
demandInfo = ModelType(DemandInfo, required=True)
- orderInfo = StringType()
+ requestParameters = DictType(BaseType)
policyId = ListType(StringType())
- serviceInstanceId = StringType()
+ serviceInstanceId = StringType(required=True)
existingPlacement = ModelType(ExistingPlacementInfo)
- location = ModelType(Location)
- serviceType = StringType()
class PlacementAPI(OSDFModel):