# UserSecret

UserSecret is a service that stores and manages credentials. UserSecret is used to store credentials for a specific user.

> **Package : spaceone.api.user\_secret.v1**

\ <br>

## UserSecret

**UserSecret Methods:**

| Method                                                                                                                         | Request                                                                                                                                                   | Response                                                                                                                                |
| ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| [**create**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#create)            | [CreateUserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#createusersecretrequest)         | [UserSecretInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretinfo)         |
| [**update**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#update)            | [UpdateUserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#updateusersecretrequest)         | [UserSecretInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretinfo)         |
| [**delete**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#delete)            | [UserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretrequest)                     | [Empty](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#empty)                           |
| [**update\_data**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#update_data) | [UpdateUserSecretDataRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#updateusersecretdatarequest) | [Empty](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#empty)                           |
| [**get\_data**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#get_data)       | [GetUserSecretDataRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#getusersecretdatarequest)       | [UserSecretDataInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretdatainfo) |
| [**get**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#get)                  | [UserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretrequest)                     | [UserSecretInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretinfo)         |
| [**list**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#list)                | [UserSecretQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretquery)                         | [UserSecretsInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretsinfo)       |
| [**stat**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#stat)                | [UserSecretStatQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretstatquery)                 | [Struct](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#struct)                         |

<br>

### create

Create a new user secret. Created user secret is encrypted and stored securely.

> **POST** /secret/v1/user-secret/create

{{< tabs " create " >}}

{{< tab "Request Example" >}}

[CreateUserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#createusersecretrequest)

* **name** (string) `Required`
* **data** (Struct) `Required`
* **schema\_id** (string)
* **tags** (Struct)

{{< highlight json >}} { "name": "Cloudforet AWS Dev", "data": "\*\*\*\*\*\*\*\*", "schema\_id": "aws\_access\_key", } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[UserSecretInfo](#USERSECRETINFO)

* **user\_secret\_id** (string) `Required`
* **name** (string) `Required`
* **schema\_id** (string) `Required`
* **provider** (string) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **user\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user\_secret-123456789012", "name": "aws-dev", "tags": {}, "schema\_id": "aws\_access\_key", "provider": "aws", "user\_id": "<whdalsrnt@gmail.com>", "domain\_id": "domain-123456789012", "created\_at": "2022-01-01T06:10:14.851Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### update

Updates a specific user secret's information. You can only change the 'name' and 'tags', and to change the data you must use the update\_data API.

> **POST** /secret/v1/user-secret/update

{{< tabs " update " >}}

{{< tab "Request Example" >}}

[UpdateUserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#updateusersecretrequest)

* **user\_secret\_id** (string) `Required`
* **name** (string)
* **tags** (Struct)

{{< highlight json >}} { "user\_secret\_id": "user-secret-123456789012", "name": "aws-dev2", "tags": { "a": "b"} } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[UserSecretInfo](#USERSECRETINFO)

* **user\_secret\_id** (string) `Required`
* **name** (string) `Required`
* **schema\_id** (string) `Required`
* **provider** (string) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **user\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user\_secret-123456789012", "name": "aws-dev", "tags": {}, "schema\_id": "aws\_access\_key", "provider": "aws", "user\_id": "<whdalsrnt@gmail.com>", "domain\_id": "domain-123456789012", "created\_at": "2022-01-01T06:10:14.851Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### delete

Deletes a specific user secret.

> **POST** /secret/v1/user-secret/delete

{{< tabs " delete " >}}

{{< tab "Request Example" >}}

[UserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretrequest)

* **user\_secret\_id** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user-secret-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### update\_data

Updates a specific user secret's data. Updated user\_secret is encrypted and stored securely.

> **POST** /secret/v1/user-secret/update-data

{{< tabs " update\_data " >}}

{{< tab "Request Example" >}}

[UpdateUserSecretDataRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#updateusersecretdatarequest)

* **user\_secret\_id** (string) `Required`
* **schema\_id** (string) `Required`
* **data** (Struct) `Required`

{{< highlight json >}} { "user\_secret\_id": "user-secret-123456789012", "data": "\*\*\*\*\*\*\*\*" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### get\_data

Get a specific user secret's data. This API is for internal system use only.

{{< tabs " get\_data " >}}

{{< tab "Request Example" >}}

[GetUserSecretDataRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#getusersecretdatarequest)

* **user\_secret\_id** (string) `Required`
* **domain\_id** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user-secret-123456789012", "domain\_id": "domain-12345abcde" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### get

Get a specific user secret's information.

> **POST** /secret/v1/user-secret/get

{{< tabs " get " >}}

{{< tab "Request Example" >}}

[UserSecretRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretrequest)

* **user\_secret\_id** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user-secret-123456789012" } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[UserSecretInfo](#USERSECRETINFO)

* **user\_secret\_id** (string) `Required`
* **name** (string) `Required`
* **schema\_id** (string) `Required`
* **provider** (string) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **user\_id** (string) `Required`
* **created\_at** (string) `Required`

{{< highlight json >}} { "user\_secret\_id": "user\_secret-123456789012", "name": "aws-dev", "tags": {}, "schema\_id": "aws\_access\_key", "provider": "aws", "user\_id": "<whdalsrnt@gmail.com>", "domain\_id": "domain-123456789012", "created\_at": "2022-01-01T06:10:14.851Z" } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### list

Queries a list of user secrets. You can use a query to get a filtered list of user secrets.

> **POST** /secret/v1/user-secret/list

{{< tabs " list " >}}

{{< tab "Request Example" >}}

[UserSecretQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/secret/v1/UserSecret/README.md#usersecretquery)

* **query** (Query)
* **user\_secret\_id** (string)
* **name** (string)
* **schema\_id** (string)
* **provider** (string)

{{< highlight json >}} { "query": {} } {{< /highlight >}} {{< /tab >}}

{{< tab "Response Example" >}}

[UserSecretsInfo](#USERSECRETSINFO)

* **results** (UserSecretInfo) `Repeated` `Required`
* **total\_count** (int32) `Required`

{{< highlight json >}} { "results": \[ { "user\_secret\_id": "user\_secret-123456789012", "name": "aws-dev", "tags": {}, "schema": "aws\_access\_key", "provider": "aws", "user\_id": "whdalsrnt\@gmail", "domain\_id": "domain-123456789012", "created\_at": "2022-01-01T06:10:14.851Z" }, { "user\_secret\_id": "user\_secret-987654321098", "name": "plugin-credentials", "tags": {}, "user\_id": "<whdalsrnt@gmail.com>", "domain\_id": "domain-123456789012", "created\_at": "2022-01-01T02:31:01.709Z" } ], "total\_count": 2 } {{< /highlight >}} {{< /tab >}}

{{< /tabs >}}

<br>

### stat

> **POST** /secret/v1/user-secret/stat

\ <br>

## Message

### CreateUserSecretRequest

* **name** (string) `Required`
* **data** (Struct) `Required`
* **schema\_id** (string)
* **tags** (Struct)

  <br>

### GetUserSecretDataRequest

* **user\_secret\_id** (string) `Required`
* **domain\_id** (string) `Required`

  <br>

### UpdateUserSecretDataRequest

* **user\_secret\_id** (string) `Required`
* **schema\_id** (string) `Required`
* **data** (Struct) `Required`

  <br>

### UpdateUserSecretRequest

* **user\_secret\_id** (string) `Required`
* **name** (string)
* **tags** (Struct)

  <br>

### UserSecretDataInfo

* **encrypted** (bool) `Required`
* **encrypt\_options** (Struct) `Required`
* **data** (Struct) `Required`

  <br>

### UserSecretInfo

* **user\_secret\_id** (string) `Required`
* **name** (string) `Required`
* **schema\_id** (string) `Required`
* **provider** (string) `Required`
* **tags** (Struct) `Required`
* **domain\_id** (string) `Required`
* **user\_id** (string) `Required`
* **created\_at** (string) `Required`

  <br>

### UserSecretQuery

* **query** (Query)
* **user\_secret\_id** (string)
* **name** (string)
* **schema\_id** (string)
* **provider** (string)

  <br>

### UserSecretRequest

* **user\_secret\_id** (string) `Required`

  <br>

### UserSecretStatQuery

* **query** (StatisticsQuery) `Required`
* **domain\_id** (string) `Required`

  <br>

### UserSecretsInfo

* **results** (UserSecretInfo) `Repeated` `Required`
* **total\_count** (int32) `Required`

  <br>
