diff options
author | Frank Sandoval <f.sandoval-contractor@cablelabs.com> | 2018-09-06 15:48:37 -0600 |
---|---|---|
committer | Frank Sandoval <frank.sandoval@oamtechnologies.com> | 2018-09-06 16:27:23 -0600 |
commit | a3a7de12007c0f004cb0e2e49e5831ae99ac1b41 (patch) | |
tree | 1655241c1ef23a95f3398eaf394ddad65347a3dd /docs/sections/offeredapis.rst | |
parent | b92510795fb7b15c3e046d0bf96b8c57b32d8565 (diff) |
add swagger doc
Issue-ID: OPTFRA-282
Change-Id: I50a760e85f3df9c5861ed1f9aa7275bbb9b231a6
Signed-off-by: Frank Sandoval <f.sandoval-contractor@cablelabs.com>
Diffstat (limited to 'docs/sections/offeredapis.rst')
-rw-r--r-- | docs/sections/offeredapis.rst | 312 |
1 files changed, 6 insertions, 306 deletions
diff --git a/docs/sections/offeredapis.rst b/docs/sections/offeredapis.rst index 5c0f5e6..5151431 100644 --- a/docs/sections/offeredapis.rst +++ b/docs/sections/offeredapis.rst @@ -1,317 +1,17 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -****************** Offered APIs -****************** +============================================= -OOF-HAS Create/Update API -######################### +This document describes the OSDF HAS (Homing and Allocation Service) API -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |{serverRoot}/oof-osdf/v2/placement | -+--------------------+-------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------+ +To view API documentation in the interactive swagger UI download the following and +paste into the swagger tool here: https://editor.swagger.io -Request Header -************** - -+----------------+-----------+-------------------------------------------------------------------------------------------+ -| Header Name | Required | Description | -+================+===========+===========================================================================================+ -| Accept | N | Determines the format of the body of the response. Valid value is “application/json” | -+----------------+-----------+-------------------------------------------------------------------------------------------+ -| Authorization | Y | Supplies Basic Authentication credentials for the request. If the Authorization header is | -| | | missing, then an HTTP 400 Invalid Request response is returned. If the string supplied is | -| | | invalid, then an HTTP 401 Unauthorized response is returned. | -+----------------+-----------+-------------------------------------------------------------------------------------------+ -| Content-Type | Y | Determines the format of the request content. Only application/json is supported. | -+----------------+-----------+-------------------------------------------------------------------------------------------+ -| Content-Length | N | Number of bytes in the body of the request. Note that content length is limited to 1 MB. | -+----------------+-----------+-------------------------------------------------------------------------------------------+ - - -Request Body -************ - -+---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===============+===========+=============+======================+===============+==========================================+ -| requestInfo | M | 1 | RequestInfo Object | - | The content of the RequestInfo object. | -+---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ -| placementInfo | M | 1 | PlacementInfo Object | - | The Content of the PlacementInfo object. | -+---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ -| licenseInfo | M | 1 | LicenseInfo Object | - | The Content of the LicenseInfo object. | -+---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ -| serviceInfo | M | 1 | ServiceInfo Object | - | The Content of the ServiceInfo object. | -+---------------+-----------+-------------+----------------------+---------------+------------------------------------------+ - - -RequestInfo Object: - -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===============+===========+=============+=================+===============+=======================================================================+ -| transactionId | M | 1 | UUID/String | - | A unique ID to track an ONAP transaction. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| requestId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| callbackUrl | M | 1 | URL | - | The end point of a callback service where recommendations are posted. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| sourceId | M | 1 | String | - | The unique ID of a client making an optimization call. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| requestType | M | 1 | String | create, | The type of a request | -| | | | | update, | | -| | | | | delete | | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| numSolutions | O | 1 | Integer | - | Expected number of solutions. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| optimizers | M | 1..N | List of Strings | placement | A list of optimization services. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ -| timeout | M | 1 | Integer | - | A tolerance window (in second) for expecting solutions. | -+---------------+-----------+-------------+-----------------+---------------+-----------------------------------------------------------------------+ - - -PlacementInfo Object: - -+-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===================+===========+=============+================================+===============+===================================================+ -| requestParameters | M | 1 | JSON BLOB | - | A service ordering information. | -+-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ -| placementDemands | M | 1..N | List of PlacementDemand Object | - | The resource information for a placement service. | -+-------------------+-----------+-------------+--------------------------------+---------------+---------------------------------------------------+ - - -PlacementDemand Object: - -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+====================+===========+=============+======================+===============+=================================================================+ -| resourceModuleName | M | 1 | String | - | A resource name as defined in a service model. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| serviceResourceId | M | 1 | String | - | A unique resource Id with a local scope between client and OOF. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| givenPlacement | O | 1 | KeyValuePairs | - | placement parameters defined in the ordering system, | -| | | | | | keyname include tenantId. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| resourceModelInfo | M | 1 | ModelMetaData Object | - | Resource model information as defined in SDC. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| existingCandidates | O | 1 | Candidates Object | - | The existing placement information of a resource. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| excludedCandidates | O | 1 | Candidates Object | - | Candidates that need to be excluded from solutions. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| requiredCandidates | O | 1 | Candidates Object | - | Candidates that must be included in solutions. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ - - -ModelMetaData Object: - -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+========================+===========+=============+=========+===============+===========================================================+ -| modelInvariantId | M | 1 | String | - | A model invariant Id as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| modelVersionId | M | 1 | String | - | A unique model Id as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| modelName | O | 1 | String | - | A model name as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| modelType | O | 1 | String | - | A model type as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| modelVersion | O | 1 | String | - | A model version as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ -| modelCustomizationName | O | 1 | String | - | A model customization name as defined in a service model. | -+------------------------+-----------+-------------+---------+---------------+-----------------------------------------------------------+ - - -Candidates Object: - -+----------------+-----------+-------------+-----------------+----------------------+--------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+================+===========+=============+=================+======================+==========================+ -| identifierType | M | 1 | String | service_instance_id, | The type of a candidate. | -| | | | | vnf_name, | | -| | | | | cloud_region_id | | -+----------------+-----------+-------------+-----------------+----------------------+--------------------------+ -| identifiers | M | 1..N | List of Strings | - | A list of identifiers. | -+----------------+-----------+-------------+-----------------+----------------------+--------------------------+ - - -ServiceInfo Object: - -+-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===================+===========+=============+======================+===============+==================================================+ -| serviceInstanceId | M | 1 | String | - | A service instance id associated with a request. | -+-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ -| serviceModelInfo | M | 1 | ModelMetaData Object | - | A list of identifiers. | -+-------------------+-----------+-------------+----------------------+---------------+--------------------------------------------------+ - - -LicenseInfo Object: - -+----------------+-----------+-------------+-------------------------------+---------------+--------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+================+===========+=============+===============================+===============+============================================+ -| licenseDemands | M | 1..N | List of LicenseDemands Object | - | A list of resources for license selection. | -+----------------+-----------+-------------+-------------------------------+---------------+--------------------------------------------+ - - -LicenseDemands Object: - -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+====================+===========+=============+======================+===============+=================================================================+ -| resourceModuleName | M | 1 | String | - | A resource name as defined in a service model. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| serviceResourceId | M | 1 | String | - | A unique resource Id with a local scope between client and OOF. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| resourceModelInfo | M | 1 | ModelMetaData Object | - | Resource model information as defined in a service model. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ -| existingLicenses | O | 1 | LicenseModel Object | - | Existing license information assigned to a resource. | -+--------------------+-----------+-------------+----------------------+---------------+-----------------------------------------------------------------+ - - -LicenseModel Object: - -+---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+=====================+===========+=============+=================+===============+====================================================+ -| entitlementPoolUUID | M | 1..N | List of Strings | - | Entitlement pool UUIDs associated with a resource. | -+---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ -| licenseKeyGroupUUID | M | 1..N | List of Strings | - | License key groups associated with a resource | -+---------------------+-----------+-------------+-----------------+---------------+----------------------------------------------------+ - - -Synchronous Response Body: - -+---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===============+===========+=============+=============+==================+========================================================================+ -| requestId | M | 1 | UUID/String | - | A unique Id for an ONAP transaction. | -+---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ -| transactionId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | -+---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ -| statusMessage | O | 1 | String | - | Reasoning if a requestStatus is failure. | -+---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ -| requestStatus | M | 1 | String | success, failure | The status of a request. | -+---------------+-----------+-------------+-------------+------------------+------------------------------------------------------------------------+ - - -Asynchronous Response Body: - -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===============+===========+=============+=================+===============+========================================================================+ -| requestId | M | 1 | UUID/String | - | A unique Id for an ONAP transaction. | -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ -| transactionId | M | 1 | UUID/String | - | A unique ID to track multiple requests associated with a transaction. | -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ -| statusMessage | O | 1 | String | - | Reasoning if requestStatus is failure. | -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ -| requestStatus | M | 1 | String | success, | The status of a request. | -| | | | | failure, | | -| | | | | pending | | -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ -| solutions | M | 1 | Solutions Object| - | Solutions related to a request. | -+---------------+-----------+-------------+-----------------+---------------+------------------------------------------------------------------------+ - - -Solutions Object: - -+--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+====================+===========+=============+======================================+===============+================================+ -| placementSolutions | M | 1..N | List of ComprehensiveSolution Object | - | A list of placement solutions. | -+--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ -| licenseSolutions | M | 1..N | List of LicenseSolution Object | - | A list of license solutions | -+--------------------+-----------+-------------+--------------------------------------+---------------+--------------------------------+ - - - -ComprehensiveSolution Object: - -+-----------+-----------+-------------+----------------------------------+---------------+--------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===========+===========+=============+==================================+===============+================================+ -| - | M | 1..N | List of PlacementSolution Object | - | A list of placement solutions. | -+-----------+-----------+-------------+----------------------------------+---------------+--------------------------------+ - - -PlacementSolution Object: - -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+====================+===========+=============+========================+=====================+=========================================================+ -| resourceModuleName | M | 1 | String | - | The name of a resource as defined in the service model. | -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ -| serviceResourceId | M | 1 | String | - | A resource Id as defined in a service model. | -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ -| identifierType | M | 1 | String | service_instance_id | The type of a candidate. | -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ -| identifier | M | 1 | String | - | The id of a candidate. | -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ -| assignmentInfo | O | 1..N | List of AssignmentInfo | - | Additional information related to a candidate. | -| | | | object | | | -+--------------------+-----------+-------------+------------------------+---------------------+---------------------------------------------------------+ - - -AssignmentInfo Object: - -+-----------+-----------+-------------+---------+---------------+---------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+===========+===========+=============+=========+===============+=====================+ -| key | M | 1 | String | - | An attribute name. | -+-----------+-----------+-------------+---------+---------------+---------------------+ -| value | M | 1 | String | - | An attribute value. | -+-----------+-----------+-------------+---------+---------------+---------------------+ - - -LicenseSolutions Object: - -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| Attribute | Qualifier | Cardinality | Content | Domain Values | Description | -+==============================+===========+=============+================+===============+==========================================+ -| resourceModuleName | M | 1 | String | - | A resource name as defined in a service. | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| serviceResourceId | M | 1 | String | - | A resource Id as defined in a service. | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| entitlementPoolUUID | M | 1..N | List of String | - | A list of entitlementPoolUUIDs. | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| licenseKeyGroupUUID | M | 1..N | List of String | - | A list of licenseKeyGroupUUID. | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| entitlementPoolInvariantUUID | M | 1..N | List of String | - | A list of entitlementPoolInvariantUUID . | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ -| licenseKeyGroupInvariantUUID | M | 1..N | List of String | - | A list of licenseKeyGroupInvariantUUID . | -+------------------------------+-----------+-------------+----------------+---------------+------------------------------------------+ - - -HTTP Response Code -++++++++++++++++++ - -+-----------+-----------------------+---------------------------------------------------------------+ -| HTTP Code | Response Phrase | Description | -+===========+=======================+===============================================================+ -| 201 | Created | An optimization solution is found. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 202 | Accepted | An optimization request is accepted. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 400 | Bad request | Bad request. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 401 | Unauthorized | Request body is not compliant with the API definition. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 404 | Not found | The server cannot find the requested URI. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 405 | Method not found | The requested method is not supported by a server. | -+-----------+-----------------------+---------------------------------------------------------------+ -| 500 | Internal server error | The server encountered an internal server error or timed out. | -+-----------+-----------------------+---------------------------------------------------------------+ +:download:`oof-osdf-has-api.json <./swaggerdoc/oof-osdf-has-api.json>` +.. swaggerv2doc:: ./swaggerdoc/oof-osdf-has-api.json |