--- page_title: "boundary_worker Resource - terraform-provider-boundary" subcategory: "" description: |- The resource allows you to create a self-managed worker object. --- # boundary_worker (Resource) The resource allows you to create a self-managed worker object. ## Example Usage ### Controller-led worker ```terraform resource "boundary_worker" "controller_led" { scope_id = "global" name = "controller-led-worker-1" description = "self managed worker with controller led auth" } ``` Use controller-led registration when Terraform can deliver a generated activation token to the worker. Omit `worker_generated_auth_token`. ### Worker-led worker ```terraform resource "boundary_worker" "worker_led" { scope_id = "global" name = "worker-led-worker-1" description = "self managed worker with worker led auth" worker_generated_auth_token = var.worker_generated_auth_token } ``` Use worker-led registration when the worker generates the authorization request. Set `worker_generated_auth_token` to the generated token. ### No managed worker resource Without a `boundary_worker` resource, Terraform does not manage a worker. ### Both registration methods Configure separate `boundary_worker` resources when your deployment requires both registration methods. ```terraform resource "boundary_worker" "controller_led" { scope_id = "global" name = "controller-led-worker-1" } resource "boundary_worker" "worker_led" { scope_id = "global" name = "worker-led-worker-1" worker_generated_auth_token = var.worker_generated_auth_token } ``` Refer to the [register workers](https://developer.hashicorp.com/boundary/docs/workers/registration) documentation to learn about worker registration. ## Schema ### Optional - `description` (String) The description for the worker. - `name` (String) The name for the worker. - `scope_id` (String) The scope for the worker. Defaults to `global`. - `worker_generated_auth_token` (String) The worker authentication token required to register the worker for the worker-led authentication flow. Leaving this blank will result in a controller generated token. ### Read-Only - `address` (String) The accessible address of the self managed worker. - `authorized_actions` (List of String) A list of actions that the worker is entitled to perform. - `controller_generated_activation_token` (String) A single use token generated by the controller to be passed to the self-managed worker. - `id` (String) The ID of the worker. - `release_version` (Number) The version of the Boundary binary running on the self managed worker. ## Import Import is supported using the following syntax: ```shell terraform import boundary_worker.foo ```