# juju_jaas_controller (Resource)

A resource that represents a controller registered in JAAS (JIMM).

## Example Usage

```terraform
resource "juju_controller" "this" {
  name = "my-controller"

  # See the controller resource example for a full example 
  # of the juju_controller resource configuration.
}

resource "juju_jaas_controller" "jaas" {
  name = juju_controller.this.name
  uuid = juju_controller.this.controller_uuid

  api_addresses  = juju_controller.this.api_addresses
  ca_certificate = juju_controller.this.ca_cert

  username = juju_controller.this.username
  password = juju_controller.this.password

  tls_hostname = "juju-apiserver"
}
```

<!-- schema generated by tfplugindocs -->

## Schema

### Required

- `name` (String) Name of the controller to register.
- `password` (String, Sensitive) Password that JIMM should use to connect to the controller.
- `username` (String, Sensitive) Username that JIMM should use to connect to the controller.
- `uuid` (String) UUID of the controller.

### Optional

- `api_addresses` (List of String) API addresses of the controller. If the controller is HA, only 1 address needs to be provided but multiple addresses are also accepted.
- `ca_certificate` (String) CA certificate for the controller.
- `force` (Boolean) Force removal when deleting (only required when the controller is still available).
- `public_address` (String) Public address of the controller (typically host:port) to be used instead of providing api_addresses.
- `tls_hostname` (String) Hostname used for TLS verification. When connecting directly to a controller, you may need to specify a TLS hostname for SNI purposes that matches the controller’s self-signed certificate.

### Read-Only

- `id` (String) The ID of this resource.
- `status` (String) Status of the controller (available/deprecated/unavailable).
