4 "description" : "This is the ONAP OOF OSDF (Optimization Service Design Framework) API",
8 "email" : "frank.sandoval@oamtechnologies.com"
11 "name" : "Apache 2.0",
12 "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
15 "securityDefinitions" : {
18 "description" : "HTTP Basic Auth"
27 "summary" : "create/update a placement",
28 "operationId" : "createPlacement",
29 "description" : "create/update a placement",
30 "consumes" : [ "application/json" ],
31 "produces" : [ "application/json" ],
34 "name" : "placementRequest",
35 "description" : "placement request",
37 "$ref" : "#/definitions/PlacementRequest"
42 "description" : "An optimization solution is found."
45 "description" : "An optimization request is accepted"
48 "description" : "bad request"
51 "description" : "Request body is not compliant with the API definition"
54 "description" : "The server cannot find the requested URI"
57 "description" : "The requested method is not supported by a server."
60 "description" : "The server encountered an internal server error or timed out"
67 "PlacementRequest" : {
69 "required" : [ "requestInfo", "placementInfo", "licenseInfo", "serviceInfo" ],
72 "$ref" : "#/definitions/RequestInfo"
75 "$ref" : "#/definitions/PlacementInfo"
78 "$ref" : "#/definitions/LicenseInfo"
81 "$ref" : "#/definitions/ServiceInfo"
87 "required" : [ "transactionId", "requestId", "callbackUrl", "sourceId", "requestType", "optimizers", "timeout" ],
92 "description" : "unique ID to track an ONAP transaction",
93 "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
98 "description" : "A unique ID to track multiple requests associated with a transaction",
99 "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
104 "description" : "The end point of a callback service where recommendations are posted.",
105 "example" : "myDomain.com/myCallback"
109 "description" : "JSON blob. The header information a client expecting in a async callback.",
116 "description" : "The unique ID of a client making an optimization call.",
117 "example" : "d290f1ee-6c54-4b01-90e6-d701748f0851"
121 "enum" : [ "create", "update", "delete" ],
122 "description" : "The type of a request",
127 "description" : "Expected number of solutions.",
134 "enum" : [ "placement" ]
136 "description" : "A list of optimization services.",
137 "example" : "placement"
141 "description" : "A tolerance window (in second) for expecting solutions.",
148 "required" : [ "requestParameters", "placementDemands" ],
150 "requestParameters" : {
152 "description" : "JSON blob. A service ordering information",
157 "placementDemands" : {
160 "$ref" : "#/definitions/PlacementDemand"
162 "description" : "The resource information for a placement service"
167 "$ref" : "#/definitions/SubscriberInfo"
169 "description" : "The information of a service subscriber."
173 "PlacementDemand" : {
175 "required" : [ "resourceModuleName", "serviceResourceId", "resourceModelInfo" ],
177 "resourceModuleName" : {
179 "description" : "A resource name as defined in a service mode",
180 "example" : "myResourceName"
182 "serviceResourceId" : {
184 "description" : "A unique resource Id with a local scope between client and OOF.",
185 "example" : "myResourceId"
189 "additionalProperties" : {
200 "description" : "placement parameters defined in the ordering system, keyname include tenantId",
205 "resourceModelInfo" : {
206 "$ref" : "#/definitions/ModelMetaData",
207 "description" : "Resource model information as defined in SDC"
209 "existingCandidates" : {
210 "$ref" : "#/definitions/Candidates",
211 "description" : "The existing placement information of a resource."
213 "excludedCandidates" : {
214 "$ref" : "#/definitions/Candidates",
215 "description" : "Candidates that need to be excluded from solutions."
217 "requiredCandidates" : {
218 "$ref" : "#/definitions/Candidates",
219 "description" : "Candidates that must be included in solutions."
225 "required" : [ "modelInvariantId", "modelVersionId" ],
227 "modelInvariantId" : {
229 "description" : "A model invariant Id as defined in a service model.",
230 "example" : "my model invariant Id"
234 "description" : "A unique model Id as defined in a service model.",
235 "example" : "my unique model Id"
239 "description" : "A model name as defined in a service model",
240 "example" : "my model name"
244 "description" : "A model type as defined in a service model.",
245 "example" : "my model type"
249 "description" : "A model version as defined in a service model.",
250 "example" : "my model version"
252 "modelCustomizationName" : {
254 "description" : "A model customization name as defined in a service model.",
255 "example" : "my model customization"
261 "required" : [ "identifierType", "identifiers" ],
265 "enum" : [ "service_instance_id", "vnf_name", "cloud_region_id" ],
266 "description" : "The type of a candidate.",
267 "example" : "service_instance_id"
274 "description" : "A list of identifiers.",
275 "example" : "candidateId"
279 "description" : "The name of a cloud owner. Only required if identifierType is cloud_region_id",
280 "example" : "cloud_owner"
286 "required" : [ "globalSubscriberId", "subscriberName", "subscriberCommonSiteId" ],
288 "globalSubscriberId" : {
290 "description" : "An ID of a subscriber.",
291 "example" : "subscriber_id"
295 "description" : "The name of a subscriber. If the name is not known, the value must be 'unknown'",
296 "example" : "subscriber_name"
298 "subscriberCommonSiteId" : {
300 "description" : "Id representing a subscriber location",
301 "example" : "subscriber_location_id"
307 "required" : [ "licenseDemands" ],
312 "$ref" : "#/definitions/LicenseDemands"
314 "description" : "A list of resources for license selection"
320 "required" : [ "resourceModuleName", "serviceResourceId", "resourceModelInfo" ],
322 "resourceModuleName" : {
324 "description" : "A resource name as defined in a service model.",
325 "example" : "service_instance_id"
327 "serviceResourceId" : {
329 "description" : "A unique resource Id with a local scope between client and OOF.",
330 "example" : "service_instance_id"
332 "resourceModelInfo" : {
333 "$ref" : "#/definitions/ModelMetaData",
334 "description" : "Resource model information as defined in a service model."
336 "existingLicenses" : {
337 "$ref" : "#/definitions/LicenseModel",
338 "description" : "Existing license information assigned to a resource."
344 "required" : [ "entitlementPoolUUID", "licenseKeyGroupUUID" ],
346 "entitlementPoolUUID" : {
352 "description" : "Entitlement pool UUIDs associated with a resource.",
353 "example" : "candidateId"
355 "licenseKeyGroupUUID" : {
361 "description" : "License key groups associated with a resource",
362 "example" : "candidateId"
366 "SynchronousResponse" : {
368 "required" : [ "requestId", "transactionId", "requestStatus" ],
373 "description" : "A unique Id for an ONAP transaction",
374 "example" : "ONAP transaction id"
379 "description" : "A unique ID to track multiple requests associated with a transaction.",
380 "example" : "requests id"
384 "description" : "Reasoning if a requestStatus is failure.",
385 "example" : "requestStatus"
389 "enum" : [ "success", "failure" ],
390 "description" : "The status of a request.",
391 "example" : "success"
395 "AsynchronousResponse" : {
397 "required" : [ "requestId", "transactionId", "requestStatus", "solutions" ],
402 "description" : "A unique Id for an ONAP transaction",
403 "example" : "ONAP transaction id"
408 "description" : "A unique ID to track multiple requests associated with a transaction.",
409 "example" : "requests id"
413 "description" : "Reasoning if a requestStatus is failure.",
414 "example" : "requestStatus"
418 "enum" : [ "success", "failure" ],
419 "description" : "The status of a request.",
420 "example" : "success"
423 "$ref" : "#/definitions/Solutions",
424 "description" : "Solutions related to a request."
430 "required" : [ "placementSolutions", "licenseSolutions" ],
432 "placementSolutions" : {
435 "$ref" : "#/definitions/ComprehensiveSolution"
437 "description" : "A list of placement solutions."
439 "licenseSolutions" : {
442 "$ref" : "#/definitions/LicenseSolution"
444 "description" : "A list of license solutions."
448 "ComprehensiveSolution" : {
450 "required" : [ "placementSolutions" ],
452 "placementSolutions" : {
455 "$ref" : "#/definitions/PlacementSolution"
457 "description" : "A list of placement solutions."
461 "PlacementSolution" : {
463 "required" : [ "resourceModuleName", "serviceResourceId", "identifierType", "identifier" ],
465 "resourceModuleName" : {
467 "description" : "The name of a resource as defined in the service model",
468 "example" : "resource name"
470 "serviceResourceId" : {
472 "description" : "A resource Id as defined in a service model.",
473 "example" : "resource id"
477 "enum" : [ "service_instance_id" ],
478 "description" : "The type of a candidate.",
479 "example" : "candidate type"
483 "description" : "The id of a candidate.",
484 "example" : "candidate id"
489 "$ref" : "#/definitions/AssignmentInfo"
491 "description" : "Additional information related to a candidate."
497 "required" : [ "key", "value" ],
501 "description" : "An attribute name",
502 "example" : "attribute name"
506 "description" : "An attribute value.",
507 "example" : "attribute value"
511 "LicenseSolution" : {
513 "required" : [ "resourceModuleName", "serviceResourceId", "entitlementPoolUUID", "licenseKeyGroupUUID", "entitlementPoolInvariantUUID", "licenseKeyGroupInvariantUUID" ],
515 "resourceModuleName" : {
517 "description" : "A resource name as defined in a service",
518 "example" : "resource name"
520 "serviceResourceId" : {
522 "description" : "A resource Id as defined in a service.",
523 "example" : "resource Id"
525 "entitlementPoolUUID" : {
531 "description" : "A list of entitlementPoolUUIDs",
532 "example" : "entitlementPoolUUID"
534 "licenseKeyGroupUUID" : {
540 "description" : "A list of licenseKeyGroupUUID.",
541 "example" : "licenseKeyGroupUUID"
543 "entitlementPoolInvariantUUID" : {
549 "description" : "A list of entitlementPoolInvariantUUID",
550 "example" : "entitlementPoolInvariantUUID"
552 "licenseKeyGroupInvariantUUID" : {
558 "description" : "A list of licenseKeyGroupInvariantUUID",
559 "example" : "licenseKeyGroupInvariantUUID"
565 "required" : [ "serviceInstanceId", "modelInfo", "serviceName" ],
567 "serviceInstanceId" : {
569 "description" : "A service instance id associated with a request.",
570 "example" : "service_instance_id"
573 "$ref" : "#/definitions/ModelMetaData",
574 "description" : "A list of identifiers."
578 "description" : "The name of a service",
579 "example" : "service_name"
584 "schemes" : [ "https" ],
585 "host" : "virtserver.swaggerhub.com",
586 "basePath" : "/oof-osdf/v1"