通过ESA控制台自动生成Terraform代码

更新时间:
复制为 MD 格式

随着阿里云的众多产品的资源创建复杂度不断增加,控制台页面的参数展示也更加复杂和多样,对应的 OpenAPI 和 Terraform 的参数也在不断增加,并且这些参数与控制台创建资源页面的参数选择无法直接对应起来,为了降低开发者通过 Open API 和 Terraform 创建资源的门槛,阿里云开放平台提供了一个控制台前端的 ConsoleToCode 组件,通过该组件可实现控制台操作到 Terraform Code 和 SDK Code 的自动转换。

操作流程

以添加DNS记录为例,说明如何通过同等代码功能获取Terraform代码。

  1. ESA控制台选择站点管理,在站点列单击目标站点。

  2. 选择DNS > 记录,单击添加记录,填写记录参数,如:

    • 记录类型A/AAAA

    • 主机记录test

    • 记录值/源站192.168.0.1

  3. 单击同等代码,在面板中选择Terraform页签。

    image

  4. 控制台将自动生成如下Terraform代码,如:

    # __generated__ by AlibabaCloud Automation Service based on the provider v1.270.0.
    # Please review these resources and move them into your main configuration files.
    
    provider "alicloud" {
      region = "cn-hangzhou"
    }
    
    resource "alicloud_esa_record" "record" {
      comment = "console2code"
    data {
      value = "192.168.0.1"
    }
    proxied     = true
    record_name = "test.example.com"
    record_type = "A/AAAA"
    site_id     = "1040********9728"
    ttl         = 1
    }
  5. 后续可参考使用Terraform添加DNS记录命令应用配置。

注意事项

  • 代码仅供参考,不会自动执行:通过同等代码生成的Terraform代码不会自动应用到您的ESA配置,您需要复制代码后在本地执行Terraform命令才能生效。

  • 控制台操作与Terraform管理不互通:如果您同时使用控制台和Terraform管理同一资源,可能导致Terraform状态文件与实际配置不一致。建议统一使用Terraform进行资源管理。

  • 参数不完整时代码仍可参考:即使控制台表单未填写完整,同等代码面板仍会显示已填写参数对应的代码片段,并标注缺失的必填参数,帮助您了解代码结构。

  • Provider版本要求:生成的Terraform代码依赖阿里云官方Provider(alicloud),请确保本地Terraform环境已安装并配置正确版本的Provider。

当前支持的控制台功能

目前仅支持添加DNS记录,后续将陆续开放其他功能,敬请期待。