{
  "name": "metabase",
  "version": "0.0.2",
  "meta": {
    "moduleFormat": "(.*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*",
        "Pulumi.Aws": "5.*",
        "Pulumi.Random": "4.*"
      }
    },
    "go": {
      "generateResourceContainerTypes": true,
      "importBasePath": "github.com/pulumi/pulumi-metabase/sdk/go/metabase"
    },
    "nodejs": {
      "dependencies": {
        "@pulumi/aws": "^5.0.0",
        "@pulumi/random": "^4.0.0"
      },
      "devDependencies": {
        "typescript": "^3.7.0"
      }
    },
    "python": {
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0",
        "pulumi-aws": ">=5.0.0,<6.0.0",
        "pulumi-random": ">=4.0.0,<5.0.0"
      }
    }
  },
  "config": {},
  "types": {
    "metabase:index:CustomDomain": {
      "description": "Options for setting a custom domain.",
      "properties": {
        "domainName": {
          "type": "string"
        },
        "hostedZoneName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "metabase:index:Networking": {
      "description": "The options for networking.",
      "properties": {
        "dbSubnetIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The subnets to use for the RDS instance."
        },
        "ecsSubnetIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The subnets to use for the Fargate task."
        },
        "lbSubnetIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The subnets to use for the load balancer."
        }
      },
      "type": "object"
    }
  },
  "provider": {
    "type": "object"
  },
  "resources": {
    "metabase:index:Metabase": {
      "description": "This resources provisions a container running Metabase on AWS ECS Fargate. By default\nthe resource will run the service in the AWS Account's Default VPC unless a VPC is defined. This\nresource will also deploy the `latest` version of Metabase unless a version is supplied.\n\nYou can provide specific subnets to host the Load Balancer, Database, and ECS Service, as well\nas provide a custom domain name for the service.\n\n{{% examples %}}\n## Example Usage\n\n{{% example %}}\n### Default\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as metabase from \"@pulumi/metabase\";\n\nconst metabaseService = new metabase.Metabase(\"metabaseService\", {});\nexport const url = metabaseService.dnsName;\n```\n\n```python\nimport pulumi\nimport pulumi_metabase as metabase\n\nmetabase_service = metabase.Metabase(\"metabaseService\")\npulumi.export(\"url\", metabase_service.dns_name)\n```\n\n```go\npackage main\n\nimport (\n  \"github.com/pulumi/pulumi-metabase/sdk/go/metabase\"\n  \"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n  pulumi.Run(func(ctx *pulumi.Context) error {\n    metabaseService, err := metabase.NewMetabase(ctx, \"metabaseService\", nil)\n    if err != nil {\n      return err\n    }\n    ctx.Export(\"url\", metabaseService.DnsName)\n    return nil\n  })\n}\n```\n\n```csharp\nusing Pulumi;\nusing Metabase = Pulumi.Metabase;\n\nclass MyStack : Stack\n{\n    public MyStack()\n    {\n        var metabaseService = new Metabase.Metabase(\"metabaseService\", new Metabase.MetabaseArgs\n        {\n        });\n        this.Url = metabaseService.DnsName;\n    }\n\n    [Output(\"url\")]\n    public Output<string> Url { get; set; }\n}\n```\n\n```yaml\nname: metabase-yaml\nruntime: yaml\nresources:\n    metabaseService:\n        type: \"metabase:index:Metabase\"\noutputs:\n    url: ${metabaseService.dnsName}\n```\n{{ /example }}\n\n{{% example %}}\n### Custom Domain & Networking\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as metabase from \"@pulumi/metabase\";\n\nconst metabaseService = new metabase.Metabase(\"metabaseService\", {\n    vpcId: \"vpc-123\",\n    networking: {\n        ecsSubnetIds: [\n            \"subnet-123\",\n            \"subnet-456\",\n        ],\n        dbSubnetIds: [\n            \"subnet-789\",\n            \"subnet-abc\",\n        ],\n        lbSubnetIds: [\n            \"subnet-def\",\n            \"subnet-ghi\",\n        ],\n    },\n    domain: {\n        hostedZoneName: \"example.com\",\n        domainName: \"metabase.example.com\",\n    },\n});\nexport const url = metabaseService.dnsName;\n```\n\n```python\nimport pulumi\nimport pulumi_metabase as metabase\n\nmetabase_service = metabase.Metabase(\"metabaseService\",\n    vpc_id=\"vpc-123\",\n    networking=metabase.NetworkingArgs(\n        ecs_subnet_ids=[\n            \"subnet-123\",\n            \"subnet-456\",\n        ],\n        db_subnet_ids=[\n            \"subnet-789\",\n            \"subnet-abc\",\n        ],\n        lb_subnet_ids=[\n            \"subnet-def\",\n            \"subnet-ghi\",\n        ],\n    ),\n    domain=metabase.CustomDomainArgs(\n        hosted_zone_name=\"example.com\",\n        domain_name=\"metabase.example.com\",\n    ))\npulumi.export(\"url\", metabase_service.dns_name)\n```\n\n```go\npackage main\n\nimport (\n  \"github.com/pulumi/pulumi-metabase/sdk/go/metabase\"\n  \"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n  pulumi.Run(func(ctx *pulumi.Context) error {\n    metabaseService, err := metabase.NewMetabase(ctx, \"metabaseService\", &metabase.MetabaseArgs{\n      VpcId: pulumi.String(\"vpc-123\"),\n      Networking: &metabase.NetworkingArgs{\n        EcsSubnetIds: pulumi.StringArray{\n          pulumi.String(\"subnet-123\"),\n          pulumi.String(\"subnet-456\"),\n        },\n        DbSubnetIds: pulumi.StringArray{\n          pulumi.String(\"subnet-789\"),\n          pulumi.String(\"subnet-abc\"),\n        },\n        LbSubnetIds: pulumi.StringArray{\n          pulumi.String(\"subnet-def\"),\n          pulumi.String(\"subnet-ghi\"),\n        },\n      },\n      Domain: &metabase.CustomDomainArgs{\n        HostedZoneName: pulumi.String(\"example.com\"),\n        DomainName:     pulumi.String(\"metabase.example.com\"),\n      },\n    })\n    if err != nil {\n      return err\n    }\n    ctx.Export(\"url\", metabaseService.DnsName)\n    return nil\n  })\n}\n```\n\n```csharp\nusing Pulumi;\nusing Metabase = Pulumi.Metabase;\n\nclass MyStack : Stack\n{\n    public MyStack()\n    {\n        var metabaseService = new Metabase.Metabase(\"metabaseService\", new Metabase.MetabaseArgs\n        {\n            VpcId = \"vpc-123\",\n            Networking = new Metabase.Inputs.NetworkingArgs\n            {\n                EcsSubnetIds =\n                {\n                    \"subnet-123\",\n                    \"subnet-456\",\n                },\n                DbSubnetIds =\n                {\n                    \"subnet-789\",\n                    \"subnet-abc\",\n                },\n                LbSubnetIds =\n                {\n                    \"subnet-def\",\n                    \"subnet-ghi\",\n                },\n            },\n            Domain = new Metabase.Inputs.CustomDomainArgs\n            {\n                HostedZoneName = \"example.com\",\n                DomainName = \"metabase.example.com\",\n            },\n        });\n        this.Url = metabaseService.DnsName;\n    }\n\n    [Output(\"url\")]\n    public Output<string> Url { get; set; }\n}\n```\n\n```yaml\nname: metabase-yaml\nruntime: yaml\nresources:\n    metabaseService:\n        type: \"metabase:index:Metabase\"\n        properties:\n            vpcId: \"vpc-123\"\n            networking:\n                ecsSubnetIds: [ \"subnet-123\", \"subnet-456\" ]\n                dbSubnetIds: [ \"subnet-789\", \"subnet-abc\" ]\n                lbSubnetIds: [ \"subnet-def\", \"subnet-ghi\" ]\n            domain:\n                hostedZoneName: \"example.com\"\n                domainName: \"metabase.example.com\"\noutputs:\n    url: ${metabaseService.dnsName}\n```\n{{ /example }}\n{{% examples %}}\n",
      "properties": {
        "dnsName": {
          "type": "string",
          "description": "The DNS name for the Metabase instance."
        },
        "securityGroupId": {
          "type": "string",
          "description": "The security group id for the Metabase instance."
        }
      },
      "type": "object",
      "required": [
        "dnsName",
        "securityGroupId"
      ],
      "inputProperties": {
        "domain": {
          "$ref": "#/types/metabase:index:CustomDomain",
          "description": "Optionally provide a hosted zone and domain name for the Metabase service."
        },
        "metabaseVersion": {
          "type": "string",
          "description": "The version of Metabase to run - used as a tag on the `metabase/metabase` Dockerhub image."
        },
        "networking": {
          "$ref": "#/types/metabase:index:Networking",
          "description": "Optionally provide specific subnet IDs to run the different resources of Metabase."
        },
        "vpcId": {
          "type": "string",
          "description": "The VPC to use for the Metabase service. If left blank then the default VPC will be used."
        }
      },
      "isComponent": true
    }
  }
}
