如何使用Terraform Azure CAF部署Windows VM?

如何使用Terraform Azure CAF部署Windows VM?,azure,terraform,terraform-provider-azure,azure-rm,Azure,Terraform,Terraform Provider Azure,Azure Rm,我想使用Terraform部署带有Azure云采用框架(CAF)的Windows虚拟机,所有的配置都完成了。但是我找不到正确的地形代码来部署这个tfvars配置 windows虚拟机模块是 到目前为止,我已经编写了以下代码: module "caf_virtual_machine" { source = "aztfmod/caf/azurerm//modules/compute/virtual_machine" version = "5

我想使用Terraform部署带有Azure云采用框架(CAF)的Windows虚拟机,所有的配置都完成了。但是我找不到正确的地形代码来部署这个tfvars配置

windows虚拟机模块是

到目前为止,我已经编写了以下代码:

module "caf_virtual_machine" {
  source  = "aztfmod/caf/azurerm//modules/compute/virtual_machine"
  version = "5.0.0"
  # belows are the 7 required variables 

  base_tags = var.tags
  client_config = 
  global_settings = var.global_settings
  location = var.location
  resource_group_name = var.resource_group_name
  settings = 
  vnets =  var.vnets  
}
因此,
vnets、global\u settings、resource\u group\u name
变量已经存在于configuration.tfvars中。我已将
标记
位置
变量添加到configuration.tfvars中


但是我应该在
设置
客户端配置
变量中输入什么?

虚拟机是一个私有模块。您应该通过调用基本CAF模块来使用它

terraform注册表自述文件解释了如何利用核心CAF模块-

示例的源代码:

您有一个配置文件库示例,展示了如何部署虚拟机


注意-建议利用源存储库中提供的VScode devcontainer来执行terraform部署。devcontainer包含部署Azure解决方案所需的工具。

您是否只想部署一个windows VM引用文件“terraform azurerm caf/modules/compute/virtual_machine/VM_windows.tf”?@NancyXiong是的,这是正确的。我一直在这里的示例中使用configurations.tfvars:Ok。让我更新公共回购协议,并与您共享链接here@MoonHorse我已经更新了回复。如果有帮助,请告诉我
   module "caf" {
    source  = "aztfmod/caf/azurerm"
    version = "5.0.0"
    
    global_settings    = var.global_settings
    tags               = var.tags
    resource_groups    = var.resource_groups
    storage_accounts   = var.storage_accounts
    keyvaults          = var.keyvaults
    managed_identities = var.managed_identities
    role_mapping       = var.role_mapping
    
    diagnostics = {
      # Get the diagnostics settings of services to create
      diagnostic_log_analytics    = var.diagnostic_log_analytics
      diagnostic_storage_accounts = var.diagnostic_storage_accounts
    }
    
    compute = {
      virtual_machines = var.virtual_machines
    }
    
    networking = {
      vnets                             = var.vnets
      network_security_group_definition = var.network_security_group_definition
      public_ip_addresses               = var.public_ip_addresses
    }
    
    security = {
      dynamic_keyvault_secrets = var.dynamic_keyvault_secrets
    }
  }