SMS 1.0.0 API =============================== .. toctree:: :maxdepth: 3 Description ~~~~~~~~~~~ This is a service that provides secret management facilities Contact Information ~~~~~~~~~~~~~~~~~~~ kiran.k.kamineni@intel.com License ~~~~~~~ `Apache 2.0 `_ Base URL ~~~~~~~~ https://aaf.onap.org:10443/v1/sms/ Security ~~~~~~~~ .. _securities_token: token (API Key) --------------- **Name:** token **Located in:** header DOMAIN ~~~~~~ Operations related to Secret Domains DELETE ``/domain/{domainName}`` ------------------------------- Summary +++++++ Deletes a domain by name Description +++++++++++ .. raw:: html Deletes a domain with provided name Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 domainName | path | Yes | string | | | Name of the domain Request +++++++ Responses +++++++++ **204** ^^^^^^^ Successful Deletion **404** ^^^^^^^ Invalid Path or Path not found POST ``/domain`` ---------------- Summary +++++++ Add a new domain Request +++++++ .. _d_c7bdcff9aff0692da98e588abdbc895b: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 name | No | string | | | Name of the secret domain under which all secrets will be stored uuid | No | string | | | Optional value provided by user. If user does not provide, server will auto generate .. code-block:: javascript { "name": "somestring", "uuid": "somestring" } Responses +++++++++ **201** ^^^^^^^ Successful Creation Type: :ref:`Domain ` **Example:** .. code-block:: javascript { "name": "somestring", "uuid": "somestring" } **400** ^^^^^^^ Invalid input **500** ^^^^^^^ Internal Server Error LOGIN ~~~~~ Operations related to username password based authentication POST ``/login`` --------------- Summary +++++++ Login with username and password Description +++++++++++ .. raw:: html Operations related to logging in via username and Password Request +++++++ .. _d_8e36d758bad367e4538a291a5dd5355f: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 password | No | string | | | username | No | string | | | .. code-block:: javascript { "password": "somestring", "username": "somestring" } Responses +++++++++ **200** ^^^^^^^ Successful Login returns a token .. _i_bbceffdf8441c1c476ca77c42ad12f85: **Response Schema:** .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 token | No | string | | | ttl | No | integer | | | ttl of returned token in seconds **Example:** .. code-block:: javascript { "token": "somestring", "ttl": 1 } **404** ^^^^^^^ Invalid Username or Password SECRET ~~~~~~ Operations related to Secrets DELETE ``/domain/{domainName}/secret/{secretName}`` --------------------------------------------------- Summary +++++++ Deletes a Secret Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 secretName | path | Yes | string | | | Name of Secret to Delete domainName | path | Yes | string | | | Path to the SecretDomain which contains the Secret Request +++++++ Responses +++++++++ **204** ^^^^^^^ Successful Deletion **404** ^^^^^^^ Invalid Path or Path not found GET ``/domain/{domainName}/secret`` ----------------------------------- Summary +++++++ List secret Names in this domain Description +++++++++++ .. raw:: html Gets all secret names in this domain Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 domainName | path | Yes | string | | | Name of the domain in which to look at Request +++++++ Responses +++++++++ **200** ^^^^^^^ Successful operation .. _i_1dcddfd6f11cba3fb2516d3a61cd1b77: **Response Schema:** .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 secretnames | No | array of string | | | Array of strings referencing the secret names **Example:** .. code-block:: javascript { "secretnames": [ "secretname1", "secretname2", "secretname3" ] } **404** ^^^^^^^ Invalid Path or Path not found GET ``/domain/{domainName}/secret/{secretName}`` ------------------------------------------------ Summary +++++++ Find Secret by Name Description +++++++++++ .. raw:: html Returns a single secret Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 domainName | path | Yes | string | | | Name of the domain in which to look at secretName | path | Yes | string | | | Name of the secret which is needed Request +++++++ Responses +++++++++ **200** ^^^^^^^ successful operation Type: :ref:`Secret ` **Example:** .. code-block:: javascript { "name": "somestring", "values": { "Age": 40, "admin": true, "name": "john" } } **404** ^^^^^^^ Invalid Path or Path not found POST ``/domain/{domainName}/secret`` ------------------------------------ Summary +++++++ Add a new secret Parameters ++++++++++ .. csv-table:: :delim: | :header: "Name", "Located in", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 15, 10, 10, 10, 20, 30 domainName | path | Yes | string | | | Name of the domain Request +++++++ .. _d_5e5fddd9ede6eb091e8496a9c55b84c3: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 name | No | string | | | Name of the secret values | No | :ref:`values ` | | | Map of key value pairs that constitute the secret .. _i_a9213c9639162b77082e257e19cca0d0: **Values schema:** Map of key value pairs that constitute the secret Map of {"key":":ref:`values-mapped `"} .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 .. code-block:: javascript { "name": "somestring", "values": { "Age": 40, "admin": true, "name": "john" } } Responses +++++++++ **201** ^^^^^^^ Successful Creation **404** ^^^^^^^ Invalid Path or Path not found SYSTEM ~~~~~~ Operations related to quorum client which are not useful to clients GET ``/status`` --------------- Summary +++++++ Get backend status Description +++++++++++ .. raw:: html Gets current backend status. This API is used only by quorum clients Request +++++++ Responses +++++++++ **200** ^^^^^^^ Successful operation .. _i_ac1bc8e82eadbd8c03f852e15be4d03b: **Response Schema:** .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 sealstatus | No | string | | | seal status of backend **Example:** .. code-block:: javascript { "sealstatus": "somestring" } **404** ^^^^^^^ Invalid Path or Path not found POST ``/unseal`` ---------------- Summary +++++++ Unseal backend Description +++++++++++ .. raw:: html Sends unseal shard to unseal if backend is sealed Request +++++++ .. _i_9d32e021ba68855cbb6e633520b7cd2d: Body ^^^^ .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 unsealshard | No | string | | | Unseal shard that will be used along with other shards to unseal backend .. code-block:: javascript { "unsealshard": "somestring" } Responses +++++++++ **201** ^^^^^^^ Submitted unseal key **404** ^^^^^^^ Invalid Path or Path not found Data Structures ~~~~~~~~~~~~~~~ .. _d_8e36d758bad367e4538a291a5dd5355f: Credential Model Structure -------------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 password | No | string | | | username | No | string | | | .. _d_c7bdcff9aff0692da98e588abdbc895b: Domain Model Structure ---------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 name | No | string | | | Name of the secret domain under which all secrets will be stored uuid | No | string | | | Optional value provided by user. If user does not provide, server will auto generate .. _d_5e5fddd9ede6eb091e8496a9c55b84c3: Secret Model Structure ---------------------- .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25 name | No | string | | | Name of the secret values | No | :ref:`values ` | | | Map of key value pairs that constitute the secret .. _i_a9213c9639162b77082e257e19cca0d0: **Values schema:** Map of key value pairs that constitute the secret Map of {"key":":ref:`values-mapped `"} .. csv-table:: :delim: | :header: "Name", "Required", "Type", "Format", "Properties", "Description" :widths: 20, 10, 15, 15, 30, 25