资源编排服务ROS(Resource Orchestration Service)为Terraform提供了托管的能力,本文为您介绍Terraform对ROS功能和资源的支持情况。

ROS版本支持情况

ROS当前支持的Terraform版本和Provider版本如下表所示。

Terraform版本 Provider版本
0.12.28
  • alicloud:1.121.2
  • aws:3.37.0
  • azurerm:2.56.0
  • random:3.1.0
  • template:2.2.0
  • time:0.7.0
0.15.3
  • alicloud:1.123.0
  • aws:3.42.0
  • azurerm:2.59.0
  • random:3.1.0
  • template:2.2.0
  • time:0.7.1
1.0.11
  • alicloud:1.139.0~1.151.0
  • aws:3.63.0~3.71.0
  • azurerm:2.81.0~2.91.0
  • random:3.1.0
  • template:2.2.0
  • time:0.7.2
  • fortios:1.13.2
  • fortimanager:1.3.4~1.3.6
  • helm:2.3.0~2.4.1
  • kubernetes:2.6.1~2.7.1
1.1.3
  • alicloud:1.139.0~1.151.0
  • aws:3.63.0~3.71.0
  • azurerm:2.81.0~2.91.0
  • random:3.1.0
  • template:2.2.0
  • time:0.7.2
  • fortios:1.13.2
  • fortimanager:1.3.4~1.3.6
  • helm:2.3.0~2.4.1
  • kubernetes:2.6.1~2.7.1
说明 ROS会持续更新支持的Terraform版本和Provider版本。您可以调用GetFeatureDetails接口,获取支持的Terraform版本列表。

ROS功能支持情况

功能 支持的功能 不支持的功能
资源栈
  • 预览、创建、更新、删除和查询资源栈。
  • 查询资源、事件(包括资源栈和资源)、输出和模板。
  • 通过资源栈创建资源时,为资源栈中的部分资源添加系统标签acs:ros:stackId。关于资源的更多信息,请参见ROS资源支持情况章节的支持系统标签的资源列表。
  • 通过资源栈创建或更新资源时,向资源栈中的部分资源传递资源栈的用户标签。关于资源的更多信息,请参见ROS资源支持情况章节的支持传递资源栈用户标签的资源列表。
  • 通过资源栈创建或更新资源时,向资源栈中的部分资源传递资源栈所属的资源组。关于资源的更多信息,请参见ROS资源支持情况章节的支持传递资源栈所属资源组的资源列表。
  • 设置超时时间(10~120分钟)、设置参数和输出、失败继续创建、状态通知、删除保护、删除保留所有资源、设置RAM角色、管理标签和管理资源组。
  • 管理更改集。
失败回滚、资源栈策略、删除保留部分资源、替换更新、取消更新、偏差检测、信号通知、资源导入和风险检查等。
资源栈组
  • 创建、更新、删除、查询资源栈组。
  • 创建、更新、删除、查询资源栈实例,查询、停止资源栈操作。
  • 管理标签和管理资源组。
偏差检测。
模板
  • 创建、更新、删除、查询、共享和校验模板。
  • 对模板中涉及的收费资源进行询价。关于资源的更多信息,请参见ROS资源支持情况章节的支持询价的资源列表。
  • 管理标签和管理资源组。
生成模板的RAM策略、查询模板参数取值。
其他
  • STS(Security Token Service)。
  • 查询服务开通状态和服务角色信息。
  • 查询功能详情。
查询资源类型。

ROS API支持情况

功能 支持的API
资源栈 PreviewStack、CreateStack、ContinueCreateStack、UpdateStack、DeleteStack、GetStack、ListStacks、ListStackResources、GetStackResource、ListStackEvents和SetDeletionProtection。
说明 GetStack和ListStacks中StackType取值为Terraform时,说明资源栈类型是Terraform。
更改集 CreateChangeSet、ExecuteChangeSet、DeleteChangeSet、GetChangeSet和ListChangeSets。
资源栈组 CreateStackGroup、UpdateStackGroup、DeleteStackGroup、GetStackGroup、ListStackGroups、CreateStackInstances、UpdateStackInstances、DeleteStackInstances、GetStackInstance、ListStackInstances、StopStackGroupOperation、GetStackGroupOperation、ListStackGroupOperations和ListStackGroupOperationResults。
模板 CreateTemplate、UpdateTemplate、DeleteTemplate、GetTemplate、ListTemplates、ListTemplateVersions、SetTemplatePermission、ValidateTemplate和GetTemplateEstimateCost。
标签 TagResources、UntagResources、ListTagKeys、ListTagValues和ListTagResources。
资源组 MoveResourceGroup。
其他 GetServiceProvisions、GetFeatureDetails。

ROS资源支持情况

在ROS中,Terraform支持的主流云厂商资源如下:

  • 阿里云资源
    说明
    • 支持Terraform在线调试工具
    • ROS提供了一个默认的Provider,使用当前账号的临时AccessKey(或STS凭证)以及资源栈所属的地域ID。

    其中,部分资源支持询价、系统标签、传递资源栈用户标签和传递资源栈所属资源组,具体如下:

    说明 您可以调用GetFeatureDetails接口,获取支持询价、系统标签、传递资源栈用户标签和传递资源栈所属资源组的资源类型列表。
    • 支持询价的资源
      • ECS:alicloud_instance、alicloud_ecs_disk、alicloud_disk和alicloud_ecs_dedicated_host。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway和alicloud_vpn_gateway。
      • SLB:alicloud_slb_load_balancer和alicloud_slb。
      • RDS:alicloud_db_instance和alicloud_db_readonly_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance。
      • CEN:alicloud_cen_bandwidth_package。
      • MarketPlace:alicloud_market_order。
      • PolarDB-X:alicloud_drds_instance。
      • ECI:alicloud_eci_container_group。
    • 支持系统标签的资源
      • ECS:alicloud_instance、alicloud_ecs_disk、alicloud_disk、alicloud_ecs_dedicated_host、alicloud_security_group和alicloud_key_pair、alicloud_ecs_launch_template、alicloud_ecs_network_interface、alicloud_image_copy、alicloud_image和alicloud_snapshot。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway、alicloud_vpn_gateway、alicloud_vpc和alicloud_vswitch。
      • SLB:alicloud_slb_load_balancer和alicloud_slb。
      • RDS:alicloud_db_instance和alicloud_db_readonly_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance。
    • 支持传递资源栈用户标签的资源
      • ECS:alicloud_instance、alicloud_ecs_disk、alicloud_disk、alicloud_ecs_dedicated_host、alicloud_security_group、alicloud_key_pair、alicloud_ecs_launch_template、alicloud_ecs_network_interface、alicloud_image_copy、alicloud_image和alicloud_snapshot。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway、alicloud_vpn_gateway、alicloud_vpc和alicloud_vswitch。
      • SLB:alicloud_slb_load_balancer和alicloud_slb。
      • RDS:alicloud_db_instance和alicloud_db_readonly_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance。
      • CEN:alicloud_cen_bandwidth_package。
      • PolarDB-X:alicloud_drds_instance。
    • 支持传递资源栈所属资源组的资源
      • ECS:alicloud_instance、alicloud_ecs_disk、alicloud_disk、alicloud_ecs_dedicated_host、alicloud_security_group、alicloud_key_pair、alicloud_ecs_launch_template、alicloud_ecs_network_interface、alicloud_image_copy和alicloud_image。
      • VPC:alicloud_vpc、alicloud_common_bandwidth_package、alicloud_eip_address和alicloud_eip。
      • SLB:alicloud_slb_load_balancer和alicloud_slb。
      • RDS:alicloud_db_readonly_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_db_instance和alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance。
      • ECI:alicloud_eci_container_group。
      • PolarDB-X:alicloud_drds_instance。
  • AWS资源
  • Azure资源