A Channel
represents a stream of releases for a site. All sites have a default
live
channel that serves content to the Firebase-provided subdomains and any
connected custom domains.
To get more information about Channel, see:
resource "google_firebase_hosting_site" "default" {
provider = google-beta
project = "my-project-name"
site_id = "site-with-channel"
}
resource "google_firebase_hosting_channel" "default" {
provider = google-beta
site_id = google_firebase_hosting_site.default.site_id
channel_id = "channel-basic"
}
resource "google_firebase_hosting_site" "default" {
provider = google-beta
project = "my-project-name"
site_id = "site-with-channel"
}
resource "google_firebase_hosting_channel" "full" {
provider = google-beta
site_id = google_firebase_hosting_site.default.site_id
channel_id = "channel-full"
ttl = "86400s"
retained_release_count = 20
labels = {
"some-key": "some-value"
}
}
The following arguments are supported:
site_id
-
(Required)
Required. The ID of the site in which to create this channel.
channel_id
-
(Required)
Required. Immutable. A unique ID within the site that identifies the channel.
retained_release_count
-
(Optional)
The number of previous releases to retain on the channel for rollback or other
purposes. Must be a number between 1-100. Defaults to 10 for new channels.
labels
-
(Optional)
Text labels used for extra metadata and/or filtering
Note: This field is non-authoritative, and will only manage the labels present in your configuration.
Please refer to the field effective_labels
for all of the labels present on the resource.
expire_time
-
(Optional)
The time at which the channel will be automatically deleted. If null, the channel
will not be automatically deleted. This field is present in the output whether it's
set directly or via the ttl
field.
ttl
-
(Optional)
Input only. A time-to-live for this channel. Sets expire_time
to the provided
duration past the time of the request. A duration in seconds with up to nine fractional
digits, terminated by 's'. Example: "86400s" (one day).
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format sites/{{site_id}}/channels/{{channel_id}}
name
-
The fully-qualified resource name for the channel, in the format:
sites/SITE_ID/channels/CHANNEL_ID
terraform_labels
-
The combination of labels configured directly on the resource
and default labels configured on the provider.
effective_labels
-
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Terraform, other clients and services.
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Channel can be imported using any of these accepted formats:
sites/{{site_id}}/channels/{{channel_id}}
{{site_id}}/{{channel_id}}
In Terraform v1.5.0 and later, use an import
block to import Channel using one of the formats above. For example:
import {
id = "sites/{{site_id}}/channels/{{channel_id}}"
to = google_firebase_hosting_channel.default
}
When using the terraform import
command, Channel can be imported using one of the formats above. For example:
$ terraform import google_firebase_hosting_channel.default sites/{{site_id}}/channels/{{channel_id}}
$ terraform import google_firebase_hosting_channel.default {{site_id}}/{{channel_id}}