terraform-provider-google/website/docs/r/compute_backend_bucket.html.markdown
The Magician 5ea227f7a0 Add backend bucket signed URL key (for CDN) support (#3229)
Signed-off-by: Modular Magician <magic-modules@google.com>
2019-04-01 10:19:55 -07:00

5.0 KiB

layout page_title sidebar_current description
google Google: google_compute_backend_bucket docs-google-compute-backend-bucket Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing.

google_compute_backend_bucket

Backend buckets allow you to use Google Cloud Storage buckets with HTTP(S) load balancing.

An HTTP(S) load balancer can direct traffic to specified URLs to a backend bucket rather than a backend service. It can send requests for static content to a Cloud Storage bucket and requests for dynamic content a virtual machine instance.

To get more information about BackendBucket, see:

## Example Usage - Backend Bucket Basic
resource "google_compute_backend_bucket" "image_backend" {
  name        = "image-backend-bucket"
  description = "Contains beautiful images"
  bucket_name = "${google_storage_bucket.image_bucket.name}"
  enable_cdn  = true
}

resource "google_storage_bucket" "image_bucket" {
  name     = "image-store-bucket"
  location = "EU"
}

Argument Reference

The following arguments are supported:

  • bucket_name - (Required) Cloud Storage bucket name.

  • name - (Required) Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.


  • cdn_policy - (Optional) Cloud CDN configuration for this Backend Bucket. Structure is documented below.

  • description - (Optional) An optional textual description of the resource; provided by the client when the resource is created.

  • enable_cdn - (Optional) If true, enable Cloud CDN for this BackendBucket.

  • project - (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

The cdn_policy block supports:

  • signed_url_cache_max_age_sec - (Optional) Maximum number of seconds the response to a signed URL request will be considered fresh. Defaults to 1hr (3600s). After this time period, the response will be revalidated before being served. When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • creation_timestamp - Creation timestamp in RFC3339 text format.
  • self_link - The URI of the created resource.

Timeouts

This resource provides the following Timeouts configuration options:

  • create - Default is 4 minutes.
  • update - Default is 4 minutes.
  • delete - Default is 4 minutes.

Import

BackendBucket can be imported using any of these accepted formats:

$ terraform import google_compute_backend_bucket.default projects/{{project}}/global/backendBuckets/{{name}}
$ terraform import google_compute_backend_bucket.default {{project}}/{{name}}
$ terraform import google_compute_backend_bucket.default {{name}}

-> If you're importing a resource with beta features, make sure to include -provider=google-beta as an argument so that Terraform uses the correct provider to import your resource.