6941313c7d
* factories refactor doc * Adds file schema and filesystem organization * Update 20231106-factories.md * move factories out of blueprints and create new factories README * align factory in billing-account module * align factory in dataplex-datascan module * align factory in billing-account module * align factory in net-firewall-policy module * align factory in dns-response-policy module * align factory in net-vpc-firewall module * align factory in net-vpc module * align factory variable names in FAST * remove decentralized firewall blueprint * bump terraform version * bump module versions * update top-level READMEs * move project factory to modules * fix variable names and tests * tfdoc * remove changelog link * add project factory to top-level README * fix cludrun eventarc diff * fix README * fix cludrun eventarc diff --------- Co-authored-by: Simone Ruffilli <sruffilli@google.com> |
||
---|---|---|
.. | ||
README.md | ||
main.tf | ||
outputs.tf | ||
variables.tf | ||
versions.tf |
README.md
Google Cloud Logging Buckets Module
This module manages logging buckets for a project, folder, organization or billing account.
Note that some logging buckets are automatically created for a given folder, project, organization, and billing account cannot be deleted. Creating a resource of this type will acquire and update the resource that already exists at the desired location. These buckets cannot be removed so deleting this resource will remove the bucket config from your terraform state but will leave the logging bucket unchanged. The buckets that are currently automatically created are "_Default" and "_Required".
See also the logging_sinks
argument within the project, folder and organization modules.
Examples
Create custom logging bucket in a project
module "bucket" {
source = "./fabric/modules/logging-bucket"
parent_type = "project"
parent = var.project_id
id = "mybucket"
}
# tftest modules=1 resources=1 inventory=project.yaml
Create custom logging bucket in a project enabling Log Analytics and dataset link
module "bucket" {
source = "./fabric/modules/logging-bucket"
parent_type = "project"
parent = var.project_id
id = "mybucket"
log_analytics = {
enable = true
dataset_link_id = "log"
}
}
# tftest modules=1 resources=2 inventory=log_analytics.yaml
Change retention period of a folder's _Default bucket
module "folder" {
source = "./fabric/modules/folder"
parent = "folders/657104291943"
name = "my folder"
}
module "bucket-default" {
source = "./fabric/modules/logging-bucket"
parent_type = "folder"
parent = module.folder.id
id = "_Default"
retention = 10
}
# tftest modules=2 resources=2 inventory=retention.yaml
Organization and billing account buckets
module "bucket-organization" {
source = "./fabric/modules/logging-bucket"
parent_type = "organization"
parent = "organizations/012345"
id = "mybucket"
}
module "bucket-billing-account" {
source = "./fabric/modules/logging-bucket"
parent_type = "billing_account"
parent = "012345"
id = "mybucket"
}
# tftest modules=2 resources=2 inventory=org-ba.yaml
Variables
name | description | type | required | default |
---|---|---|---|---|
id | Name of the logging bucket. | string |
✓ | |
parent | ID of the parentresource containing the bucket in the format 'project_id' 'folders/folder_id', 'organizations/organization_id' or 'billing_account_id'. | string |
✓ | |
parent_type | Parent object type for the bucket (project, folder, organization, billing_account). | string |
✓ | |
description | Human-readable description for the logging bucket. | string |
null |
|
kms_key_name | To enable CMEK for a project logging bucket, set this field to a valid name. The associated service account requires cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key. | string |
null |
|
location | Location of the bucket. | string |
"global" |
|
log_analytics | Enable and configure Analytics Log. | object({…}) |
{} |
|
retention | Retention time in days for the logging bucket. | number |
30 |
Outputs
name | description | sensitive |
---|---|---|
id | Fully qualified logging bucket id. |