google_network_services_edge_cache_origin

EdgeCacheOrigin represents a HTTP-reachable backend for an EdgeCacheService.

To get more information about EdgeCacheOrigin, see:

Open in Cloud Shell

Example Usage - Network Services Edge Cache Origin Basic

resource "google_network_services_edge_cache_origin" "default" {
  name                 = "my-origin"
  origin_address       = "gs://media-edge-default"
  description          = "The default bucket for media edge test"
}
Open in Cloud Shell

Example Usage - Network Services Edge Cache Origin Advanced

resource "google_network_services_edge_cache_origin" "fallback" {
  name                 = "my-fallback"
  origin_address       = "fallback.example.com"
  description          = "The default bucket for media edge test"
  max_attempts         = 3
  protocol = "HTTP"
  port = 80

  retry_conditions = [
    "CONNECT_FAILURE",
    "NOT_FOUND",
    "HTTP_5XX",
    "FORBIDDEN",
  ]
  timeout {
    connect_timeout = "10s"
    max_attempts_timeout = "20s"
    response_timeout = "60s"
    read_timeout = "5s"
  }
  origin_override_action {
    url_rewrite {
      host_rewrite = "example.com"
    }
    header_action {
      request_headers_to_add {
        header_name = "x-header"
    header_value = "value"
    replace = true
      }
    }
  }
  origin_redirect {
    redirect_conditions = [
      "MOVED_PERMANENTLY",
      "FOUND",
      "SEE_OTHER",
      "TEMPORARY_REDIRECT",
      "PERMANENT_REDIRECT",
    ]
  }
}

resource "google_network_services_edge_cache_origin" "default" {
  name                 = "my-origin"
  origin_address       = "gs://media-edge-default"
  failover_origin      = google_network_services_edge_cache_origin.fallback.id
  description          = "The default bucket for media edge test"
  max_attempts         = 2
  labels = {
    a = "b"
  }

  timeout {
    connect_timeout = "10s"
  }
}
Open in Cloud Shell

Example Usage - Network Services Edge Cache Origin V4auth

resource "google_secret_manager_secret" "secret-basic" {
  secret_id = "secret-name"

  replication {
    auto {}
  }
}

resource "google_secret_manager_secret_version" "secret-version-basic" {
  secret = google_secret_manager_secret.secret-basic.id

  secret_data = "secret-data"
}

resource "google_network_services_edge_cache_origin" "default" {
  name           = "my-origin"
  origin_address = "gs://media-edge-default"
  description    = "The default bucket for V4 authentication"
  aws_v4_authentication {
    access_key_id             = "ACCESSKEYID"
    secret_access_key_version = google_secret_manager_secret_version.secret-version-basic.id
    origin_region             = "auto"
  }
}

Argument Reference

The following arguments are supported:


The timeout block supports:

The aws_v4_authentication block supports:

The origin_override_action block supports:

The url_rewrite block supports:

The header_action block supports:

The request_headers_to_add block supports:

The origin_redirect block supports:

Attributes Reference

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

Timeouts

This resource provides the following Timeouts configuration options:

Import

EdgeCacheOrigin can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import EdgeCacheOrigin using one of the formats above. For example:

import {
  id = "projects/{{project}}/locations/global/edgeCacheOrigins/{{name}}"
  to = google_network_services_edge_cache_origin.default
}

When using the terraform import command, EdgeCacheOrigin can be imported using one of the formats above. For example:

$ terraform import google_network_services_edge_cache_origin.default projects/{{project}}/locations/global/edgeCacheOrigins/{{name}}
$ terraform import google_network_services_edge_cache_origin.default {{project}}/{{name}}
$ terraform import google_network_services_edge_cache_origin.default {{name}}

User Project Overrides

This resource supports User Project Overrides.