1. Packages
  2. Metabase (AWS)
  3. API Docs
  4. Metabase
Metabase (AWS) v0.0.2 published on Thursday, Jul 21, 2022 by Pulumi

metabase.Metabase

Explore with Pulumi AI

metabase logo
Metabase (AWS) v0.0.2 published on Thursday, Jul 21, 2022 by Pulumi

    This resources provisions a container running Metabase on AWS ECS Fargate. By default the resource will run the service in the AWS Account’s Default VPC unless a VPC is defined. This resource will also deploy the latest version of Metabase unless a version is supplied.

    You can provide specific subnets to host the Load Balancer, Database, and ECS Service, as well as provide a custom domain name for the service.

    Example Usage

    Default

    using Pulumi;
    using Metabase = Pulumi.Metabase;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var metabaseService = new Metabase.Metabase("metabaseService", new Metabase.MetabaseArgs
            {
            });
            this.Url = metabaseService.DnsName;
        }
    
        [Output("url")]
        public Output<string> Url { get; set; }
    }
    
    package main
    
    import (
      "github.com/pulumi/pulumi-metabase/sdk/go/metabase"
      "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
      pulumi.Run(func(ctx *pulumi.Context) error {
        metabaseService, err := metabase.NewMetabase(ctx, "metabaseService", nil)
        if err != nil {
          return err
        }
        ctx.Export("url", metabaseService.DnsName)
        return nil
      })
    }
    

    Coming soon!

    import pulumi
    import pulumi_metabase as metabase
    
    metabase_service = metabase.Metabase("metabaseService")
    pulumi.export("url", metabase_service.dns_name)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as metabase from "@pulumi/metabase";
    
    const metabaseService = new metabase.Metabase("metabaseService", {});
    export const url = metabaseService.dnsName;
    
    name: metabase-yaml
    runtime: yaml
    resources:
        metabaseService:
            type: "metabase:index:Metabase"
    outputs:
        url: ${metabaseService.dnsName}
    

    Custom Domain & Networking

    using Pulumi;
    using Metabase = Pulumi.Metabase;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var metabaseService = new Metabase.Metabase("metabaseService", new Metabase.MetabaseArgs
            {
                VpcId = "vpc-123",
                Networking = new Metabase.Inputs.NetworkingArgs
                {
                    EcsSubnetIds =
                    {
                        "subnet-123",
                        "subnet-456",
                    },
                    DbSubnetIds =
                    {
                        "subnet-789",
                        "subnet-abc",
                    },
                    LbSubnetIds =
                    {
                        "subnet-def",
                        "subnet-ghi",
                    },
                },
                Domain = new Metabase.Inputs.CustomDomainArgs
                {
                    HostedZoneName = "example.com",
                    DomainName = "metabase.example.com",
                },
            });
            this.Url = metabaseService.DnsName;
        }
    
        [Output("url")]
        public Output<string> Url { get; set; }
    }
    
    package main
    
    import (
      "github.com/pulumi/pulumi-metabase/sdk/go/metabase"
      "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
      pulumi.Run(func(ctx *pulumi.Context) error {
        metabaseService, err := metabase.NewMetabase(ctx, "metabaseService", &metabase.MetabaseArgs{
          VpcId: pulumi.String("vpc-123"),
          Networking: &metabase.NetworkingArgs{
            EcsSubnetIds: pulumi.StringArray{
              pulumi.String("subnet-123"),
              pulumi.String("subnet-456"),
            },
            DbSubnetIds: pulumi.StringArray{
              pulumi.String("subnet-789"),
              pulumi.String("subnet-abc"),
            },
            LbSubnetIds: pulumi.StringArray{
              pulumi.String("subnet-def"),
              pulumi.String("subnet-ghi"),
            },
          },
          Domain: &metabase.CustomDomainArgs{
            HostedZoneName: pulumi.String("example.com"),
            DomainName:     pulumi.String("metabase.example.com"),
          },
        })
        if err != nil {
          return err
        }
        ctx.Export("url", metabaseService.DnsName)
        return nil
      })
    }
    

    Coming soon!

    import pulumi
    import pulumi_metabase as metabase
    
    metabase_service = metabase.Metabase("metabaseService",
        vpc_id="vpc-123",
        networking=metabase.NetworkingArgs(
            ecs_subnet_ids=[
                "subnet-123",
                "subnet-456",
            ],
            db_subnet_ids=[
                "subnet-789",
                "subnet-abc",
            ],
            lb_subnet_ids=[
                "subnet-def",
                "subnet-ghi",
            ],
        ),
        domain=metabase.CustomDomainArgs(
            hosted_zone_name="example.com",
            domain_name="metabase.example.com",
        ))
    pulumi.export("url", metabase_service.dns_name)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as metabase from "@pulumi/metabase";
    
    const metabaseService = new metabase.Metabase("metabaseService", {
        vpcId: "vpc-123",
        networking: {
            ecsSubnetIds: [
                "subnet-123",
                "subnet-456",
            ],
            dbSubnetIds: [
                "subnet-789",
                "subnet-abc",
            ],
            lbSubnetIds: [
                "subnet-def",
                "subnet-ghi",
            ],
        },
        domain: {
            hostedZoneName: "example.com",
            domainName: "metabase.example.com",
        },
    });
    export const url = metabaseService.dnsName;
    
    name: metabase-yaml
    runtime: yaml
    resources:
        metabaseService:
            type: "metabase:index:Metabase"
            properties:
                vpcId: "vpc-123"
                networking:
                    ecsSubnetIds: [ "subnet-123", "subnet-456" ]
                    dbSubnetIds: [ "subnet-789", "subnet-abc" ]
                    lbSubnetIds: [ "subnet-def", "subnet-ghi" ]
                domain:
                    hostedZoneName: "example.com"
                    domainName: "metabase.example.com"
    outputs:
        url: ${metabaseService.dnsName}
    

    Create Metabase Resource

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

    Constructor syntax

    new Metabase(name: string, args?: MetabaseArgs, opts?: CustomResourceOptions);
    @overload
    def Metabase(resource_name: str,
                 args: Optional[MetabaseArgs] = None,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Metabase(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 domain: Optional[CustomDomainArgs] = None,
                 metabase_version: Optional[str] = None,
                 networking: Optional[NetworkingArgs] = None,
                 vpc_id: Optional[str] = None)
    func NewMetabase(ctx *Context, name string, args *MetabaseArgs, opts ...ResourceOption) (*Metabase, error)
    public Metabase(string name, MetabaseArgs? args = null, CustomResourceOptions? opts = null)
    public Metabase(String name, MetabaseArgs args)
    public Metabase(String name, MetabaseArgs args, CustomResourceOptions options)
    
    type: metabase:Metabase
    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 MetabaseArgs
    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 MetabaseArgs
    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 MetabaseArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args MetabaseArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args MetabaseArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var metabaseResource = new Metabase.Metabase("metabaseResource", new()
    {
        Domain = new Metabase.Inputs.CustomDomainArgs
        {
            DomainName = "string",
            HostedZoneName = "string",
        },
        MetabaseVersion = "string",
        Networking = new Metabase.Inputs.NetworkingArgs
        {
            DbSubnetIds = new[]
            {
                "string",
            },
            EcsSubnetIds = new[]
            {
                "string",
            },
            LbSubnetIds = new[]
            {
                "string",
            },
        },
        VpcId = "string",
    });
    
    example, err := metabase.NewMetabase(ctx, "metabaseResource", &metabase.MetabaseArgs{
    	Domain: &metabase.CustomDomainArgs{
    		DomainName:     pulumi.String("string"),
    		HostedZoneName: pulumi.String("string"),
    	},
    	MetabaseVersion: pulumi.String("string"),
    	Networking: &metabase.NetworkingArgs{
    		DbSubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		EcsSubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		LbSubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	VpcId: pulumi.String("string"),
    })
    
    var metabaseResource = new Metabase("metabaseResource", MetabaseArgs.builder()        
        .domain(CustomDomainArgs.builder()
            .domainName("string")
            .hostedZoneName("string")
            .build())
        .metabaseVersion("string")
        .networking(NetworkingArgs.builder()
            .dbSubnetIds("string")
            .ecsSubnetIds("string")
            .lbSubnetIds("string")
            .build())
        .vpcId("string")
        .build());
    
    metabase_resource = metabase.Metabase("metabaseResource",
        domain=metabase.CustomDomainArgs(
            domain_name="string",
            hosted_zone_name="string",
        ),
        metabase_version="string",
        networking=metabase.NetworkingArgs(
            db_subnet_ids=["string"],
            ecs_subnet_ids=["string"],
            lb_subnet_ids=["string"],
        ),
        vpc_id="string")
    
    const metabaseResource = new metabase.Metabase("metabaseResource", {
        domain: {
            domainName: "string",
            hostedZoneName: "string",
        },
        metabaseVersion: "string",
        networking: {
            dbSubnetIds: ["string"],
            ecsSubnetIds: ["string"],
            lbSubnetIds: ["string"],
        },
        vpcId: "string",
    });
    
    type: metabase:Metabase
    properties:
        domain:
            domainName: string
            hostedZoneName: string
        metabaseVersion: string
        networking:
            dbSubnetIds:
                - string
            ecsSubnetIds:
                - string
            lbSubnetIds:
                - string
        vpcId: string
    

    Metabase Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Metabase resource accepts the following input properties:

    Domain CustomDomain
    Optionally provide a hosted zone and domain name for the Metabase service.
    MetabaseVersion string
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    Networking Networking
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    VpcId string
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.
    Domain CustomDomainArgs
    Optionally provide a hosted zone and domain name for the Metabase service.
    MetabaseVersion string
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    Networking NetworkingArgs
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    VpcId string
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.
    domain CustomDomain
    Optionally provide a hosted zone and domain name for the Metabase service.
    metabaseVersion String
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    networking Networking
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    vpcId String
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.
    domain CustomDomain
    Optionally provide a hosted zone and domain name for the Metabase service.
    metabaseVersion string
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    networking Networking
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    vpcId string
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.
    domain CustomDomainArgs
    Optionally provide a hosted zone and domain name for the Metabase service.
    metabase_version str
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    networking NetworkingArgs
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    vpc_id str
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.
    domain Property Map
    Optionally provide a hosted zone and domain name for the Metabase service.
    metabaseVersion String
    The version of Metabase to run - used as a tag on the metabase/metabase Dockerhub image.
    networking Property Map
    Optionally provide specific subnet IDs to run the different resources of Metabase.
    vpcId String
    The VPC to use for the Metabase service. If left blank then the default VPC will be used.

    Outputs

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

    DnsName string
    The DNS name for the Metabase instance.
    SecurityGroupId string
    The security group id for the Metabase instance.
    DnsName string
    The DNS name for the Metabase instance.
    SecurityGroupId string
    The security group id for the Metabase instance.
    dnsName String
    The DNS name for the Metabase instance.
    securityGroupId String
    The security group id for the Metabase instance.
    dnsName string
    The DNS name for the Metabase instance.
    securityGroupId string
    The security group id for the Metabase instance.
    dns_name str
    The DNS name for the Metabase instance.
    security_group_id str
    The security group id for the Metabase instance.
    dnsName String
    The DNS name for the Metabase instance.
    securityGroupId String
    The security group id for the Metabase instance.

    Supporting Types

    CustomDomain, CustomDomainArgs

    Networking, NetworkingArgs

    DbSubnetIds List<string>
    The subnets to use for the RDS instance.
    EcsSubnetIds List<string>
    The subnets to use for the Fargate task.
    LbSubnetIds List<string>
    The subnets to use for the load balancer.
    DbSubnetIds []string
    The subnets to use for the RDS instance.
    EcsSubnetIds []string
    The subnets to use for the Fargate task.
    LbSubnetIds []string
    The subnets to use for the load balancer.
    dbSubnetIds List<String>
    The subnets to use for the RDS instance.
    ecsSubnetIds List<String>
    The subnets to use for the Fargate task.
    lbSubnetIds List<String>
    The subnets to use for the load balancer.
    dbSubnetIds string[]
    The subnets to use for the RDS instance.
    ecsSubnetIds string[]
    The subnets to use for the Fargate task.
    lbSubnetIds string[]
    The subnets to use for the load balancer.
    db_subnet_ids Sequence[str]
    The subnets to use for the RDS instance.
    ecs_subnet_ids Sequence[str]
    The subnets to use for the Fargate task.
    lb_subnet_ids Sequence[str]
    The subnets to use for the load balancer.
    dbSubnetIds List<String>
    The subnets to use for the RDS instance.
    ecsSubnetIds List<String>
    The subnets to use for the Fargate task.
    lbSubnetIds List<String>
    The subnets to use for the load balancer.

    Package Details

    Repository
    metabase
    License
    metabase logo
    Metabase (AWS) v0.0.2 published on Thursday, Jul 21, 2022 by Pulumi