Terraform支持的功能和资源

资源编排服务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.225.1;

  • aws:3.63.0~5.55.0;

  • azurerm:2.81.0~3.109.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • fortios:1.13.2~1.20.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

1.1.9

  • alicloud:1.139.0~1.225.1;

  • aws:3.63.0~5.55.0;

  • azurerm:2.81.0~3.109.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • fortios:1.13.2~1.20.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

1.2.9

  • alicloud:1.139.0~1.225.1;

  • aws:3.63.0~5.55.0;

  • azurerm:2.81.0~3.109.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • fortios:1.13.2~1.20.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

1.3.10

  • azurerm:2.81.0~3.109.0;

  • fortios:1.13.2~1.20.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • alicloud:1.139.0~1.225.1;

  • aws:3.63.0~5.55.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

1.4.7

  • azurerm:2.81.0~3.109.0;

  • fortios:1.13.2~1.20.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • alicloud:1.139.0~1.225.1;

  • aws:3.63.0~5.55.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

1.5.7

  • azurerm:2.81.0~3.109.0;

  • fortios:1.13.2~1.20.0;

  • random:3.1.0~3.6.2;

  • template:2.2.0;

  • time:0.7.2~0.11.2;

  • alicloud:1.139.0~1.225.1;

  • aws:3.63.0~5.55.0;

  • fortimanager:1.3.4~1.12.0;

  • helm:2.3.0~2.14.0;

  • kubernetes:2.6.1~2.31.0;

说明

ROS会持续更新支持的Terraform版本和Provider版本。您可以调用GetFeatureDetails接口,获取支持的Terraform版本列表。

ROS功能支持情况

功能

支持的功能

不支持的功能

资源栈

  • 预览、创建、更新、删除和查询资源栈。

  • 查询资源、事件(包括资源栈和资源)、输出和模板。

  • 通过资源栈创建资源时,为资源栈中的部分资源添加系统标签acs:ros:stackId。关于资源的更多信息,请参见ROS资源支持情况章节的支持系统标签的资源列表。

  • 通过资源栈创建或更新资源时,向资源栈中的部分资源传递资源栈的用户标签。关于资源的更多信息,请参见ROS资源支持情况章节的支持传递资源栈用户标签的资源列表。

  • 通过资源栈创建或更新资源时,向资源栈中的部分资源传递资源栈所属的资源组。关于资源的更多信息,请参见ROS资源支持情况章节的支持传递资源栈所属资源组的资源列表。

  • 设置超时时间(10~120分钟)、设置参数和输出、失败继续创建、状态通知、删除保护、删除资源栈时保留所有资源、删除资源栈时保留部分资源、设置RAM角色、管理标签和管理资源组、模板规则、事前审计。

  • 管理更改集。

  • 偏差检测。

  • 资源导入。

  • 风险检查。关于资源的更多信息,请参见ROS资源支持情况章节的支持风险检查的资源列表。

  • 取消资源栈操作。

失败回滚、资源栈策略、可控替换更新、偏差纠正、信号通知等。

资源栈组

  • 创建、更新、删除、查询资源栈组。

  • 创建、更新、删除、查询资源栈实例,查询、停止资源栈操作。

  • 管理标签和管理资源组。

  • 偏差检测。

无。

模板

  • 创建、更新、删除、查询、共享和校验模板。

  • 对模板中涉及的收费资源进行询价。关于资源的更多信息,请参见ROS资源支持情况章节的支持询价的资源列表。

  • 管理标签和管理资源组。

  • 查询模板参数取值,包括自动版和手动版。手动版请参见手动配置Terraform类型模板的参数约束查询

  • 生成模板的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和GenerateTemplatePolicy。

资源场景

CreateTemplateScratch、DeleteTemplateScratch、UpdateTemplateScratch、ListTemplateScratches、GetTemplateScratch和GenerateTemplateByScratch。

标签

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资源