1. Packages
  2. Heroku Provider
  3. API Docs
  4. app
  5. App
Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns

heroku.app.App

Explore with Pulumi AI

heroku logo
Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns

    Example Usage

    resource "heroku_app" "default" {
      name   = "my-cool-app"
      region = "us"
    
      config_vars = {
        FOOBAR = "baz"
      }
    
      buildpacks = [
        "heroku/go"
      ]
    }
    

    A Team

    A Heroku “team” was originally called an “organization”, and that is still the identifier used in this resource.

    resource "heroku_app" "default" {
      name   = "my-cool-app"
      region = "us"
    
      organization {
        name = "my-cool-team"
      }
    }
    

    Create App Resource

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

    Constructor syntax

    new App(name: string, args: AppArgs, opts?: CustomResourceOptions);
    @overload
    def App(resource_name: str,
            args: AppArgs,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def App(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            region: Optional[str] = None,
            acm: Optional[bool] = None,
            buildpacks: Optional[Sequence[str]] = None,
            config_vars: Optional[Mapping[str, str]] = None,
            internal_routing: Optional[bool] = None,
            name: Optional[str] = None,
            organization: Optional[AppOrganizationArgs] = None,
            sensitive_config_vars: Optional[Mapping[str, str]] = None,
            space: Optional[str] = None,
            stack: Optional[str] = None)
    func NewApp(ctx *Context, name string, args AppArgs, opts ...ResourceOption) (*App, error)
    public App(string name, AppArgs args, CustomResourceOptions? opts = null)
    public App(String name, AppArgs args)
    public App(String name, AppArgs args, CustomResourceOptions options)
    
    type: heroku:app:App
    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 AppArgs
    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 AppArgs
    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 AppArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AppArgs
    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 appResource = new Heroku.App.App("appResource", new()
    {
        Region = "string",
        Acm = false,
        Buildpacks = new[]
        {
            "string",
        },
        ConfigVars = 
        {
            { "string", "string" },
        },
        InternalRouting = false,
        Name = "string",
        Organization = new Heroku.App.Inputs.AppOrganizationArgs
        {
            Name = "string",
            Locked = false,
            Personal = false,
        },
        SensitiveConfigVars = 
        {
            { "string", "string" },
        },
        Space = "string",
        Stack = "string",
    });
    
    example, err := app.NewApp(ctx, "appResource", &app.AppArgs{
    	Region: pulumi.String("string"),
    	Acm:    pulumi.Bool(false),
    	Buildpacks: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ConfigVars: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	InternalRouting: pulumi.Bool(false),
    	Name:            pulumi.String("string"),
    	Organization: &app.AppOrganizationArgs{
    		Name:     pulumi.String("string"),
    		Locked:   pulumi.Bool(false),
    		Personal: pulumi.Bool(false),
    	},
    	SensitiveConfigVars: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Space: pulumi.String("string"),
    	Stack: pulumi.String("string"),
    })
    
    var appResource = new App("appResource", AppArgs.builder()
        .region("string")
        .acm(false)
        .buildpacks("string")
        .configVars(Map.of("string", "string"))
        .internalRouting(false)
        .name("string")
        .organization(AppOrganizationArgs.builder()
            .name("string")
            .locked(false)
            .personal(false)
            .build())
        .sensitiveConfigVars(Map.of("string", "string"))
        .space("string")
        .stack("string")
        .build());
    
    app_resource = heroku.app.App("appResource",
        region="string",
        acm=False,
        buildpacks=["string"],
        config_vars={
            "string": "string",
        },
        internal_routing=False,
        name="string",
        organization={
            "name": "string",
            "locked": False,
            "personal": False,
        },
        sensitive_config_vars={
            "string": "string",
        },
        space="string",
        stack="string")
    
    const appResource = new heroku.app.App("appResource", {
        region: "string",
        acm: false,
        buildpacks: ["string"],
        configVars: {
            string: "string",
        },
        internalRouting: false,
        name: "string",
        organization: {
            name: "string",
            locked: false,
            personal: false,
        },
        sensitiveConfigVars: {
            string: "string",
        },
        space: "string",
        stack: "string",
    });
    
    type: heroku:app:App
    properties:
        acm: false
        buildpacks:
            - string
        configVars:
            string: string
        internalRouting: false
        name: string
        organization:
            locked: false
            name: string
            personal: false
        region: string
        sensitiveConfigVars:
            string: string
        space: string
        stack: string
    

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

    Region string
    The region that the app should be deployed in.
    Acm bool
    The flag representing Automated Certificate Management for the app.
    Buildpacks List<string>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    ConfigVars Dictionary<string, string>
    InternalRouting bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    Name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    Organization Pulumiverse.Heroku.App.Inputs.AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    SensitiveConfigVars Dictionary<string, string>
    Space string
    The name of a private space to create the app in.
    Stack string
    The application stack is what platform to run the application in.
    Region string
    The region that the app should be deployed in.
    Acm bool
    The flag representing Automated Certificate Management for the app.
    Buildpacks []string
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    ConfigVars map[string]string
    InternalRouting bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    Name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    Organization AppOrganizationArgs
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    SensitiveConfigVars map[string]string
    Space string
    The name of a private space to create the app in.
    Stack string
    The application stack is what platform to run the application in.
    region String
    The region that the app should be deployed in.
    acm Boolean
    The flag representing Automated Certificate Management for the app.
    buildpacks List<String>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars Map<String,String>
    internalRouting Boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name String
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    sensitiveConfigVars Map<String,String>
    space String
    The name of a private space to create the app in.
    stack String
    The application stack is what platform to run the application in.
    region string
    The region that the app should be deployed in.
    acm boolean
    The flag representing Automated Certificate Management for the app.
    buildpacks string[]
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars {[key: string]: string}
    internalRouting boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    sensitiveConfigVars {[key: string]: string}
    space string
    The name of a private space to create the app in.
    stack string
    The application stack is what platform to run the application in.
    region str
    The region that the app should be deployed in.
    acm bool
    The flag representing Automated Certificate Management for the app.
    buildpacks Sequence[str]
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    config_vars Mapping[str, str]
    internal_routing bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name str
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganizationArgs
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    sensitive_config_vars Mapping[str, str]
    space str
    The name of a private space to create the app in.
    stack str
    The application stack is what platform to run the application in.
    region String
    The region that the app should be deployed in.
    acm Boolean
    The flag representing Automated Certificate Management for the app.
    buildpacks List<String>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars Map<String>
    internalRouting Boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name String
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization Property Map
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    sensitiveConfigVars Map<String>
    space String
    The name of a private space to create the app in.
    stack String
    The application stack is what platform to run the application in.

    Outputs

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

    AllConfigVars Dictionary<string, string>
    GitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    HerokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    Id string
    The provider-assigned unique ID for this managed resource.
    Uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    WebUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    AllConfigVars map[string]string
    GitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    HerokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    Id string
    The provider-assigned unique ID for this managed resource.
    Uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    WebUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    allConfigVars Map<String,String>
    gitUrl String
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname String
    A hostname for the Heroku application, suitable for pointing DNS records.
    id String
    The provider-assigned unique ID for this managed resource.
    uuid String
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl String
    The web (HTTP) URL that the application can be accessed at by default.
    allConfigVars {[key: string]: string}
    gitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    id string
    The provider-assigned unique ID for this managed resource.
    uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    all_config_vars Mapping[str, str]
    git_url str
    The Git URL for the application. This is used for deploying new versions of the app.
    heroku_hostname str
    A hostname for the Heroku application, suitable for pointing DNS records.
    id str
    The provider-assigned unique ID for this managed resource.
    uuid str
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    web_url str
    The web (HTTP) URL that the application can be accessed at by default.
    allConfigVars Map<String>
    gitUrl String
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname String
    A hostname for the Heroku application, suitable for pointing DNS records.
    id String
    The provider-assigned unique ID for this managed resource.
    uuid String
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl String
    The web (HTTP) URL that the application can be accessed at by default.

    Look up Existing App Resource

    Get an existing App 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?: AppState, opts?: CustomResourceOptions): App
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acm: Optional[bool] = None,
            all_config_vars: Optional[Mapping[str, str]] = None,
            buildpacks: Optional[Sequence[str]] = None,
            config_vars: Optional[Mapping[str, str]] = None,
            git_url: Optional[str] = None,
            heroku_hostname: Optional[str] = None,
            internal_routing: Optional[bool] = None,
            name: Optional[str] = None,
            organization: Optional[AppOrganizationArgs] = None,
            region: Optional[str] = None,
            sensitive_config_vars: Optional[Mapping[str, str]] = None,
            space: Optional[str] = None,
            stack: Optional[str] = None,
            uuid: Optional[str] = None,
            web_url: Optional[str] = None) -> App
    func GetApp(ctx *Context, name string, id IDInput, state *AppState, opts ...ResourceOption) (*App, error)
    public static App Get(string name, Input<string> id, AppState? state, CustomResourceOptions? opts = null)
    public static App get(String name, Output<String> id, AppState state, CustomResourceOptions options)
    resources:  _:    type: heroku:app:App    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:
    Acm bool
    The flag representing Automated Certificate Management for the app.
    AllConfigVars Dictionary<string, string>
    Buildpacks List<string>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    ConfigVars Dictionary<string, string>
    GitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    HerokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    InternalRouting bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    Name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    Organization Pulumiverse.Heroku.App.Inputs.AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    Region string
    The region that the app should be deployed in.
    SensitiveConfigVars Dictionary<string, string>
    Space string
    The name of a private space to create the app in.
    Stack string
    The application stack is what platform to run the application in.
    Uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    WebUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    Acm bool
    The flag representing Automated Certificate Management for the app.
    AllConfigVars map[string]string
    Buildpacks []string
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    ConfigVars map[string]string
    GitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    HerokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    InternalRouting bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    Name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    Organization AppOrganizationArgs
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    Region string
    The region that the app should be deployed in.
    SensitiveConfigVars map[string]string
    Space string
    The name of a private space to create the app in.
    Stack string
    The application stack is what platform to run the application in.
    Uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    WebUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    acm Boolean
    The flag representing Automated Certificate Management for the app.
    allConfigVars Map<String,String>
    buildpacks List<String>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars Map<String,String>
    gitUrl String
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname String
    A hostname for the Heroku application, suitable for pointing DNS records.
    internalRouting Boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name String
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    region String
    The region that the app should be deployed in.
    sensitiveConfigVars Map<String,String>
    space String
    The name of a private space to create the app in.
    stack String
    The application stack is what platform to run the application in.
    uuid String
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl String
    The web (HTTP) URL that the application can be accessed at by default.
    acm boolean
    The flag representing Automated Certificate Management for the app.
    allConfigVars {[key: string]: string}
    buildpacks string[]
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars {[key: string]: string}
    gitUrl string
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname string
    A hostname for the Heroku application, suitable for pointing DNS records.
    internalRouting boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name string
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganization
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    region string
    The region that the app should be deployed in.
    sensitiveConfigVars {[key: string]: string}
    space string
    The name of a private space to create the app in.
    stack string
    The application stack is what platform to run the application in.
    uuid string
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl string
    The web (HTTP) URL that the application can be accessed at by default.
    acm bool
    The flag representing Automated Certificate Management for the app.
    all_config_vars Mapping[str, str]
    buildpacks Sequence[str]
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    config_vars Mapping[str, str]
    git_url str
    The Git URL for the application. This is used for deploying new versions of the app.
    heroku_hostname str
    A hostname for the Heroku application, suitable for pointing DNS records.
    internal_routing bool
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name str
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization AppOrganizationArgs
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    region str
    The region that the app should be deployed in.
    sensitive_config_vars Mapping[str, str]
    space str
    The name of a private space to create the app in.
    stack str
    The application stack is what platform to run the application in.
    uuid str
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    web_url str
    The web (HTTP) URL that the application can be accessed at by default.
    acm Boolean
    The flag representing Automated Certificate Management for the app.
    allConfigVars Map<String>
    buildpacks List<String>
    Buildpack names or URLs for the application. Buildpacks configured externally won't be altered if this is not present.
    configVars Map<String>
    gitUrl String
    The Git URL for the application. This is used for deploying new versions of the app.
    herokuHostname String
    A hostname for the Heroku application, suitable for pointing DNS records.
    internalRouting Boolean
    If true, the application will be routable only internally in a private space. This option is only available for apps that also specify space.
    name String
    The name of the application. In Heroku, this is also the unique ID, so it must be unique and have a minimum of 3 characters.
    organization Property Map
    A block that can be specified once to define Heroku Team settings for this app. The fields for this block are documented below.
    region String
    The region that the app should be deployed in.
    sensitiveConfigVars Map<String>
    space String
    The name of a private space to create the app in.
    stack String
    The application stack is what platform to run the application in.
    uuid String
    The unique UUID of the Heroku app. NOTE: Use this for null_resource triggers.
    webUrl String
    The web (HTTP) URL that the application can be accessed at by default.

    Supporting Types

    AppOrganization, AppOrganizationArgs

    Name string
    The name of the Heroku Team.
    Locked bool
    Are other team members forbidden from joining this app.
    Personal bool
    Force creation of the app in the user account even if a default team is set.
    Name string
    The name of the Heroku Team.
    Locked bool
    Are other team members forbidden from joining this app.
    Personal bool
    Force creation of the app in the user account even if a default team is set.
    name String
    The name of the Heroku Team.
    locked Boolean
    Are other team members forbidden from joining this app.
    personal Boolean
    Force creation of the app in the user account even if a default team is set.
    name string
    The name of the Heroku Team.
    locked boolean
    Are other team members forbidden from joining this app.
    personal boolean
    Force creation of the app in the user account even if a default team is set.
    name str
    The name of the Heroku Team.
    locked bool
    Are other team members forbidden from joining this app.
    personal bool
    Force creation of the app in the user account even if a default team is set.
    name String
    The name of the Heroku Team.
    locked Boolean
    Are other team members forbidden from joining this app.
    personal Boolean
    Force creation of the app in the user account even if a default team is set.

    Import

    Apps can be imported using an existing app’s UUID or name.

    For example:

    $ pulumi import heroku:app/app:App foobar MyApp
    
    $ pulumi import heroku:app/app:App foobar e74ac056-7d00-4a7e-aa80-df4bc413a825
    

    Please note: config_vars & sensitive_config_vars will not be imported due to limitations of Terraform’s import process (see issue). All vars will appear to be added on the next plan/apply. The diff may be manually reconciled using the outputs of heroku config & pulumi preview.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    heroku pulumiverse/pulumi-heroku
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the heroku Terraform Provider.
    heroku logo
    Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns