| --- |
| subcategory: "Runtime Configurator" |
| description: |- |
| Manages a RuntimeConfig variable in Google Cloud. |
| --- |
| |
| # google\_runtimeconfig\_variable |
| |
| Manages a RuntimeConfig variable in Google Cloud. For more information, see the |
| [official documentation](https://cloud.google.com/deployment-manager/runtime-configurator/), |
| or the |
| [JSON API](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/). |
| |
| ~> **Warning:** This resource is in beta, and should be used with the terraform-provider-google-beta provider. |
| See [Provider Versions](https://terraform.io/docs/providers/google/guides/provider_versions.html) for more details on beta resources. |
| |
| ## Example Usage |
| |
| Example creating a RuntimeConfig variable. |
| |
| ```hcl |
| resource "google_runtimeconfig_config" "my-runtime-config" { |
| name = "my-service-runtime-config" |
| description = "Runtime configuration values for my service" |
| } |
| |
| resource "google_runtimeconfig_variable" "environment" { |
| parent = google_runtimeconfig_config.my-runtime-config.name |
| name = "prod-variables/hostname" |
| text = "example.com" |
| } |
| ``` |
| |
| You can also encode binary content using the `value` argument instead. The |
| value must be base64 encoded. |
| |
| Example of using the `value` argument. |
| |
| ```hcl |
| resource "google_runtimeconfig_config" "my-runtime-config" { |
| name = "my-service-runtime-config" |
| description = "Runtime configuration values for my service" |
| } |
| |
| resource "google_runtimeconfig_variable" "my-secret" { |
| parent = google_runtimeconfig_config.my-runtime-config.name |
| name = "secret" |
| value = filebase64("my-encrypted-secret.dat") |
| } |
| ``` |
| |
| ## Argument Reference |
| |
| The following arguments are supported: |
| |
| * `name` - (Required) The name of the variable to manage. Note that variable |
| names can be hierarchical using slashes (e.g. "prod-variables/hostname"). |
| |
| * `parent` - (Required) The name of the RuntimeConfig resource containing this |
| variable. |
| |
| * `text` or `value` - (Required) The content to associate with the variable. |
| Exactly one of `text` or `variable` must be specified. If `text` is specified, |
| it must be a valid UTF-8 string and less than 4096 bytes in length. If `value` |
| is specified, it must be base64 encoded and less than 4096 bytes in length. |
| |
| - - - |
| |
| * `project` - (Optional) The ID of the project in which the resource belongs. If it |
| is not provided, the provider project is used. |
| |
| ## Attributes Reference |
| |
| In addition to the arguments listed above, the following computed attributes are |
| exported: |
| |
| * `id` - an identifier for the resource with format `projects/{{project}}/configs/{{config}}/variables/{{name}}` |
| |
| * `update_time` - (Computed) The timestamp in RFC3339 UTC "Zulu" format, |
| accurate to nanoseconds, representing when the variable was last updated. |
| Example: "2016-10-09T12:33:37.578138407Z". |
| |
| ## Import |
| |
| Runtime Config Variables can be imported using the `name` or full variable name, e.g. |
| |
| * `projects/my-gcp-project/configs/{{config_id}}/variables/{{name}}` |
| * `{{config_id}}/{{name}}` |
| |
| In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Runtime Config Variables using one of the formats above. For example: |
| |
| ```tf |
| import { |
| id = "projects/my-gcp-project/configs/{{config_id}}/variables/{{name}}" |
| to = google_runtimeconfig_variable.default |
| } |
| ``` |
| |
| When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Runtime Config Variables can be imported using one of the formats above. For example: |
| |
| ``` |
| $ terraform import google_runtimeconfig_variable.default projects/my-gcp-project/configs/{{config_id}}/variables/{{name}} |
| $ terraform import google_runtimeconfig_variable.default {{config_id}}/{{name}} |
| ``` |
| When importing using only the name, the provider project must be set. |