资源编排服务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.205.0;
  • aws:3.63.0~4.67.0;
  • azurerm:2.81.0~3.57.0;
  • random:3.1.0~3.5.1;
  • template:2.2.0;
  • time:0.7.2~0.9.1;
  • fortios:1.13.2~1.16.0;
  • fortimanager:1.3.4~1.7.0;
  • helm:2.3.0~2.9.0;
  • kubernetes:2.6.1~2.20.0;
1.1.9
  • alicloud:1.139.0~1.205.0;
  • aws:3.63.0~4.67.0;
  • azurerm:2.81.0~3.57.0;
  • random:3.1.0~3.5.1;
  • template:2.2.0;
  • time:0.7.2~0.9.1;
  • fortios:1.13.2~1.16.0;
  • fortimanager:1.3.4~1.7.0;
  • helm:2.3.0~2.9.0;
  • kubernetes:2.6.1~2.20.0;
1.2.9
  • alicloud:1.139.0~1.205.0;
  • aws:3.63.0~4.67.0;
  • azurerm:2.81.0~3.57.0;
  • random:3.1.0~3.5.1;
  • template:2.2.0;
  • time:0.7.2~0.9.1;
  • fortios:1.13.2~1.16.0;
  • fortimanager:1.3.4~1.7.0;
  • helm:2.3.0~2.9.0;
  • kubernetes:2.6.1~2.20.0;
说明 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、ListStackOperationRisks、CancelUpdateStack和CancelStackOperation。
说明 GetStack和ListStacks中StackType取值为Terraform时,说明资源栈类型是Terraform。
更改集 & 资源导入CreateChangeSet、ExecuteChangeSet、DeleteChangeSet、GetChangeSet和ListChangeSets。
偏差检测DetectStackDrift、DetectStackGroupDrift、GetStackDriftDetectionStatus和ListStackResourceDrifts。
说明 不支持使用 DetectStackResourceDrift 对多个资源进行同步的偏差检测。
资源栈组CreateStackGroup、UpdateStackGroup、DeleteStackGroup、GetStackGroup、ListStackGroups、CreateStackInstances、UpdateStackInstances、DeleteStackInstances、GetStackInstance、ListStackInstances、StopStackGroupOperation、GetStackGroupOperation、ListStackGroupOperations和ListStackGroupOperationResults。
模板CreateTemplate、UpdateTemplate、DeleteTemplate、GetTemplate、ListTemplates、ListTemplateVersions、SetTemplatePermission、ValidateTemplate、GetTemplateEstimateCost、GetTemplateSummary和GetTemplateParameterConstraints。
标签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、alicloud_ecs_instance_set。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway、alicloud_vpn_gateway、alicloud_eipanycast_anycast_eip_address、alicloud_vpc_ipv6_gateway、alicloud_router_interface。
      • 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、alicloud_mongodb_serverless_instance、alicloud_mongodb_sharding_instance。
      • CEN:alicloud_cen_bandwidth_package。
      • MarketPlace:alicloud_market_order。
      • PolarDB-X:alicloud_drds_instance。
      • ECI:alicloud_eci_container_group、alicloud_eci_image_cache。
      • EMR:alicloud_emr_cluster。
      • Elasticsearch:alicloud_elasticsearch_instance。
      • SAE:alicloud_sae_application。
      • GPDB:alicloud_gpdb_elastic_instance、alicloud_gpdb_instance。
      • GA:alicloud_ga_accelerator。
      • ADB:alicloud_adb_cluster、alicloud_adb_db_cluster。
      • NAS:alicloud_nas_file_system。
      • Kafka:alicloud_alikafka_instance。
      • MSE:alicloud_mse_cluster。
      • ALB:alicloud_alb_load_balancer。
      • DTS:alicloud_dts_migration_instance、alicloud_dts_synchronization_instance。
      • ECD:alicloud_ecd_desktop。
      • ROS:alicloud_ros_stack。
      • CS:alicloud_cs_kubernetes、alicloud_cs_edge_kubernetes、alicloud_cs_managed_kubernetes、alicloud_cs_serverless_kubernetes。
      • TSDB:alicloud_tsdb_instance。
      • EHPC:alicloud_ehpc_cluster。
      • ClickHouse:alicloud_click_house_db_cluster。
      • WAF:alicloud_waf_instance。
      • CDDC:alicloud_cddc_dedicated_host。
    • 支持系统标签的资源
      • 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_ecs_snapshot、alicloud_launch_template、alicloud_snapshot、alicloud_snapshot_policy、alicloud_network_interface、alicloud_ecs_instance_set、alicloud_ecs_auto_snapshot_policy、alicloud_ecs_dedicated_host_cluster、alicloud_ecs_key_pair。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway、alicloud_vpn_gateway、alicloud_vpc、alicloud_vswitch、alicloud_route_table、alicloud_vpc_ipv6_gateway。
      • SLB:alicloud_slb_load_balancer、alicloud_slb、alicloud_slb_acl、alicloud_slb_server_certificate。
      • RDS:alicloud_db_instance、alicloud_db_readonly_instance、alicloud_rds_clone_db_instance、alicloud_rds_upgrade_db_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance、alicloud_mongodb_serverless_instance、alicloud_mongodb_sharding_instance。
      • Elasticsearch:alicloud_elasticsearch_instance。
      • GPDB:alicloud_gpdb_elastic_instance、alicloud_gpdb_instance。
      • CAS:alicloud_cas_certificate、alicloud_ssl_certificates_service_certificate。
      • OSS:alicloud_oss_bucket、alicloud_oos_execution、alicloud_oos_template。
      • PVTZ:alicloud_pvtz_zone。
      • DDoS:alicloud_ddosbgp_instance、alicloud_ddoscoo_instance。
      • BastionHost:alicloud_bastionhost_instance。
      • ESS:alicloud_ess_scaling_group。
      • ROS:alicloud_ros_template、alicloud_ros_stack、alicloud_ros_stack_group。
      • Kafka:alicloud_alikafka_instance、alicloud_alikafka_consumer_group、alicloud_alikafka_topic。
      • DNS:alicloud_alidns_domain。
      • DTS:alicloud_dts_migration_instance、alicloud_dts_synchronization_instance。
      • CS:alicloud_cs_managed_kubernetes、alicloud_cs_serverless_kubernetes、alicloud_cs_edge_kubernetes、alicloud_cs_kubernetes。
      • ALB:alicloud_alb_security_policy、alicloud_alb_server_group、alicloud_alb_acl、alicloud_alb_load_balancer。
      • RocketMQ:alicloud_ons_instance。
      • NAS:alicloud_nas_file_system。
      • CDDC:alicloud_cddc_dedicated_host。
      • YunDun:alicloud_yundun_dbaudit_instance。
      • FC:alicloud_fc_service。
      • ADB:alicloud_adb_cluster。
      • CDN:alicloud_cdn_domain_new。
      • HBase:alicloud_hbase_instance。
      • EHPC:alicloud_ehpc_cluster。
    • 支持传递资源栈用户标签的资源
      • 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_ecs_snapshot、alicloud_launch_template、alicloud_snapshot、alicloud_network_interface、alicloud_ecs_key_pair、alicloud_ecs_instance_set、alicloud_ecs_auto_snapshot_policy、alicloud_snapshot_policy、alicloud_ecs_dedicated_host_cluster。
      • VPC:alicloud_eip_address、alicloud_eip、alicloud_common_bandwidth_package、alicloud_nat_gateway、alicloud_vpn_gateway、alicloud_vpc、alicloud_vswitch、alicloud_vpc_ipv6_gateway、alicloud_route_table。
      • SLB:alicloud_slb_load_balancer、alicloud_slb、alicloud_slb_server_certificate、alicloud_slb_acl。
      • RDS:alicloud_db_instance、alicloud_db_readonly_instance、alicloud_rds_clone_db_instance、alicloud_rds_upgrade_db_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance、alicloud_mongodb_serverless_instance、alicloud_mongodb_sharding_instance。
      • CEN:alicloud_cen_bandwidth_package、alicloud_cen_instance。
      • PolarDB-X:alicloud_drds_instance。
      • EMR:alicloud_emr_cluster。
      • Elasticsearch:alicloud_elasticsearch_instance。
      • GPDB:alicloud_gpdb_elastic_instance、alicloud_gpdb_instance。
      • ADB: alicloud_adb_db_cluster、alicloud_adb_cluster。
      • ALB: alicloud_alb_acl、alicloud_alb_server_group、alicloud_alb_load_balancer、alicloud_alb_security_policy。
      • DNS: alicloud_alidns_domain、alicloud_dns_domain、alicloud_dns。
      • BastionHost: alicloud_bastionhost_instance。
      • CAS: alicloud_cas_certificate、alicloud_ssl_certificates_service_certificate。
      • CDDC: alicloud_cddc_dedicated_host。
      • CDN: alicloud_cdn_domain_new。
      • CS: alicloud_cs_kubernetes、alicloud_cs_edge_kubernetes、alicloud_cs_managed_kubernetes、alicloud_cs_serverless_kubernetes。
      • DCDN: alicloud_dcdn_domain、alicloud_dcdn_ipa_domain。
      • DDoS:alicloud_ddosbgp_instance、alicloud_ddoscoo_instance。
      • DTS: alicloud_dts_synchronization_instance、alicloud_dts_migration_instance。
      • HBR: alicloud_hbr_replication_vault、alicloud_hbr_vault、alicloud_hbr_hana_instance、alicloud_hbr_ecs_backup_client。
      • HBase: alicloud_hbase_instance。
      • Kafka: alicloud_alikafka_instance、alicloud_alikafka_topic、alicloud_alikafka_consumer_group。
      • NAS: alicloud_nas_file_system。
      • OOS: alicloud_oos_template、alicloud_oos_execution。
      • PVTZ: alicloud_pvtz_zone。
      • ROS: alicloud_ros_template、alicloud_ros_stack。
      • SAE: alicloud_sae_application。
      • YunDun:alicloud_yundun_dbaudit_instance。
      • ApiGateway:alicloud_api_gateway_group、alicloud_api_gateway_api、alicloud_api_gateway_app。
      • FC:alicloud_fc_service。
      • ESS:alicloud_ess_scaling_group。
      • OSS:alicloud_oss_bucket。
      • VOD:alicloud_vod_domain。
      • RocketMQ:alicloud_ons_instance。

      子账号和RAM角色需要授权系统策略 AliyunTagAdministratorAccess和接口 oss:GetBucketTagging,否则无法将用户标签传递到资源。自定义RAM策略的示例代码如下:

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "tag:*",
              "*:ListTagResources",
              "*:TagResources",
              "*:UntagResources",
              "*:UnTagResources",
              "vod:TagVodResources",
              "vod:UnTagVodResources",
              "dcdn:TagDcdnResources",
              "dcdn:UntagDcdnResources",
              "ecs:DescribeResourceByTags",
              "*:DescribeTags",
              "*:DescribeTagKeys",
              "*:ListTagKeys",
              "*:ListTagValues",
              "ecs:AddTags",
              "ecs:RemoveTags",
              "slb:AddTags",
              "slb:RemoveTags",
              "rds:AddTagsToResource",
              "rds:DescribeDBInstanceByTags",
              "rds:RemoveTagsFromResource",
              "oss:PutBucketTagging",
              "oss:GetBucketTagging",
              "oss:DeleteBucketTagging",
              "oss:GetBucketTagging",
              "live:TagLiveResources",
              "live:ListLiveTagResources",
              "live:UnTagLiveResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
    • 支持传递资源栈所属资源组的资源
      说明 子账号和RAM角色需要进行相关授权,否则无法将资源组传递到资源。更多信息,请参见支持资源组的云服务
      • 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、alicloud_ecs_key_pair、alicloud_launch_template、alicloud_ecs_instance_set、alicloud_snapshot_policy、alicloud_network_interface、alicloud_ecs_auto_snapshot_policy、alicloud_ecs_snapshot。
      • VPC:alicloud_vpc、alicloud_common_bandwidth_package、alicloud_eip_address、alicloud_eip。
      • SLB:alicloud_slb_load_balancer、alicloud_slb_server_certificate、alicloud_slb_acl、alicloud_slb。
      • RDS:alicloud_db_instance、alicloud_db_readonly_instance、alicloud_rds_upgrade_db_instance、alicloud_rds_clone_db_instance。
      • Redis:alicloud_kvstore_instance。
      • PolarDB:alicloud_polardb_cluster。
      • MongoDB:alicloud_mongodb_instance、alicloud_mongodb_serverless_instance、alicloud_mongodb_sharding_instance。
      • ECI:alicloud_eci_container_group、alicloud_eci_image_cache。
      • PolarDB-X:alicloud_drds_instance。
      • EMR:alicloud_emr_cluster。
      • Elasticsearch:alicloud_elasticsearch_instance。
      • CAS:alicloud_cas_certificate、alicloud_ssl_certificates_service_certificate。
      • ROS:alicloud_ros_stack、alicloud_ros_stack_group、alicloud_ros_template。
      • PVTZ:alicloud_pvtz_zone。
      • CS:alicloud_cs_kubernetes、alicloud_cs_edge_kubernetes、alicloud_cs_managed_kubernetes、alicloud_cs_serverless_kubernetes。
      • HBase:alicloud_hbase_instance。
      • ALB:alicloud_alb_acl、alicloud_alb_security_policy、alicloud_alb_load_balancer、alicloud_alb_server_group。
      • OOS:alicloud_oos_state_configuration、alicloud_oos_template、alicloud_oos_secret_parameter、alicloud_oos_parameter。
      • DNS:alicloud_dns_domain、alicloud_dns、alicloud_alidns_gtm_instance、alicloud_alidns_domain。
      • DDoS:alicloud_ddoscoo_instance、alicloud_ddosbgp_instance。
      • BastionHost:alicloud_bastionhost_instance。
      • EDAS:alicloud_edas_k8s_application、alicloud_edas_cluster、alicloud_edas_k8s_cluster、alicloud_edas_application。
      • CDN:alicloud_cdn_domain_new。
      • WAF:alicloud_waf_domain。
      • Cassandra:alicloud_cassandra_cluster。
      • DCDN:alicloud_dcdn_domain、alicloud_dcdn_ipa_domain。
      • OpenSearch:alicloud_open_search_app_group。
      • YunDun:alicloud_yundun_dbaudit_instance。
      • HBR:alicloud_hbr_vault、alicloud_hbr_replication_vault。
      • CEN:alicloud_cen_bandwidth_package、alicloud_cen_instance。
      • ADB:alicloud_adb_cluster、alicloud_adb_db_cluster。
      • Kafka:alicloud_alikafka_instance。
      • Lindorm:alicloud_lindorm_instance。
    • 支持风险检查的资源
      • ECS:alicloud_instance、alicloud_ecs_instance_set、alicloud_ecs_disk、alicloud_ecs_dedicated_host、alicloud_security_group、alicloud_security_group_rule。
      • VPC:alicloud_eip、alicloud_eip_address、alicloud_vpn_gateway、alicloud_snat_entry、alicloud_nat_gateway。
      • SLB:alicloud_slb_load_balancer、alicloud_slb。
      • RDS:alicloud_db_instance。
      • Redis:alicloud_kvstore_instance。
      • MongoDB:alicloud_mongodb_instance、alicloud_mongodb_sharding_instance。
      • RAM:alicloud_ram_role。
  • AWS资源
  • Azure资源