1. Packages
  2. Juju Provider
  3. API Docs
  4. Provider
juju 1.1.0-rc1 published on Monday, Dec 1, 2025 by juju
juju logo
juju 1.1.0-rc1 published on Monday, Dec 1, 2025 by juju

    The provider type for the juju package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

    Create Provider Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Provider(name: string, args?: ProviderArgs, opts?: CustomResourceOptions);
    @overload
    def Provider(resource_name: str,
                 args: Optional[ProviderArgs] = None,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Provider(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 ca_certificate: Optional[str] = None,
                 client_id: Optional[str] = None,
                 client_secret: Optional[str] = None,
                 controller_addresses: Optional[str] = None,
                 offering_controllers: Optional[Mapping[str, ProviderOfferingControllersArgs]] = None,
                 password: Optional[str] = None,
                 skip_failed_deletion: Optional[bool] = None,
                 username: Optional[str] = None)
    func NewProvider(ctx *Context, name string, args *ProviderArgs, opts ...ResourceOption) (*Provider, error)
    public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? opts = null)
    public Provider(String name, ProviderArgs args)
    public Provider(String name, ProviderArgs args, CustomResourceOptions options)
    
    type: pulumi:providers:juju
    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 ProviderArgs
    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 ProviderArgs
    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 ProviderArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProviderArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ProviderArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Provider 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 Provider resource accepts the following input properties:

    CaCertificate string
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    ClientId string
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    ClientSecret string
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    ControllerAddresses string
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    OfferingControllers Dictionary<string, ProviderOfferingControllersArgs>
    Additional controller details for cross-model integrations. The map key is the controller name.
    Password string
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    SkipFailedDeletion bool
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    Username string
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable
    CaCertificate string
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    ClientId string
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    ClientSecret string
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    ControllerAddresses string
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    OfferingControllers map[string]ProviderOfferingControllersArgs
    Additional controller details for cross-model integrations. The map key is the controller name.
    Password string
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    SkipFailedDeletion bool
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    Username string
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable
    caCertificate String
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    clientId String
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    clientSecret String
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    controllerAddresses String
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    offeringControllers Map<String,ProviderOfferingControllersArgs>
    Additional controller details for cross-model integrations. The map key is the controller name.
    password String
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    skipFailedDeletion Boolean
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    username String
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable
    caCertificate string
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    clientId string
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    clientSecret string
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    controllerAddresses string
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    offeringControllers {[key: string]: ProviderOfferingControllersArgs}
    Additional controller details for cross-model integrations. The map key is the controller name.
    password string
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    skipFailedDeletion boolean
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    username string
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable
    ca_certificate str
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    client_id str
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    client_secret str
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    controller_addresses str
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    offering_controllers Mapping[str, ProviderOfferingControllersArgs]
    Additional controller details for cross-model integrations. The map key is the controller name.
    password str
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    skip_failed_deletion bool
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    username str
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable
    caCertificate String
    If the controller was deployed with a self-signed certificate: This is the certificate to use for identification. This can also be set by the JUJU_CA_CERT environment variable
    clientId String
    If using JAAS: This is the client ID (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_ID environment variable
    clientSecret String
    If using JAAS: This is the client secret (OAuth2.0, created by the external identity provider) to be used. This can also be set by the JUJU_CLIENT_SECRET environment variable
    controllerAddresses String
    This is the controller addresses to connect to, defaults to localhost:17070, multiple addresses can be provided in this format: :,:,.... This can also be set by the JUJU_CONTROLLER_ADDRESSES environment variable.
    offeringControllers Map<Property Map>
    Additional controller details for cross-model integrations. The map key is the controller name.
    password String
    This is the password of the username to be used. This can also be set by the JUJU_PASSWORD environment variable
    skipFailedDeletion Boolean
    Whether to issue a warning instead of an error and continue if a resource deletion fails. This can also be set by the JUJU_SKIP_FAILED_DELETION environment variable. Defaults to false.
    username String
    This is the username registered with the controller to be used. This can also be set by the JUJU_USERNAME environment variable

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Provider resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Provider Resource Methods

    TerraformConfig Method

    This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.

    Using TerraformConfig

    terraformConfig(): Output<{[key: string]: any}>
    def terraform_config() -> Output[Provider.Terraform_configResult]
    func (r *Provider) TerraformConfig() (pulumi.MapOutput, error)
    public Output<ImmutableDictionary<string, object>> TerraformConfig()

    TerraformConfig Result

    Result Dictionary<string, object>
    Result map[string]interface{}
    result Map<String,Object>
    result {[key: string]: any}
    result Mapping[str, Any]
    result Map<Any>

    Supporting Types

    ProviderOfferingControllers, ProviderOfferingControllersArgs

    ControllerAddresses string
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    CaCertificate string
    CA certificate for the controller if using a self-signed certificate.
    ClientId string
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    ClientSecret string
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    Password string
    Password for the controller username.
    Username string
    Username registered with the controller.
    ControllerAddresses string
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    CaCertificate string
    CA certificate for the controller if using a self-signed certificate.
    ClientId string
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    ClientSecret string
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    Password string
    Password for the controller username.
    Username string
    Username registered with the controller.
    controllerAddresses String
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    caCertificate String
    CA certificate for the controller if using a self-signed certificate.
    clientId String
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    clientSecret String
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    password String
    Password for the controller username.
    username String
    Username registered with the controller.
    controllerAddresses string
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    caCertificate string
    CA certificate for the controller if using a self-signed certificate.
    clientId string
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    clientSecret string
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    password string
    Password for the controller username.
    username string
    Username registered with the controller.
    controller_addresses str
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    ca_certificate str
    CA certificate for the controller if using a self-signed certificate.
    client_id str
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    client_secret str
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    password str
    Password for the controller username.
    username str
    Username registered with the controller.
    controllerAddresses String
    Controller addresses to connect to. Multiple addresses can be provided in this format: :,:,....
    caCertificate String
    CA certificate for the controller if using a self-signed certificate.
    clientId String
    The client ID (OAuth2.0, created by the external identity provider) to be used.
    clientSecret String
    The client secret (OAuth2.0, created by the external identity provider) to be used.
    password String
    Password for the controller username.
    username String
    Username registered with the controller.

    Package Details

    Repository
    juju juju/terraform-provider-juju
    License
    Notes
    This Pulumi package is based on the juju Terraform Provider.
    juju logo
    juju 1.1.0-rc1 published on Monday, Dec 1, 2025 by juju
      Meet Neo: Your AI Platform Teammate