Manages a billing account level logging bucket config. For more information see the official logging documentation and Storing Logs.
data "google_billing_account" "default" {
billing_account = "00AA00-000AAA-00AA0A"
}
resource "google_logging_billing_account_bucket_config" "basic" {
billing_account = data.google_billing_account.default.billing_account
location = "global"
retention_days = 30
bucket_id = "_Default"
}
Create logging bucket with index configs
resource "google_logging_billing_account_bucket_config" "example-billing-account-bucket-index-configs" {
folder = data.google_billing_account.default.billing_account
location = "global"
retention_days = 30
bucket_id = "_Default"
index_configs = {
file_path = "jsonPayload.request.status"
type = "INDEX_TYPE_STRING"
}
}
The following arguments are supported:
billing_account
- (Required) The parent resource that contains the logging bucket.
location
- (Required) The location of the bucket.
bucket_id
- (Required) The name of the logging bucket. Logging automatically creates two log buckets: _Required
and _Default
.
description
- (Optional) Describes this bucket.
retention_days
- (Optional) Logs will be retained by default for this amount of time, after which they will automatically be deleted. The minimum retention period is 1 day. If this value is set to zero at bucket creation time, the default time of 30 days will be used. Bucket retention can not be increased on buckets outside of projects.
index_configs
- (Optional) A list of indexed fields and related configuration data. Structure is documented below.
The index_configs
block supports:
field_path
- The LogEntry field path to index.
Note that some paths are automatically indexed, and other paths are not eligible for indexing. See indexing documentation for details.
type
- The type of data in this index. Allowed types include INDEX_TYPE_UNSPECIFIED
, INDEX_TYPE_STRING
and INDEX_TYPE_INTEGER
.
In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/locations/{{location}}/buckets/{{bucket}}
name
- The resource name of the bucket. For example: "projects/my-project-id/locations/my-location/buckets/my-bucket-id"
lifecycle_state
- The bucket's lifecycle such as active or deleted. See LifecycleState.
This resource can be imported using the following format:
billingAccounts/{{billingAccount}}/locations/{{location}}/buckets/{{bucket_id}}
In Terraform v1.5.0 and later, use an import
block to import this resource using one of the formats above. For example:
import {
id = "billingAccounts/{{billingAccount}}/locations/{{location}}/buckets/{{bucket_id}}"
to = google_logging_billing_account_bucket_config.default
}
When using the terraform import
command, this resource can be imported using one of the formats above. For example:
$ terraform import google_logging_billing_account_bucket_config.default billingAccounts/{{billingAccount}}/locations/{{location}}/buckets/{{bucket_id}}