# 

# exoscale_dbaas_clickhouse_user (Resource)

Manage service users for a ClickHouse Exoscale [Database Services (DBaaS)](https://community.exoscale.com/documentation/dbaas/).



<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `service` (String) ❗ The name of the database service.
- `username` (String) ❗ The name of the user for this service.
- `zone` (String) ❗ The Exoscale [Zone](https://www.exoscale.com/datacenters/) name.

### Optional

- `password` (String, Sensitive) The password of the ClickHouse user. If not set, the API will generate one. Cannot be retrieved after creation (use the generated value or reset via update).
- `roles` (Attributes Set) Roles granted to the user. Each role is identified by its UUID. (see [below for nested schema](#nestedatt--roles))
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))

### Read-Only

- `id` (String) The ID of this resource, computed as service/username
- `type` (String) The type of the service user.
- `user_uuid` (String) The UUID of the ClickHouse user (internal, used for delete).

<a id="nestedatt--roles"></a>
### Nested Schema for `roles`

Required:

- `uuid` (String) The UUID of the role to grant.


<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`

Optional:

- `create` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- `read` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
- `update` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

-> The symbol ❗ in an attribute indicates that modifying it, will force the creation of a new resource.



