Add retention support for project-factory buckets (#3417)

* Added retention support for project-factory buckets

* Cleanup

* Added retention_policy to project.schema.md in PF stage

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
This commit is contained in:
kovagoadam
2025-10-17 12:30:20 +02:00
committed by GitHub
parent b581c49a31
commit 84a258e247
6 changed files with 49 additions and 0 deletions

View File

@@ -617,6 +617,21 @@
},
"versioning": {
"type": "boolean"
},
"retention_policy": {
"type": "object",
"additionalProperties": false,
"properties": {
"retention_period": {
"type": "number"
},
"is_locked": {
"type": "boolean"
}
}
},
"enable_object_retention": {
"type": "boolean"
}
}
},

View File

@@ -175,6 +175,11 @@
- **storage_class**: *string*
- **uniform_bucket_level_access**: *boolean*
- **versioning**: *boolean*
- **retention_policy**: *object*
<br>*additional properties: false*
- **retention_period**: *number*
- **is_locked**: *boolean*
- **enable_object_retention**: *boolean*
- **buckets**<a name="refs-buckets"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*

View File

@@ -172,6 +172,11 @@
- **storage_class**: *string*
- **uniform_bucket_level_access**: *boolean*
- **versioning**: *boolean*
- **retention_policy**: *object*
<br>*additional properties: false*
- **retention_period**: *number*
- **is_locked**: *boolean*
- **enable_object_retention**: *boolean*
- **buckets**<a name="refs-buckets"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*

View File

@@ -50,6 +50,8 @@ locals {
versioning = lookup(
opts, "versioning", false
)
retention_policy = lookup(opts, "retention_policy", null)
enable_object_retention = lookup(opts, "enable_object_retention", null)
}
]
])
@@ -89,4 +91,6 @@ module "buckets" {
storage_class = each.value.storage_class
uniform_bucket_level_access = each.value.uniform_bucket_level_access
versioning = each.value.versioning
retention_policy = each.value.retention_policy
enable_object_retention = each.value.enable_object_retention
}

View File

@@ -620,6 +620,21 @@
},
"versioning": {
"type": "boolean"
},
"retention_policy": {
"type": "object",
"additionalProperties": false,
"properties": {
"retention_period": {
"type": "number"
},
"is_locked": {
"type": "boolean"
}
}
},
"enable_object_retention": {
"type": "boolean"
}
}
},

View File

@@ -178,6 +178,11 @@
- **storage_class**: *string*
- **uniform_bucket_level_access**: *boolean*
- **versioning**: *boolean*
- **retention_policy**: *object*
<br>*additional properties: false*
- **retention_period**: *number*
- **is_locked**: *boolean*
- **enable_object_retention**: *boolean*
- **buckets**<a name="refs-buckets"></a>: *object*
<br>*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*