Pav*_*uri 4 terraform terraform-provider-azure
如何用变量替换 terraform 脚本的整个块?例如,
resource "azurerm_data_factory_trigger_schedule" "sfa-data-project-agg-pipeline-trigger" {
name = "aggregations_pipeline_trigger"
data_factory_id = var.data_factory_resource_id
pipeline_name = "my-pipeline"
frequency = var.frequency
schedule {
hours = [var.adf_pipeline_schedule_hour]
minutes = [var.adf_pipeline_schedule_minute]
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,如何schedule
使用 terraform 变量使整个块可配置?
我尝试过这个,但它不起作用。
schedule = var.schedule
Run Code Online (Sandbox Code Playgroud)
不,这是不可能的,因为时间表是一个带有参数的块,并且它本身不是一个参数。映射是聚合类型,并且它们由原始类型(例如,本例中的数字)组成。有关原始类型和聚合类型的更详细解释以及示例可以在 [1] (h/t: Matt Schuchard) 中找到。在这种情况下,我更喜欢这样做:
variable "schedule" {
type = object({
hours = number
minutes = number
})
description = "Variable to define the values for hours and minutes."
default = {
hours = 0
minutes = 0
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在资源中:
resource "azurerm_data_factory_trigger_schedule" "sfa-data-project-agg-pipeline-trigger" {
name = "aggregations_pipeline_trigger"
data_factory_id = var.data_factory_resource_id
pipeline_name = "my-pipeline"
frequency = var.frequency
schedule {
hours = [var.schedule.hours]
minutes = [var.schedule.minutes]
}
}
Run Code Online (Sandbox Code Playgroud)
[1] https://www.terraform.io/plugin/sdkv2/schemas/schema-types#typemap
归档时间: |
|
查看次数: |
1796 次 |
最近记录: |