1. Packages
  2. Juju Provider
  3. API Docs
  4. Cloud
juju 1.2.0 published on Monday, Jan 26, 2026 by juju
juju logo
juju 1.2.0 published on Monday, Jan 26, 2026 by juju

    A resource that represents a Juju Cloud for an existing controller.

    Create Cloud Resource

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

    Constructor syntax

    new Cloud(name: string, args: CloudArgs, opts?: CustomResourceOptions);
    @overload
    def Cloud(resource_name: str,
              args: CloudArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cloud(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              auth_types: Optional[Sequence[str]] = None,
              type: Optional[str] = None,
              ca_certificates: Optional[Sequence[str]] = None,
              endpoint: Optional[str] = None,
              identity_endpoint: Optional[str] = None,
              name: Optional[str] = None,
              regions: Optional[Sequence[CloudRegionArgs]] = None,
              storage_endpoint: Optional[str] = None)
    func NewCloud(ctx *Context, name string, args CloudArgs, opts ...ResourceOption) (*Cloud, error)
    public Cloud(string name, CloudArgs args, CustomResourceOptions? opts = null)
    public Cloud(String name, CloudArgs args)
    public Cloud(String name, CloudArgs args, CustomResourceOptions options)
    
    type: juju:Cloud
    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 CloudArgs
    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 CloudArgs
    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 CloudArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CloudArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CloudArgs
    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 cloudResource = new Juju.Cloud("cloudResource", new()
    {
        AuthTypes = new[]
        {
            "string",
        },
        Type = "string",
        CaCertificates = new[]
        {
            "string",
        },
        Endpoint = "string",
        IdentityEndpoint = "string",
        Name = "string",
        Regions = new[]
        {
            new Juju.Inputs.CloudRegionArgs
            {
                Name = "string",
                Endpoint = "string",
                IdentityEndpoint = "string",
                StorageEndpoint = "string",
            },
        },
        StorageEndpoint = "string",
    });
    
    example, err := juju.NewCloud(ctx, "cloudResource", &juju.CloudArgs{
    	AuthTypes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Type: pulumi.String("string"),
    	CaCertificates: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Endpoint:         pulumi.String("string"),
    	IdentityEndpoint: pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	Regions: juju.CloudRegionArray{
    		&juju.CloudRegionArgs{
    			Name:             pulumi.String("string"),
    			Endpoint:         pulumi.String("string"),
    			IdentityEndpoint: pulumi.String("string"),
    			StorageEndpoint:  pulumi.String("string"),
    		},
    	},
    	StorageEndpoint: pulumi.String("string"),
    })
    
    var cloudResource = new Cloud("cloudResource", CloudArgs.builder()
        .authTypes("string")
        .type("string")
        .caCertificates("string")
        .endpoint("string")
        .identityEndpoint("string")
        .name("string")
        .regions(CloudRegionArgs.builder()
            .name("string")
            .endpoint("string")
            .identityEndpoint("string")
            .storageEndpoint("string")
            .build())
        .storageEndpoint("string")
        .build());
    
    cloud_resource = juju.Cloud("cloudResource",
        auth_types=["string"],
        type="string",
        ca_certificates=["string"],
        endpoint="string",
        identity_endpoint="string",
        name="string",
        regions=[{
            "name": "string",
            "endpoint": "string",
            "identity_endpoint": "string",
            "storage_endpoint": "string",
        }],
        storage_endpoint="string")
    
    const cloudResource = new juju.Cloud("cloudResource", {
        authTypes: ["string"],
        type: "string",
        caCertificates: ["string"],
        endpoint: "string",
        identityEndpoint: "string",
        name: "string",
        regions: [{
            name: "string",
            endpoint: "string",
            identityEndpoint: "string",
            storageEndpoint: "string",
        }],
        storageEndpoint: "string",
    });
    
    type: juju:Cloud
    properties:
        authTypes:
            - string
        caCertificates:
            - string
        endpoint: string
        identityEndpoint: string
        name: string
        regions:
            - endpoint: string
              identityEndpoint: string
              name: string
              storageEndpoint: string
        storageEndpoint: string
        type: string
    

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

    AuthTypes List<string>
    List of supported authentication types by the cloud.
    Type string
    The type of the cloud.
    CaCertificates List<string>
    List of PEM-encoded X509 certificates for the cloud.
    Endpoint string
    Optional global endpoint for the cloud.
    IdentityEndpoint string
    Optional global identity endpoint for the cloud.
    Name string
    The name of the cloud in Juju.
    Regions List<CloudRegion>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    StorageEndpoint string
    Optional global storage endpoint for the cloud.
    AuthTypes []string
    List of supported authentication types by the cloud.
    Type string
    The type of the cloud.
    CaCertificates []string
    List of PEM-encoded X509 certificates for the cloud.
    Endpoint string
    Optional global endpoint for the cloud.
    IdentityEndpoint string
    Optional global identity endpoint for the cloud.
    Name string
    The name of the cloud in Juju.
    Regions []CloudRegionArgs
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    StorageEndpoint string
    Optional global storage endpoint for the cloud.
    authTypes List<String>
    List of supported authentication types by the cloud.
    type String
    The type of the cloud.
    caCertificates List<String>
    List of PEM-encoded X509 certificates for the cloud.
    endpoint String
    Optional global endpoint for the cloud.
    identityEndpoint String
    Optional global identity endpoint for the cloud.
    name String
    The name of the cloud in Juju.
    regions List<CloudRegion>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint String
    Optional global storage endpoint for the cloud.
    authTypes string[]
    List of supported authentication types by the cloud.
    type string
    The type of the cloud.
    caCertificates string[]
    List of PEM-encoded X509 certificates for the cloud.
    endpoint string
    Optional global endpoint for the cloud.
    identityEndpoint string
    Optional global identity endpoint for the cloud.
    name string
    The name of the cloud in Juju.
    regions CloudRegion[]
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint string
    Optional global storage endpoint for the cloud.
    auth_types Sequence[str]
    List of supported authentication types by the cloud.
    type str
    The type of the cloud.
    ca_certificates Sequence[str]
    List of PEM-encoded X509 certificates for the cloud.
    endpoint str
    Optional global endpoint for the cloud.
    identity_endpoint str
    Optional global identity endpoint for the cloud.
    name str
    The name of the cloud in Juju.
    regions Sequence[CloudRegionArgs]
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storage_endpoint str
    Optional global storage endpoint for the cloud.
    authTypes List<String>
    List of supported authentication types by the cloud.
    type String
    The type of the cloud.
    caCertificates List<String>
    List of PEM-encoded X509 certificates for the cloud.
    endpoint String
    Optional global endpoint for the cloud.
    identityEndpoint String
    Optional global identity endpoint for the cloud.
    name String
    The name of the cloud in Juju.
    regions List<Property Map>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint String
    Optional global storage endpoint for the cloud.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Cloud 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.

    Look up Existing Cloud Resource

    Get an existing Cloud 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?: CloudState, opts?: CustomResourceOptions): Cloud
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auth_types: Optional[Sequence[str]] = None,
            ca_certificates: Optional[Sequence[str]] = None,
            endpoint: Optional[str] = None,
            identity_endpoint: Optional[str] = None,
            name: Optional[str] = None,
            regions: Optional[Sequence[CloudRegionArgs]] = None,
            storage_endpoint: Optional[str] = None,
            type: Optional[str] = None) -> Cloud
    func GetCloud(ctx *Context, name string, id IDInput, state *CloudState, opts ...ResourceOption) (*Cloud, error)
    public static Cloud Get(string name, Input<string> id, CloudState? state, CustomResourceOptions? opts = null)
    public static Cloud get(String name, Output<String> id, CloudState state, CustomResourceOptions options)
    resources:  _:    type: juju:Cloud    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.
    The following state arguments are supported:
    AuthTypes List<string>
    List of supported authentication types by the cloud.
    CaCertificates List<string>
    List of PEM-encoded X509 certificates for the cloud.
    Endpoint string
    Optional global endpoint for the cloud.
    IdentityEndpoint string
    Optional global identity endpoint for the cloud.
    Name string
    The name of the cloud in Juju.
    Regions List<CloudRegion>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    StorageEndpoint string
    Optional global storage endpoint for the cloud.
    Type string
    The type of the cloud.
    AuthTypes []string
    List of supported authentication types by the cloud.
    CaCertificates []string
    List of PEM-encoded X509 certificates for the cloud.
    Endpoint string
    Optional global endpoint for the cloud.
    IdentityEndpoint string
    Optional global identity endpoint for the cloud.
    Name string
    The name of the cloud in Juju.
    Regions []CloudRegionArgs
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    StorageEndpoint string
    Optional global storage endpoint for the cloud.
    Type string
    The type of the cloud.
    authTypes List<String>
    List of supported authentication types by the cloud.
    caCertificates List<String>
    List of PEM-encoded X509 certificates for the cloud.
    endpoint String
    Optional global endpoint for the cloud.
    identityEndpoint String
    Optional global identity endpoint for the cloud.
    name String
    The name of the cloud in Juju.
    regions List<CloudRegion>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint String
    Optional global storage endpoint for the cloud.
    type String
    The type of the cloud.
    authTypes string[]
    List of supported authentication types by the cloud.
    caCertificates string[]
    List of PEM-encoded X509 certificates for the cloud.
    endpoint string
    Optional global endpoint for the cloud.
    identityEndpoint string
    Optional global identity endpoint for the cloud.
    name string
    The name of the cloud in Juju.
    regions CloudRegion[]
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint string
    Optional global storage endpoint for the cloud.
    type string
    The type of the cloud.
    auth_types Sequence[str]
    List of supported authentication types by the cloud.
    ca_certificates Sequence[str]
    List of PEM-encoded X509 certificates for the cloud.
    endpoint str
    Optional global endpoint for the cloud.
    identity_endpoint str
    Optional global identity endpoint for the cloud.
    name str
    The name of the cloud in Juju.
    regions Sequence[CloudRegionArgs]
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storage_endpoint str
    Optional global storage endpoint for the cloud.
    type str
    The type of the cloud.
    authTypes List<String>
    List of supported authentication types by the cloud.
    caCertificates List<String>
    List of PEM-encoded X509 certificates for the cloud.
    endpoint String
    Optional global endpoint for the cloud.
    identityEndpoint String
    Optional global identity endpoint for the cloud.
    name String
    The name of the cloud in Juju.
    regions List<Property Map>
    List of regions for the cloud. The first region in the list is the default region for the cloud.
    storageEndpoint String
    Optional global storage endpoint for the cloud.
    type String
    The type of the cloud.

    Supporting Types

    CloudRegion, CloudRegionArgs

    Name string
    Name of the region.
    Endpoint string
    Region-specific endpoint.
    IdentityEndpoint string
    Region-specific identity endpoint.
    StorageEndpoint string
    Region-specific storage endpoint.
    Name string
    Name of the region.
    Endpoint string
    Region-specific endpoint.
    IdentityEndpoint string
    Region-specific identity endpoint.
    StorageEndpoint string
    Region-specific storage endpoint.
    name String
    Name of the region.
    endpoint String
    Region-specific endpoint.
    identityEndpoint String
    Region-specific identity endpoint.
    storageEndpoint String
    Region-specific storage endpoint.
    name string
    Name of the region.
    endpoint string
    Region-specific endpoint.
    identityEndpoint string
    Region-specific identity endpoint.
    storageEndpoint string
    Region-specific storage endpoint.
    name str
    Name of the region.
    endpoint str
    Region-specific endpoint.
    identity_endpoint str
    Region-specific identity endpoint.
    storage_endpoint str
    Region-specific storage endpoint.
    name String
    Name of the region.
    endpoint String
    Region-specific endpoint.
    identityEndpoint String
    Region-specific identity endpoint.
    storageEndpoint String
    Region-specific storage endpoint.

    Package Details

    Repository
    juju juju/terraform-provider-juju
    License
    Notes
    This Pulumi package is based on the juju Terraform Provider.
    juju logo
    juju 1.2.0 published on Monday, Jan 26, 2026 by juju
      Meet Neo: Your AI Platform Teammate