我希望能够制作一套基于DSL设备的自定义DSL,以进一步解释自己我将展示问题:
我们有一个基础DSL,用于在AWS上定义新的VPC,该代码具有所有必要的网络设置,包括所有子网设置,DMZ样式,安全组等。
目前我们拥有设置了所有变量的基本代码,因此如果团队需要设置新的网络设置,他们只需复制代码,将varibales.tf
更新为他们的需求。
当我需要更新基本的terraform语法时,这就变得非常繁琐,并且很容易在所有现有网络中传递这些更改。
在一个例子中,我愿意制作一个自定义的DSL来包装所有代码:
resource "fancy_aws_network" "network" {
base_cidr = "172.31.0.0/16"
use_dmz = True
subnet_per_az = True
}
有人能引导我朝正确的方向前进吗?