You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update app.md
Signed-off-by: Sandy Lai <[email protected]>
* Update app.md
Signed-off-by: Sandy Lai <[email protected]>
* Update app.md
Signed-off-by: Sandy Lai <[email protected]>
* Update build.md
Update for style, de-emphasize CNBs=Fir, add Optional to buildpacks text definition for CNBs, change mentions of slug where appropriate to artifact, add note that slug_id is only for apps with classic buildpacks.
Signed-off-by: Sandy Lai <[email protected]>
* Update build.md
fix typo
Signed-off-by: Sandy Lai <[email protected]>
* Plain english guidelines updates app.md
Signed-off-by: Sandy Lai <[email protected]>
* rephrase note as positive app.md
Signed-off-by: Sandy Lai <[email protected]>
* Update space.md to use plain technical English
Signed-off-by: Sandy Lai <[email protected]>
* Update space.md
Signed-off-by: Sandy Lai <[email protected]>
* Update pipeline.md to plain technical English, change slug to artifacts
Signed-off-by: Sandy Lai <[email protected]>
* Peer review terraform docs (#412)
* Peer review on app.md
Signed-off-by: Helen Cheng <[email protected]>
* Peer review for build.md
Signed-off-by: Helen Cheng <[email protected]>
* Peer review for pipeline.md
Signed-off-by: Helen Cheng <[email protected]>
* Peer review for space.md
Signed-off-by: Helen Cheng <[email protected]>
---------
Signed-off-by: Helen Cheng <[email protected]>
* Update app.md
Signed-off-by: Sandy Lai <[email protected]>
* Add revised telemetry_drain.md
Signed-off-by: Sandy Lai <[email protected]>
* Add reviewed pipeline_promotion.md
Signed-off-by: Sandy Lai <[email protected]>
* Delete docs/pipeline_promotion.md
Signed-off-by: Sandy Lai <[email protected]>
* Create pipeline_promotion.md
Signed-off-by: Sandy Lai <[email protected]>
* Add Cedar-only note to app_release.md
Signed-off-by: Sandy Lai <[email protected]>
* Update note about classic buildpacks app_release.md
Signed-off-by: Sandy Lai <[email protected]>
* Add classic buildpacks-only note to slug.md
Also conform to style guidelines
Signed-off-by: Sandy Lai <[email protected]>
* Add Cedar-only note to space_inbound_ruleset.md
Signed-off-by: Sandy Lai <[email protected]>
* Add Cedar-only note space_peering_connection_accepter.md
And changes to conform to style guidelines
Signed-off-by: Sandy Lai <[email protected]>
* Update pipeline.md
Signed-off-by: Sandy Lai <[email protected]>
* Add classic buildpack note to app.md
and changes to conform to style guidelines
Signed-off-by: Sandy Lai <[email protected]>
* Add Cedar-only note review_app_config.md
also changes to conform to style guidelines
Signed-off-by: Sandy Lai <[email protected]>
* Change slug to build artifacts in pipeline_coupling.md
Signed-off-by: Sandy Lai <[email protected]>
* Update CIDR attributes to say only for Cedar in space.md
Signed-off-by: Sandy Lai <[email protected]>
* Fix formatting docs/data-sources/app.md
Co-authored-by: Mars Hall <[email protected]>
Signed-off-by: Sandy Lai <[email protected]>
* Peer review for terraform docs (#414)
* Peer review pipeline_promotion.md
Signed-off-by: Helen Cheng <[email protected]>
* Update telemetry_drain.md
Signed-off-by: Helen Cheng <[email protected]>
* Correct note format pipeline_promotion.md
Signed-off-by: Sandy Lai <[email protected]>
---------
Signed-off-by: Helen Cheng <[email protected]>
Signed-off-by: Sandy Lai <[email protected]>
Co-authored-by: Sandy Lai <[email protected]>
* Fix note formatting app.md
Signed-off-by: Sandy Lai <[email protected]>
* Fix note formatting in build.md
Signed-off-by: Sandy Lai <[email protected]>
* Update space.md
Signed-off-by: Sandy Lai <[email protected]>
---------
Signed-off-by: Sandy Lai <[email protected]>
Signed-off-by: Helen Cheng <[email protected]>
Co-authored-by: Helen Cheng <[email protected]>
Co-authored-by: Mars Hall <[email protected]>
Copy file name to clipboardExpand all lines: docs/data-sources/app.md
+22-22Lines changed: 22 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,9 @@ description: |-
8
8
9
9
# Data Source: heroku_app
10
10
11
-
Use this data source to get information about a Heroku App.
11
+
Use this data source to get information about a Heroku app.
12
+
13
+
~> **NOTE:** This resource is only supported for apps that use [classic buildpacks](https://devcenter.heroku.com/articles/buildpacks#classic-buildpacks).
12
14
13
15
## Example Usage
14
16
@@ -23,50 +25,48 @@ data "heroku_app" "default" {
23
25
24
26
The following arguments are supported:
25
27
26
-
*`name` - (Required) The name of the application. In Heroku, this is also the
28
+
*`name`: (Required) The name of the application. In Heroku, it's a
27
29
unique ID, so it must be unique and have a minimum of 3 characters.
28
30
29
31
## Attributes Reference
30
32
31
33
The following attributes are exported:
32
34
33
-
*`id` - The unique UUID of the Heroku app.
35
+
*`id`: The unique UUID of the Heroku app.
34
36
35
-
*`name` - The name of the application. In Heroku, this is also the
37
+
*`name`: The name of the application. In Heroku, it's also the
36
38
unique ID.
37
39
38
-
*`stack` - The application stack is what platform to run the application
39
-
in.
40
+
*`stack`: The application [stack](https://devcenter.heroku.com/articles/stack) is what platform to run the application in.
40
41
41
-
*`buildpacks` - A list of buildpacks that this app uses.
42
+
*`buildpacks`: A list of buildpacks that this app uses.
42
43
43
-
*`space` - The private space in which the app runs. Not present if this is a commonruntime app.
44
+
*`space`: The [space](https://devcenter.heroku.com/articles/private-spaces)in which the app runs. Not present for [Common Runtime](https://devcenter.heroku.com/articles/dyno-runtime#common-runtime) apps.
44
45
45
-
*`region` - The region in which the app is deployed.
46
+
*`region`: The region in the app is deployed in.
46
47
47
-
*`git_url` - The Git URL for the application. This is used for
48
+
*`git_url`: The Git URL for the application, used for
48
49
deploying new versions of the app.
49
50
50
-
*`web_url` - The web (HTTP) URL that the application can be accessed
51
-
at by default.
51
+
*`web_url`: The web (HTTP) URL to access the application at by default.
52
52
53
-
*`heroku_hostname` - The hostname for the Heroku application, suitable
53
+
*`heroku_hostname`: The hostname for the Heroku application, suitable
54
54
for pointing DNS records.
55
55
56
-
*`last_release_id` - The last successful Release ID for the app. May be empty.
56
+
*`last_release_id`: The last successful Release ID for the app. May be empty.
57
57
58
-
*`last_slug_id` - The Slug ID from the last successful release. May be empty.
58
+
*`last_slug_id`: The slug ID from the last successful release. May be empty.
59
59
60
-
*`config_vars` - A map of all configuration variables for the app.
60
+
*`config_vars`: The map of all configuration variables for the app.
61
61
62
-
*`acm` - True if Heroku ACM is enabled for this app, false otherwise.
62
+
*`acm`: True if [Heroku Automated Certificate Management](https://devcenter.heroku.com/articles/automated-certificate-management) is enabled for this app, false otherwise.
63
63
64
-
*`organization` - The Heroku Team that owns this app.
64
+
*`organization`: The Heroku team that owns this app.
65
65
66
-
*`name` - The name of the Heroku Team (organization).
66
+
*`name`: The name of the Heroku team (organization).
Copy file name to clipboardExpand all lines: docs/resources/app.md
+68-71Lines changed: 68 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,23 +3,22 @@ layout: "heroku"
3
3
page_title: "Heroku: heroku_app"
4
4
sidebar_current: "docs-heroku-resource-app-x"
5
5
description: |-
6
-
Provides a Heroku App resource. This can be used to create and manage applications on Heroku.
6
+
Provides a Heroku App resource. Use this resource to create and manage applications on Heroku.
7
7
---
8
8
9
9
# heroku\_app
10
10
11
-
Provides a Heroku App resource. This can be used to create and manage applications on Heroku.
11
+
Provides a [Heroku App](https://devcenter.heroku.com/articles/platform-api-reference#app) resource. Use this resource to create and manage applications on Heroku.
12
12
13
-
The Heroku platform supports two generations:
14
-
-**Cedar** (default): Traditional platform with support for buildpacks, stack configuration, and internal routing
15
-
-**Fir**: Next-generation platform with Cloud Native Buildpacks (CNB), enhanced security, and modern containerization
13
+
The Heroku platform supports two [generations](https://devcenter.heroku.com/articles/generations):
14
+
-**Cedar** (default): Legacy platform with support for classic buildpacks, stack configuration, and internal routing
15
+
-**Fir**: Next-generation platform with enhanced security, and modern containerization
16
16
17
-
-> **Always reference apps by ID (UUID) in Terraform configuration**
18
-
Starting with v5.0 of this provider, all HCL app references are by ID. Read more details in [Upgrading](guides/upgrading.html).
17
+
-> **Note:** Always reference apps by ID (UUID) in Terraform configuration. Starting with v5.0 of this provider, all HCL app references are by ID. Read more details in [Upgrading](guides/upgrading.html).
19
18
20
19
## Example Usage
21
20
22
-
### Cedar Generation (Default)
21
+
### Cedar Generation Using Classic Buildpacks (Default)
*`name` - (Required) The name of the application. In Heroku, this is also the
89
-
unique ID, so it must be unique and have a minimum of 3 characters.
90
-
*`region` - (Required) The region that the app should be deployed in.
91
-
*`generation` - (Computed) Generation of the app platform. Automatically determined based on the space the app is deployed to. Apps in Fir generation spaces will be `fir`, all other apps will be `cedar`.
92
-
-`cedar`: Traditional platform supporting buildpacks, stack configuration, and internal routing
93
-
-`fir`: Next-generation platform with Cloud Native Buildpacks (CNB). Does not support `buildpacks`, `stack`, or `internal_routing` fields
94
-
*`stack` - (Optional) The application stack is what platform to run the application in. **Note**: Not supported for `fir` generation apps.
95
-
*`buildpacks` - (Optional) Buildpack names or URLs for the application.
96
-
Buildpacks configured externally won't be altered if this is not present. **Note**: Not supported for `fir` generation apps. Use project.toml for Cloud Native Buildpacks configuration instead.
97
-
*`config_vars`<sup>[1](#deleting-vars)</sup> - (Optional) Configuration variables for the application.
98
-
The config variables in this map are not the final set of configuration
99
-
variables, but rather variables you want present. That is, other
100
-
configuration variables set externally won't be removed by Terraform
85
+
The resource supports the following arguments:
86
+
87
+
*`name`: (Required) The name of the application. In Heroku, this argument is the unique ID, so it must be unique and have a minimum of 3 characters.
88
+
*`region`: (Required) The region to deploy the app in.
89
+
*`generation`: (Computed) Generation of the app platform. Automatically determined based on the space the app is deployed to. Apps in Fir-generation spaces are `fir`, all other apps are `cedar`.
-`fir`: Next-generation platform with Cloud Native Buildpacks (CNB). No support for `buildpacks`, `stack`, or `internal_routing` fields.
92
+
*`stack`: (Optional) The name of the [stack](https://devcenter.heroku.com/articles/stack) to run the application in. **Note**: Not supported for `fir` generation apps.
93
+
*`buildpacks`: (Optional) Classic buildpack names or URLs for the application.
94
+
Buildpacks configured externally won't be altered if this isn't present. **Note**: Not supported for apps using Cloud Native Buildpacks, like Fir-generation apps. Use `project.toml` for configuration instead.
95
+
*`config_vars`<sup>[1](#deleting-vars)</sup>: (Optional) Configuration variables for the application.
96
+
The config variables in this map aren't the final set of configuration
97
+
variables, but rather variables you want present. Terraform doesn't remove configuration variables set externally
101
98
if they aren't present in this list.
102
-
*`sensitive_config_vars`<sup>[1](#deleting-vars)</sup> - (Optional) This argument is the same as `config_vars`.
99
+
*`sensitive_config_vars`<sup>[1](#deleting-vars)</sup>: (Optional) This argument is the same as `config_vars`.
103
100
The main difference between the two is when `sensitive_config_vars` outputs
104
-
are displayed on-screen following a terraform apply or terraform refresh,
105
-
they are redacted, with <sensitive> displayed in place of their value.
106
-
It is recommended to put private keys, passwords, etc in this argument.
107
-
*`space` - (Optional) The name of a private space to create the app in.
108
-
*`internal_routing` - (Optional) If true, the application will be routable
109
-
only internally in a private space. This option is only available for apps
110
-
that also specify `space`. **Note**: Not supported for `fir`generation apps.
111
-
*`organization` - (Optional) A block that can be specified once to define
101
+
are displayed on-screen following a `terraform apply` or `terraform refresh`,
102
+
they're redacted, with `<sensitive>` displayed in place of their value.
103
+
It's recommended to put sensitive information like private keys, and passwords in this argument.
104
+
*`space`: (Optional) The name of the space to create the app in.
105
+
*`internal_routing` - (Optional) If true, the application is routable
106
+
only internally in Heroku Private Spaces. This option is only available for apps
107
+
that also specify `space`. **Note**: Only supported for apps in Cedar-generation spaces.
108
+
*`organization`: (Optional) Specify this block once to define
112
109
Heroku Team settings for this app. The fields for this block are
113
110
documented below.
114
-
*`acm` - (Optional) The flag representing Automated Certificate Management for the app.
111
+
*`acm`: (Optional) If Automated Certificate Management is enabled for the app.
115
112
116
113
The `organization` block supports:
117
-
*`name` (string) - The name of the Heroku Team.
118
-
*`locked` (boolean) - Are other team members forbidden from joining this app.
119
-
*`personal` (boolean) - Force creation of the app in the user account even if a default team is set.
114
+
*`name` (string): The name of the Heroku Team.
115
+
*`locked` (boolean): If other team members are forbidden from joining this app.
116
+
*`personal` (boolean): Force creation of the app in the user's account, even if a default team is set.
120
117
121
-
### Deleting vars
118
+
### Deleting Vars
122
119
123
120
Deleting an entire `config_vars` or `sensitive_config_vars` map from a `heroku_app`
124
-
configuration will not actually remove the vars on the remote resource. To remove an existing variable,
125
-
leave these attribute maps in-place and delete only its entries from the map. Once these attributes are
126
-
empty, the map itself may be deleted from the configuration. Otherwise if one deletes the map with existing
127
-
entries, the config vars will not be deleted from the remote resource.
121
+
configuration doesn't remove the variables on the remote resource. To remove an existing variable,
122
+
leave these attribute maps in-place and only delete its entries from the map. After these attributes are
123
+
empty, you can delete the map itself from the configuration. Otherwise, if you delete the map with existing
124
+
entries, the config vars don't get deleted from the remote resource.
128
125
129
-
This is especially important if you are migrating all `config_vars` to `sensitive_config_vars` or migrating
130
-
config vars to `heroku_app_config_association` resource.
126
+
If you're migrating all `config_vars` to `sensitive_config_vars`, or migrating
127
+
config vars to `heroku_app_config_association` resource, this behavior is especially important.
131
128
132
129
## Attributes Reference
133
130
134
131
The following attributes are exported:
135
132
136
-
*`id` - The ID (UUID) of the app.
137
-
*`name` - The name of the app.
138
-
*`generation` - Generation of the app platform (cedar or fir). Automatically determined from the space the app is deployed to.
139
-
*`stack` - The application stack is what platform to run the application in.
140
-
*`space` - The private space the app should run in.
141
-
*`internal_routing` - Whether internal routing is enabled the private space app.
142
-
*`region` - The region that the app should be deployed in.
143
-
*`git_url` - The Git URL for the application. This is used for
133
+
*`id`: The ID (UUID) of the app.
134
+
*`name`: The name of the app.
135
+
*`generation`: Generation of the app platform (`cedar` or `fir`). Automatically determined from the space the app is deployed to.
136
+
*`stack`: The name of the [stack](https://devcenter.heroku.com/articles/stack)the application is run in.
137
+
*`space`: The space the app is in.
138
+
*`internal_routing`: If internal routing is enabled. Only for apps in Heroku Private Spaces.
139
+
*`region`: The region that the app is deployed to.
140
+
*`git_url`: The Git URL for the application, used for
144
141
deploying new versions of the app.
145
-
*`web_url` - The web (HTTP) URL that the application can be accessed
146
-
at by default.
147
-
*`heroku_hostname` - A hostname for the Heroku application, suitable
142
+
*`web_url`: The web (HTTP) URL for accessing the application by default.
143
+
*`heroku_hostname`: The hostname for the Heroku application, suitable
148
144
for pointing DNS records.
149
-
*`all_config_vars` - A map of all configuration variables that
145
+
*`all_config_vars`: The map of all configuration variables that
150
146
exist for the app, containing both those set by Terraform and those
151
-
set externally. (These are treated as "sensitive" so that
152
-
their values are redacted in console output.) This attribute is not set in state if the `provider`
147
+
set externally. These variables are treated as "sensitive" so that
148
+
their values are redacted in console output. This attribute isn't set in state if the `provider`
153
149
attribute `set_app_all_config_vars_in_state` is `false`.
154
-
*`uuid` - The unique UUID of the Heroku app. **NOTE:** Use this for `null_resource` triggers.
150
+
*`uuid`: The unique UUID of the Heroku app. **Note:** Use this attribute for `null_resource` triggers.
155
151
156
-
## Cloud Native Buildpacks (Fir Generation)
152
+
## Cloud Native Buildpacks
157
153
158
-
When apps are deployed to Firgeneration spaces, they automatically use Cloud Native Buildpacks (CNB) instead of traditional Heroku buildpacks. This requires different configuration approaches:
154
+
When apps are deployed to Fir-generation spaces, they automatically use Cloud Native Buildpacks (CNB) instead of classic Heroku buildpacks. CNBs require different configuration approaches:
159
155
160
156
### project.toml Configuration
161
157
@@ -177,11 +173,11 @@ BP_NODE_VERSION = "18.*"
177
173
178
174
When migrating from Cedar to Fir generation:
179
175
180
-
1.**Create Fir space**: Create a new space with `generation = "fir"`
181
-
2.**Remove incompatible fields**: Remove `buildpacks`, `stack`, and `internal_routing` from your Terraform configuration
182
-
3.**Add project.toml**: Create a `project.toml` file in your application code with buildpack configuration
183
-
4.**Update app space**: Change your app's `space` to use the Fir space
184
-
5.**Redeploy**: Deploy your application with the new configuration
176
+
1.**Create a Fir space**: Create a new space with `generation = "fir"`.
177
+
2.**Remove unsupported fields**: Remove `buildpacks`, `stack`, and `internal_routing` from your Terraform configuration.
178
+
3.**Add a `project.toml` file**: Create a `project.toml` file in your application code with Cloud Native Buildpacks configuration.
179
+
4.**Update the `space`**: Change your app's `space` to use the Fir space.
180
+
5.**Redeploy**: Deploy your application with the new configuration.
Please note: `config_vars` & `sensitive_config_vars` will not be imported due to limitations of Terraform's import process (see [issue](https://github.com/heroku/terraform-provider-heroku/issues/247#issuecomment-602013774)). All vars will appear to be added on the next plan/apply. The diff may be manually reconciled using the outputs of `heroku config` & `terraform plan`.
227
+
>[!NOTE]
228
+
>`config_vars` & `sensitive_config_vars` aren't imported due to limitations of Terraform's import process (see [issue](https://github.com/heroku/terraform-provider-heroku/issues/247#issuecomment-602013774)). All vars appear to be added on the next plan/apply. Manually reconcile the diff using the outputs of `heroku config` & `terraform plan`.
Provides the ability to deploy a heroku release to an application
6
+
Provides the ability to deploy a Heroku release to an application
7
7
---
8
8
9
9
# heroku\_app\_release
10
10
11
11
Provides a [Heroku App Release](https://devcenter.heroku.com/articles/platform-api-reference#release)
12
12
resource.
13
13
14
-
An app release represents a combination of code, config vars and add-ons for an app on Heroku.
14
+
An app release represents a combination of code, config vars and add-ons for an app on Heroku.
15
15
16
-
~> **NOTE:**
17
-
This resource requires the slug be uploaded to Heroku using [`heroku_slug`](slug.html)
18
-
or with external tooling prior to running terraform.
16
+
~> **NOTE:** To use this resource, you must have uploaded a slug to Heroku using [`heroku_slug`](slug.html)
17
+
or with external tooling prior to running Terraform.
18
+
19
+
~> **NOTE:** This resource is only supported for apps that use [classic buildpacks](https://devcenter.heroku.com/articles/buildpacks#classic-buildpacks).
0 commit comments