cloud-foundation-fabric/modules/logging-bucket
Ludovico Magnocavallo 789328ff5a
Bump provider versions to v5.0.0 (#1724)
* bump provider versions to 5.0.0

* fix cloud run, logging and vpc-sc

* Fix secret manager

* fix gke nodepool

* fix gke multitenant stage and blueprint

* Moving alloydb module to experimental.

* Add project to bare resources in examples

* tfdoc

* fix svpc blueprint test

* Revert "fix svpc blueprint test"

This reverts commit 14f02659098070136e64ead600580dd52c23c339.

* Fix GKE peering project

* Disable tests in alloydb module

* Bring back secret ids in secret manager tests

* Remove duplicate key

* last push

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2023-10-03 12:15:36 +00:00
..
README.md More module descriptions (#1572) 2023-08-06 09:25:45 +00:00
main.tf More module descriptions (#1572) 2023-08-06 09:25:45 +00:00
outputs.tf Ensure all modules have an `id` output (#1410) 2023-06-02 16:07:22 +02:00
variables.tf More module descriptions (#1572) 2023-08-06 09:25:45 +00:00
versions.tf Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00

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
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.