juju_machine (Resource)¶
A resource that represents a Juju machine deployment. Refer to the juju add-machine CLI command for more information and limitations.
Example Usage¶
resource "juju_machine" "this_machine" {
model = juju_model.development.name
base = "[email protected]"
name = "this_machine"
constraints = "tags=my-machine-tag"
}
Schema¶
Required¶
model
(String) The Juju model in which to add a new machine. Changing this value will cause the machine to be destroyed and recreated by terraform.
Optional¶
annotations
(Map of String) Annotations are key/value pairs that can be used to store additional information about the machine. May not contain dots (.) in keys.base
(String) The operating system to install on the new machine(s). E.g. ubuntu@22.04. Changing this value will cause the machine to be destroyed and recreated by terraform.constraints
(String) Machine constraints that overwrite those available from ‘juju get-model-constraints’ and provider’s defaults. Changing this value will cause the application to be destroyed and recreated by terraform.disks
(String) Storage constraints for disks to attach to the machine(s). Changing this value will cause the machine to be destroyed and recreated by terraform.name
(String) A name for the machine resource in Terraform.placement
(String) Additional information about how to allocate the machine in the cloud. Changing this value will cause the application to be destroyed and recreated by terraform.private_key_file
(String) The file path to read the private key from.public_key_file
(String) The file path to read the public key from.series
(String, Deprecated) The operating system series to install on the new machine(s). Changing this value will cause the machine to be destroyed and recreated by terraform.ssh_address
(String) The user@host directive for manual provisioning an existing machine via ssh. Requires public_key_file & private_key_file arguments. Changing this value will cause the machine to be destroyed and recreated by terraform.
Read-Only¶
id
(String) The ID of this resource.machine_id
(String) The id of the machine Juju creates.
Notes¶
Juju will automatically remove a machine if all application units deployed to that machine are removed.
Import¶
Import is supported using the following syntax:
# Machines can be imported using the format: `model_name:machine_id:machine_name`.
# The value of machine_id is the Juju Machine ID. machine_name is an optional
# name you can define in Terraform for the machine. It is not used in Juju.
# Here is an example to import a machine from the development model with
# machine ID 1 and a name "machine_one":
$ terraform import juju_machine.machine_one `development:1:machine_one`