published on Tuesday, Mar 10, 2026 by juju
published on Tuesday, Mar 10, 2026 by juju
A resource that represents a Juju Controller.
Create Controller Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Controller(name: string, args: ControllerArgs, opts?: CustomResourceOptions);@overload
def Controller(resource_name: str,
args: ControllerArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Controller(resource_name: str,
opts: Optional[ResourceOptions] = None,
cloud: Optional[ControllerCloudArgs] = None,
juju_binary: Optional[str] = None,
cloud_credential: Optional[ControllerCloudCredentialArgs] = None,
bootstrap_constraints: Optional[Mapping[str, str]] = None,
agent_version: Optional[str] = None,
bootstrap_config: Optional[Mapping[str, str]] = None,
controller_config: Optional[Mapping[str, str]] = None,
controller_model_config: Optional[Mapping[str, str]] = None,
destroy_flags: Optional[ControllerDestroyFlagsArgs] = None,
bootstrap_base: Optional[str] = None,
model_constraints: Optional[Mapping[str, str]] = None,
model_default: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
storage_pool: Optional[ControllerStoragePoolArgs] = None)func NewController(ctx *Context, name string, args ControllerArgs, opts ...ResourceOption) (*Controller, error)public Controller(string name, ControllerArgs args, CustomResourceOptions? opts = null)
public Controller(String name, ControllerArgs args)
public Controller(String name, ControllerArgs args, CustomResourceOptions options)
type: juju:Controller
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ControllerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ControllerArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ControllerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ControllerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ControllerArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var controllerResource = new Juju.Controller("controllerResource", new()
{
Cloud = new Juju.Inputs.ControllerCloudArgs
{
AuthTypes = new[]
{
"string",
},
Name = "string",
Type = "string",
CaCertificates = new[]
{
"string",
},
Config =
{
{ "string", "string" },
},
Endpoint = "string",
HostCloudRegion = "string",
Region = new Juju.Inputs.ControllerCloudRegionArgs
{
Name = "string",
Endpoint = "string",
IdentityEndpoint = "string",
StorageEndpoint = "string",
},
},
JujuBinary = "string",
CloudCredential = new Juju.Inputs.ControllerCloudCredentialArgs
{
Attributes =
{
{ "string", "string" },
},
AuthType = "string",
Name = "string",
},
BootstrapConstraints =
{
{ "string", "string" },
},
AgentVersion = "string",
BootstrapConfig =
{
{ "string", "string" },
},
ControllerConfig =
{
{ "string", "string" },
},
ControllerModelConfig =
{
{ "string", "string" },
},
DestroyFlags = new Juju.Inputs.ControllerDestroyFlagsArgs
{
DestroyAllModels = false,
DestroyStorage = false,
Force = false,
ModelTimeout = 0,
ReleaseStorage = false,
},
BootstrapBase = "string",
ModelConstraints =
{
{ "string", "string" },
},
ModelDefault =
{
{ "string", "string" },
},
Name = "string",
StoragePool = new Juju.Inputs.ControllerStoragePoolArgs
{
Name = "string",
Type = "string",
Attributes =
{
{ "string", "string" },
},
},
});
example, err := juju.NewController(ctx, "controllerResource", &juju.ControllerArgs{
Cloud: &juju.ControllerCloudArgs{
AuthTypes: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
Type: pulumi.String("string"),
CaCertificates: pulumi.StringArray{
pulumi.String("string"),
},
Config: pulumi.StringMap{
"string": pulumi.String("string"),
},
Endpoint: pulumi.String("string"),
HostCloudRegion: pulumi.String("string"),
Region: &juju.ControllerCloudRegionArgs{
Name: pulumi.String("string"),
Endpoint: pulumi.String("string"),
IdentityEndpoint: pulumi.String("string"),
StorageEndpoint: pulumi.String("string"),
},
},
JujuBinary: pulumi.String("string"),
CloudCredential: &juju.ControllerCloudCredentialArgs{
Attributes: pulumi.StringMap{
"string": pulumi.String("string"),
},
AuthType: pulumi.String("string"),
Name: pulumi.String("string"),
},
BootstrapConstraints: pulumi.StringMap{
"string": pulumi.String("string"),
},
AgentVersion: pulumi.String("string"),
BootstrapConfig: pulumi.StringMap{
"string": pulumi.String("string"),
},
ControllerConfig: pulumi.StringMap{
"string": pulumi.String("string"),
},
ControllerModelConfig: pulumi.StringMap{
"string": pulumi.String("string"),
},
DestroyFlags: &juju.ControllerDestroyFlagsArgs{
DestroyAllModels: pulumi.Bool(false),
DestroyStorage: pulumi.Bool(false),
Force: pulumi.Bool(false),
ModelTimeout: pulumi.Float64(0),
ReleaseStorage: pulumi.Bool(false),
},
BootstrapBase: pulumi.String("string"),
ModelConstraints: pulumi.StringMap{
"string": pulumi.String("string"),
},
ModelDefault: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
StoragePool: &juju.ControllerStoragePoolArgs{
Name: pulumi.String("string"),
Type: pulumi.String("string"),
Attributes: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
})
var controllerResource = new Controller("controllerResource", ControllerArgs.builder()
.cloud(ControllerCloudArgs.builder()
.authTypes("string")
.name("string")
.type("string")
.caCertificates("string")
.config(Map.of("string", "string"))
.endpoint("string")
.hostCloudRegion("string")
.region(ControllerCloudRegionArgs.builder()
.name("string")
.endpoint("string")
.identityEndpoint("string")
.storageEndpoint("string")
.build())
.build())
.jujuBinary("string")
.cloudCredential(ControllerCloudCredentialArgs.builder()
.attributes(Map.of("string", "string"))
.authType("string")
.name("string")
.build())
.bootstrapConstraints(Map.of("string", "string"))
.agentVersion("string")
.bootstrapConfig(Map.of("string", "string"))
.controllerConfig(Map.of("string", "string"))
.controllerModelConfig(Map.of("string", "string"))
.destroyFlags(ControllerDestroyFlagsArgs.builder()
.destroyAllModels(false)
.destroyStorage(false)
.force(false)
.modelTimeout(0.0)
.releaseStorage(false)
.build())
.bootstrapBase("string")
.modelConstraints(Map.of("string", "string"))
.modelDefault(Map.of("string", "string"))
.name("string")
.storagePool(ControllerStoragePoolArgs.builder()
.name("string")
.type("string")
.attributes(Map.of("string", "string"))
.build())
.build());
controller_resource = juju.Controller("controllerResource",
cloud={
"auth_types": ["string"],
"name": "string",
"type": "string",
"ca_certificates": ["string"],
"config": {
"string": "string",
},
"endpoint": "string",
"host_cloud_region": "string",
"region": {
"name": "string",
"endpoint": "string",
"identity_endpoint": "string",
"storage_endpoint": "string",
},
},
juju_binary="string",
cloud_credential={
"attributes": {
"string": "string",
},
"auth_type": "string",
"name": "string",
},
bootstrap_constraints={
"string": "string",
},
agent_version="string",
bootstrap_config={
"string": "string",
},
controller_config={
"string": "string",
},
controller_model_config={
"string": "string",
},
destroy_flags={
"destroy_all_models": False,
"destroy_storage": False,
"force": False,
"model_timeout": 0,
"release_storage": False,
},
bootstrap_base="string",
model_constraints={
"string": "string",
},
model_default={
"string": "string",
},
name="string",
storage_pool={
"name": "string",
"type": "string",
"attributes": {
"string": "string",
},
})
const controllerResource = new juju.Controller("controllerResource", {
cloud: {
authTypes: ["string"],
name: "string",
type: "string",
caCertificates: ["string"],
config: {
string: "string",
},
endpoint: "string",
hostCloudRegion: "string",
region: {
name: "string",
endpoint: "string",
identityEndpoint: "string",
storageEndpoint: "string",
},
},
jujuBinary: "string",
cloudCredential: {
attributes: {
string: "string",
},
authType: "string",
name: "string",
},
bootstrapConstraints: {
string: "string",
},
agentVersion: "string",
bootstrapConfig: {
string: "string",
},
controllerConfig: {
string: "string",
},
controllerModelConfig: {
string: "string",
},
destroyFlags: {
destroyAllModels: false,
destroyStorage: false,
force: false,
modelTimeout: 0,
releaseStorage: false,
},
bootstrapBase: "string",
modelConstraints: {
string: "string",
},
modelDefault: {
string: "string",
},
name: "string",
storagePool: {
name: "string",
type: "string",
attributes: {
string: "string",
},
},
});
type: juju:Controller
properties:
agentVersion: string
bootstrapBase: string
bootstrapConfig:
string: string
bootstrapConstraints:
string: string
cloud:
authTypes:
- string
caCertificates:
- string
config:
string: string
endpoint: string
hostCloudRegion: string
name: string
region:
endpoint: string
identityEndpoint: string
name: string
storageEndpoint: string
type: string
cloudCredential:
attributes:
string: string
authType: string
name: string
controllerConfig:
string: string
controllerModelConfig:
string: string
destroyFlags:
destroyAllModels: false
destroyStorage: false
force: false
modelTimeout: 0
releaseStorage: false
jujuBinary: string
modelConstraints:
string: string
modelDefault:
string: string
name: string
storagePool:
attributes:
string: string
name: string
type: string
Controller Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Controller resource accepts the following input properties:
- Cloud
Controller
Cloud - The cloud where the controller will operate.
- Cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- Juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - Agent
Version string - The version of agent binaries.
- Bootstrap
Base string - The base for the bootstrap machine.
- Bootstrap
Config Dictionary<string, string> - Configuration options that apply during the bootstrap process.
- Bootstrap
Constraints Dictionary<string, string> - Constraints for the bootstrap machine.
- Controller
Config Dictionary<string, string> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- Controller
Model Dictionary<string, string>Config - Configuration options to be set for the controller model.
- Destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- Model
Constraints Dictionary<string, string> - Constraints for all workload machines in models.
- Model
Default Dictionary<string, string> - Configuration options to be set for all models.
- Name string
- Storage
Pool ControllerStorage Pool - Options for the initial storage pool
- Cloud
Controller
Cloud Args - The cloud where the controller will operate.
- Cloud
Credential ControllerCloud Credential Args - Cloud credentials to use for bootstrapping the controller.
- Juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - Agent
Version string - The version of agent binaries.
- Bootstrap
Base string - The base for the bootstrap machine.
- Bootstrap
Config map[string]string - Configuration options that apply during the bootstrap process.
- Bootstrap
Constraints map[string]string - Constraints for the bootstrap machine.
- Controller
Config map[string]string - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- Controller
Model map[string]stringConfig - Configuration options to be set for the controller model.
- Destroy
Flags ControllerDestroy Flags Args - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- Model
Constraints map[string]string - Constraints for all workload machines in models.
- Model
Default map[string]string - Configuration options to be set for all models.
- Name string
- Storage
Pool ControllerStorage Pool Args - Options for the initial storage pool
- cloud
Controller
Cloud - The cloud where the controller will operate.
- cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- juju
Binary String - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - agent
Version String - The version of agent binaries.
- bootstrap
Base String - The base for the bootstrap machine.
- bootstrap
Config Map<String,String> - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints Map<String,String> - Constraints for the bootstrap machine.
- controller
Config Map<String,String> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model Map<String,String>Config - Configuration options to be set for the controller model.
- destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- model
Constraints Map<String,String> - Constraints for all workload machines in models.
- model
Default Map<String,String> - Configuration options to be set for all models.
- name String
- storage
Pool ControllerStorage Pool - Options for the initial storage pool
- cloud
Controller
Cloud - The cloud where the controller will operate.
- cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - agent
Version string - The version of agent binaries.
- bootstrap
Base string - The base for the bootstrap machine.
- bootstrap
Config {[key: string]: string} - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints {[key: string]: string} - Constraints for the bootstrap machine.
- controller
Config {[key: string]: string} - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model {[key: string]: string}Config - Configuration options to be set for the controller model.
- destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- model
Constraints {[key: string]: string} - Constraints for all workload machines in models.
- model
Default {[key: string]: string} - Configuration options to be set for all models.
- name string
- storage
Pool ControllerStorage Pool - Options for the initial storage pool
- cloud
Controller
Cloud Args - The cloud where the controller will operate.
- cloud_
credential ControllerCloud Credential Args - Cloud credentials to use for bootstrapping the controller.
- juju_
binary str - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - agent_
version str - The version of agent binaries.
- bootstrap_
base str - The base for the bootstrap machine.
- bootstrap_
config Mapping[str, str] - Configuration options that apply during the bootstrap process.
- bootstrap_
constraints Mapping[str, str] - Constraints for the bootstrap machine.
- controller_
config Mapping[str, str] - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller_
model_ Mapping[str, str]config - Configuration options to be set for the controller model.
- destroy_
flags ControllerDestroy Flags Args - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- model_
constraints Mapping[str, str] - Constraints for all workload machines in models.
- model_
default Mapping[str, str] - Configuration options to be set for all models.
- name str
- storage_
pool ControllerStorage Pool Args - Options for the initial storage pool
- cloud Property Map
- The cloud where the controller will operate.
- cloud
Credential Property Map - Cloud credentials to use for bootstrapping the controller.
- juju
Binary String - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - agent
Version String - The version of agent binaries.
- bootstrap
Base String - The base for the bootstrap machine.
- bootstrap
Config Map<String> - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints Map<String> - Constraints for the bootstrap machine.
- controller
Config Map<String> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model Map<String>Config - Configuration options to be set for the controller model.
- destroy
Flags Property Map - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- model
Constraints Map<String> - Constraints for all workload machines in models.
- model
Default Map<String> - Configuration options to be set for all models.
- name String
- storage
Pool Property Map - Options for the initial storage pool
Outputs
All input properties are implicitly available as output properties. Additionally, the Controller resource produces the following output properties:
- Api
Addresses List<string> - API addresses of the controller.
- Ca
Cert string - CA certificate for the controller.
- Controller
Uuid string - The UUID of the controller.
- Id string
- The provider-assigned unique ID for this managed resource.
- Password string
- Admin password for the controller.
- Username string
- Admin username for the controller.
- Api
Addresses []string - API addresses of the controller.
- Ca
Cert string - CA certificate for the controller.
- Controller
Uuid string - The UUID of the controller.
- Id string
- The provider-assigned unique ID for this managed resource.
- Password string
- Admin password for the controller.
- Username string
- Admin username for the controller.
- api
Addresses List<String> - API addresses of the controller.
- ca
Cert String - CA certificate for the controller.
- controller
Uuid String - The UUID of the controller.
- id String
- The provider-assigned unique ID for this managed resource.
- password String
- Admin password for the controller.
- username String
- Admin username for the controller.
- api
Addresses string[] - API addresses of the controller.
- ca
Cert string - CA certificate for the controller.
- controller
Uuid string - The UUID of the controller.
- id string
- The provider-assigned unique ID for this managed resource.
- password string
- Admin password for the controller.
- username string
- Admin username for the controller.
- api_
addresses Sequence[str] - API addresses of the controller.
- ca_
cert str - CA certificate for the controller.
- controller_
uuid str - The UUID of the controller.
- id str
- The provider-assigned unique ID for this managed resource.
- password str
- Admin password for the controller.
- username str
- Admin username for the controller.
- api
Addresses List<String> - API addresses of the controller.
- ca
Cert String - CA certificate for the controller.
- controller
Uuid String - The UUID of the controller.
- id String
- The provider-assigned unique ID for this managed resource.
- password String
- Admin password for the controller.
- username String
- Admin username for the controller.
Look up Existing Controller Resource
Get an existing Controller resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ControllerState, opts?: CustomResourceOptions): Controller@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
agent_version: Optional[str] = None,
api_addresses: Optional[Sequence[str]] = None,
bootstrap_base: Optional[str] = None,
bootstrap_config: Optional[Mapping[str, str]] = None,
bootstrap_constraints: Optional[Mapping[str, str]] = None,
ca_cert: Optional[str] = None,
cloud: Optional[ControllerCloudArgs] = None,
cloud_credential: Optional[ControllerCloudCredentialArgs] = None,
controller_config: Optional[Mapping[str, str]] = None,
controller_model_config: Optional[Mapping[str, str]] = None,
controller_uuid: Optional[str] = None,
destroy_flags: Optional[ControllerDestroyFlagsArgs] = None,
juju_binary: Optional[str] = None,
model_constraints: Optional[Mapping[str, str]] = None,
model_default: Optional[Mapping[str, str]] = None,
name: Optional[str] = None,
password: Optional[str] = None,
storage_pool: Optional[ControllerStoragePoolArgs] = None,
username: Optional[str] = None) -> Controllerfunc GetController(ctx *Context, name string, id IDInput, state *ControllerState, opts ...ResourceOption) (*Controller, error)public static Controller Get(string name, Input<string> id, ControllerState? state, CustomResourceOptions? opts = null)public static Controller get(String name, Output<String> id, ControllerState state, CustomResourceOptions options)resources: _: type: juju:Controller get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Agent
Version string - The version of agent binaries.
- Api
Addresses List<string> - API addresses of the controller.
- Bootstrap
Base string - The base for the bootstrap machine.
- Bootstrap
Config Dictionary<string, string> - Configuration options that apply during the bootstrap process.
- Bootstrap
Constraints Dictionary<string, string> - Constraints for the bootstrap machine.
- Ca
Cert string - CA certificate for the controller.
- Cloud
Controller
Cloud - The cloud where the controller will operate.
- Cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- Controller
Config Dictionary<string, string> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- Controller
Model Dictionary<string, string>Config - Configuration options to be set for the controller model.
- Controller
Uuid string - The UUID of the controller.
- Destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- Juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - Model
Constraints Dictionary<string, string> - Constraints for all workload machines in models.
- Model
Default Dictionary<string, string> - Configuration options to be set for all models.
- Name string
- Password string
- Admin password for the controller.
- Storage
Pool ControllerStorage Pool - Options for the initial storage pool
- Username string
- Admin username for the controller.
- Agent
Version string - The version of agent binaries.
- Api
Addresses []string - API addresses of the controller.
- Bootstrap
Base string - The base for the bootstrap machine.
- Bootstrap
Config map[string]string - Configuration options that apply during the bootstrap process.
- Bootstrap
Constraints map[string]string - Constraints for the bootstrap machine.
- Ca
Cert string - CA certificate for the controller.
- Cloud
Controller
Cloud Args - The cloud where the controller will operate.
- Cloud
Credential ControllerCloud Credential Args - Cloud credentials to use for bootstrapping the controller.
- Controller
Config map[string]string - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- Controller
Model map[string]stringConfig - Configuration options to be set for the controller model.
- Controller
Uuid string - The UUID of the controller.
- Destroy
Flags ControllerDestroy Flags Args - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- Juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - Model
Constraints map[string]string - Constraints for all workload machines in models.
- Model
Default map[string]string - Configuration options to be set for all models.
- Name string
- Password string
- Admin password for the controller.
- Storage
Pool ControllerStorage Pool Args - Options for the initial storage pool
- Username string
- Admin username for the controller.
- agent
Version String - The version of agent binaries.
- api
Addresses List<String> - API addresses of the controller.
- bootstrap
Base String - The base for the bootstrap machine.
- bootstrap
Config Map<String,String> - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints Map<String,String> - Constraints for the bootstrap machine.
- ca
Cert String - CA certificate for the controller.
- cloud
Controller
Cloud - The cloud where the controller will operate.
- cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- controller
Config Map<String,String> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model Map<String,String>Config - Configuration options to be set for the controller model.
- controller
Uuid String - The UUID of the controller.
- destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- juju
Binary String - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - model
Constraints Map<String,String> - Constraints for all workload machines in models.
- model
Default Map<String,String> - Configuration options to be set for all models.
- name String
- password String
- Admin password for the controller.
- storage
Pool ControllerStorage Pool - Options for the initial storage pool
- username String
- Admin username for the controller.
- agent
Version string - The version of agent binaries.
- api
Addresses string[] - API addresses of the controller.
- bootstrap
Base string - The base for the bootstrap machine.
- bootstrap
Config {[key: string]: string} - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints {[key: string]: string} - Constraints for the bootstrap machine.
- ca
Cert string - CA certificate for the controller.
- cloud
Controller
Cloud - The cloud where the controller will operate.
- cloud
Credential ControllerCloud Credential - Cloud credentials to use for bootstrapping the controller.
- controller
Config {[key: string]: string} - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model {[key: string]: string}Config - Configuration options to be set for the controller model.
- controller
Uuid string - The UUID of the controller.
- destroy
Flags ControllerDestroy Flags - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- juju
Binary string - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - model
Constraints {[key: string]: string} - Constraints for all workload machines in models.
- model
Default {[key: string]: string} - Configuration options to be set for all models.
- name string
- password string
- Admin password for the controller.
- storage
Pool ControllerStorage Pool - Options for the initial storage pool
- username string
- Admin username for the controller.
- agent_
version str - The version of agent binaries.
- api_
addresses Sequence[str] - API addresses of the controller.
- bootstrap_
base str - The base for the bootstrap machine.
- bootstrap_
config Mapping[str, str] - Configuration options that apply during the bootstrap process.
- bootstrap_
constraints Mapping[str, str] - Constraints for the bootstrap machine.
- ca_
cert str - CA certificate for the controller.
- cloud
Controller
Cloud Args - The cloud where the controller will operate.
- cloud_
credential ControllerCloud Credential Args - Cloud credentials to use for bootstrapping the controller.
- controller_
config Mapping[str, str] - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller_
model_ Mapping[str, str]config - Configuration options to be set for the controller model.
- controller_
uuid str - The UUID of the controller.
- destroy_
flags ControllerDestroy Flags Args - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- juju_
binary str - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - model_
constraints Mapping[str, str] - Constraints for all workload machines in models.
- model_
default Mapping[str, str] - Configuration options to be set for all models.
- name str
- password str
- Admin password for the controller.
- storage_
pool ControllerStorage Pool Args - Options for the initial storage pool
- username str
- Admin username for the controller.
- agent
Version String - The version of agent binaries.
- api
Addresses List<String> - API addresses of the controller.
- bootstrap
Base String - The base for the bootstrap machine.
- bootstrap
Config Map<String> - Configuration options that apply during the bootstrap process.
- bootstrap
Constraints Map<String> - Constraints for the bootstrap machine.
- ca
Cert String - CA certificate for the controller.
- cloud Property Map
- The cloud where the controller will operate.
- cloud
Credential Property Map - Cloud credentials to use for bootstrapping the controller.
- controller
Config Map<String> - Configuration options for the bootstrapped controller. Note that removing a key from this map will not unset it in the controller, instead it will be left unchanged on the controller.
- controller
Model Map<String>Config - Configuration options to be set for the controller model.
- controller
Uuid String - The UUID of the controller.
- destroy
Flags Property Map - Additional flags for destroying the controller. Changing any of these values will require applying before they can be taken into account during destroy.
- juju
Binary String - The path to the juju CLI binary. If you have installed Juju as a snap, use the path
/snap/juju/current/bin/jujuto avoid snap confinement issues. - model
Constraints Map<String> - Constraints for all workload machines in models.
- model
Default Map<String> - Configuration options to be set for all models.
- name String
- password String
- Admin password for the controller.
- storage
Pool Property Map - Options for the initial storage pool
- username String
- Admin username for the controller.
Supporting Types
ControllerCloud, ControllerCloudArgs
- Auth
Types List<string> - The authentication type(s) supported by the cloud.
- Name string
- The name of the cloud
- Type string
- The type of the cloud .
- Ca
Certificates List<string> - CA certificates for the cloud.
- Config Dictionary<string, string>
- Configuration options for the cloud.
- Endpoint string
- The API endpoint for the cloud.
- Host
Cloud stringRegion - The host cloud region for the cloud.
- Region
Controller
Cloud Region - The cloud region where the controller will operate.
- Auth
Types []string - The authentication type(s) supported by the cloud.
- Name string
- The name of the cloud
- Type string
- The type of the cloud .
- Ca
Certificates []string - CA certificates for the cloud.
- Config map[string]string
- Configuration options for the cloud.
- Endpoint string
- The API endpoint for the cloud.
- Host
Cloud stringRegion - The host cloud region for the cloud.
- Region
Controller
Cloud Region - The cloud region where the controller will operate.
- auth
Types List<String> - The authentication type(s) supported by the cloud.
- name String
- The name of the cloud
- type String
- The type of the cloud .
- ca
Certificates List<String> - CA certificates for the cloud.
- config Map<String,String>
- Configuration options for the cloud.
- endpoint String
- The API endpoint for the cloud.
- host
Cloud StringRegion - The host cloud region for the cloud.
- region
Controller
Cloud Region - The cloud region where the controller will operate.
- auth
Types string[] - The authentication type(s) supported by the cloud.
- name string
- The name of the cloud
- type string
- The type of the cloud .
- ca
Certificates string[] - CA certificates for the cloud.
- config {[key: string]: string}
- Configuration options for the cloud.
- endpoint string
- The API endpoint for the cloud.
- host
Cloud stringRegion - The host cloud region for the cloud.
- region
Controller
Cloud Region - The cloud region where the controller will operate.
- auth_
types Sequence[str] - The authentication type(s) supported by the cloud.
- name str
- The name of the cloud
- type str
- The type of the cloud .
- ca_
certificates Sequence[str] - CA certificates for the cloud.
- config Mapping[str, str]
- Configuration options for the cloud.
- endpoint str
- The API endpoint for the cloud.
- host_
cloud_ strregion - The host cloud region for the cloud.
- region
Controller
Cloud Region - The cloud region where the controller will operate.
- auth
Types List<String> - The authentication type(s) supported by the cloud.
- name String
- The name of the cloud
- type String
- The type of the cloud .
- ca
Certificates List<String> - CA certificates for the cloud.
- config Map<String>
- Configuration options for the cloud.
- endpoint String
- The API endpoint for the cloud.
- host
Cloud StringRegion - The host cloud region for the cloud.
- region Property Map
- The cloud region where the controller will operate.
ControllerCloudCredential, ControllerCloudCredentialArgs
- Attributes Dictionary<string, string>
- Authentication attributes (key-value pairs specific to the auth type).
- Auth
Type string - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- Name string
- The name of the credential.
- Attributes map[string]string
- Authentication attributes (key-value pairs specific to the auth type).
- Auth
Type string - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- Name string
- The name of the credential.
- attributes Map<String,String>
- Authentication attributes (key-value pairs specific to the auth type).
- auth
Type String - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- name String
- The name of the credential.
- attributes {[key: string]: string}
- Authentication attributes (key-value pairs specific to the auth type).
- auth
Type string - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- name string
- The name of the credential.
- attributes Mapping[str, str]
- Authentication attributes (key-value pairs specific to the auth type).
- auth_
type str - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- name str
- The name of the credential.
- attributes Map<String>
- Authentication attributes (key-value pairs specific to the auth type).
- auth
Type String - The authentication type (e.g., 'userpass', 'oauth2', 'access-key').
- name String
- The name of the credential.
ControllerCloudRegion, ControllerCloudRegionArgs
- Name string
- The name of the region.
- Endpoint string
- The API endpoint for the region.
- Identity
Endpoint string - The identity endpoint for the region.
- Storage
Endpoint string - The storage endpoint for the region.
- Name string
- The name of the region.
- Endpoint string
- The API endpoint for the region.
- Identity
Endpoint string - The identity endpoint for the region.
- Storage
Endpoint string - The storage endpoint for the region.
- name String
- The name of the region.
- endpoint String
- The API endpoint for the region.
- identity
Endpoint String - The identity endpoint for the region.
- storage
Endpoint String - The storage endpoint for the region.
- name string
- The name of the region.
- endpoint string
- The API endpoint for the region.
- identity
Endpoint string - The identity endpoint for the region.
- storage
Endpoint string - The storage endpoint for the region.
- name str
- The name of the region.
- endpoint str
- The API endpoint for the region.
- identity_
endpoint str - The identity endpoint for the region.
- storage_
endpoint str - The storage endpoint for the region.
- name String
- The name of the region.
- endpoint String
- The API endpoint for the region.
- identity
Endpoint String - The identity endpoint for the region.
- storage
Endpoint String - The storage endpoint for the region.
ControllerDestroyFlags, ControllerDestroyFlagsArgs
- Destroy
All boolModels - Destroy all models in the controller.
- Destroy
Storage bool - Destroy all storage instances managed by the controller.
- Force bool
- Force destroy models ignoring any errors.
- Model
Timeout double - Timeout for each step of force model destruction.
- Release
Storage bool - Release all storage instances from management of the controller, without destroying them.
- Destroy
All boolModels - Destroy all models in the controller.
- Destroy
Storage bool - Destroy all storage instances managed by the controller.
- Force bool
- Force destroy models ignoring any errors.
- Model
Timeout float64 - Timeout for each step of force model destruction.
- Release
Storage bool - Release all storage instances from management of the controller, without destroying them.
- destroy
All BooleanModels - Destroy all models in the controller.
- destroy
Storage Boolean - Destroy all storage instances managed by the controller.
- force Boolean
- Force destroy models ignoring any errors.
- model
Timeout Double - Timeout for each step of force model destruction.
- release
Storage Boolean - Release all storage instances from management of the controller, without destroying them.
- destroy
All booleanModels - Destroy all models in the controller.
- destroy
Storage boolean - Destroy all storage instances managed by the controller.
- force boolean
- Force destroy models ignoring any errors.
- model
Timeout number - Timeout for each step of force model destruction.
- release
Storage boolean - Release all storage instances from management of the controller, without destroying them.
- destroy_
all_ boolmodels - Destroy all models in the controller.
- destroy_
storage bool - Destroy all storage instances managed by the controller.
- force bool
- Force destroy models ignoring any errors.
- model_
timeout float - Timeout for each step of force model destruction.
- release_
storage bool - Release all storage instances from management of the controller, without destroying them.
- destroy
All BooleanModels - Destroy all models in the controller.
- destroy
Storage Boolean - Destroy all storage instances managed by the controller.
- force Boolean
- Force destroy models ignoring any errors.
- model
Timeout Number - Timeout for each step of force model destruction.
- release
Storage Boolean - Release all storage instances from management of the controller, without destroying them.
ControllerStoragePool, ControllerStoragePoolArgs
- Name string
- The name of the storage pool.
- Type string
- The storage pool type
- Attributes Dictionary<string, string>
- Additional storage pool attributes.
- Name string
- The name of the storage pool.
- Type string
- The storage pool type
- Attributes map[string]string
- Additional storage pool attributes.
- name String
- The name of the storage pool.
- type String
- The storage pool type
- attributes Map<String,String>
- Additional storage pool attributes.
- name string
- The name of the storage pool.
- type string
- The storage pool type
- attributes {[key: string]: string}
- Additional storage pool attributes.
- name str
- The name of the storage pool.
- type str
- The storage pool type
- attributes Mapping[str, str]
- Additional storage pool attributes.
- name String
- The name of the storage pool.
- type String
- The storage pool type
- attributes Map<String>
- Additional storage pool attributes.
Package Details
- Repository
- juju juju/terraform-provider-juju
- License
- Notes
- This Pulumi package is based on the
jujuTerraform Provider.
published on Tuesday, Mar 10, 2026 by juju
