Add asset_feeds to resman modules (#3658)
* Add asset_feeds to resman modules * Add examples and update readmes * Extend pubsub_topic context to project and folder modules * Use pubsub_topic context for pubsub_destination * Update readmes and add project-factory asset_feed example * Update context tests * Update schemas
This commit is contained in:
@@ -14,6 +14,40 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
variable "asset_feeds" {
|
||||
description = "Cloud Asset Inventory feeds."
|
||||
type = map(object({
|
||||
billing_project = string
|
||||
content_type = optional(string)
|
||||
asset_types = optional(list(string))
|
||||
asset_names = optional(list(string))
|
||||
feed_output_config = object({
|
||||
pubsub_destination = object({
|
||||
topic = string
|
||||
})
|
||||
})
|
||||
condition = optional(object({
|
||||
expression = string
|
||||
title = optional(string)
|
||||
description = optional(string)
|
||||
location = optional(string)
|
||||
}))
|
||||
}))
|
||||
default = {}
|
||||
nullable = false
|
||||
validation {
|
||||
condition = alltrue([
|
||||
for k, v in var.asset_feeds :
|
||||
v.content_type == null || contains(
|
||||
["RESOURCE", "IAM_POLICY", "ORG_POLICY", "ACCESS_POLICY", "OS_INVENTORY", "RELATIONSHIP"],
|
||||
v.content_type
|
||||
)
|
||||
])
|
||||
error_message = "Content type must be one of RESOURCE, IAM_POLICY, ORG_POLICY, ACCESS_POLICY, OS_INVENTORY, RELATIONSHIP."
|
||||
}
|
||||
}
|
||||
|
||||
variable "contacts" {
|
||||
description = "List of essential contacts for this resource. Must be in the form EMAIL -> [NOTIFICATION_TYPES]. Valid notification types are ALL, SUSPENSION, SECURITY, TECHNICAL, BILLING, LEGAL, PRODUCT_UPDATES."
|
||||
type = map(list(string))
|
||||
|
||||
Reference in New Issue
Block a user