Releases: aliyun/alibabacloud-ros-tool-transformer
Releases · aliyun/alibabacloud-ros-tool-transformer
v0.12.0
v0.11.0
Features
- ✨ Support merging many resources into the main resource. For example, CF's EC2::VPNGateway and EC2::VPCGatewayAttachment will be merged into ROS's VPC::VpnGateway.
- ✨ Improve the security group rule mapping for CF.
- ✨ Indent the output logs appropriately.
Doc
- Update supported types for CloudFormation and Terraform.
Internal
- ✅ New MergeHandler added to transforming rules, used to handle cases where multiple properties are transformed into the same property.
v0.10.0
Features
- ✨ Regarding YAML parsing, it supports abbreviated forms. For example,
!Ref ResourceName
can be parsed as{"Ref": "ResourceName"}
. - ✨ Support for transforming AWS-specific parameter types.
Doc
- Update the resource links generated in the document and add several CloudFormation resource transform mapping lists.
Internal
- ✅ Completely reconstructed the implementation of converting AWS CloudFormation to ROS templates. Fixed the error-prone implementation that relied on string replacement.
- ✅ Format CloudFormation rules.
v0.9.0
Features
- ✨ Add following rules for cloudformation resources(41):
- AWS::ACMPCA::Certificate
- AWS::ApiGateway::Deployment
- AWS::ApiGatewayV2::Api
- AWS::ApiGatewayV2::Deployment
- AWS::AutoScaling::LaunchConfiguration
- AWS::AutoScaling::ScalingPolicy
- AWS::CloudFormation::CustomResource
- AWS::CloudFormation::Stack
- AWS::CloudFormation::WaitConditionHandle
- AWS::CloudTrail::Trail
- AWS::Config::DeliveryChannel
- AWS::DynamoDB::Table
- AWS::EC2::KeyPair
- AWS::EC2::LaunchTemplate
- AWS::EC2::NatGateway
- AWS::EC2::NetworkAcl
- AWS::EC2::NetworkInterfacePermission
- AWS::EC2::PrefixList
- AWS::EC2::SecurityGroupEgress
- AWS::EC2::SecurityGroupIngress
- AWS::ECR::Repository
- AWS::EFS::FileSystem
- AWS::EFS::MountTarget
- AWS::ElasticLoadBalancingV2::Listener
- AWS::ElasticLoadBalancingV2::ListenerCertificate
- AWS::ElasticLoadBalancingV2::ListenerRule
- AWS::ElasticLoadBalancingV2::LoadBalancer
- AWS::EMR::Cluster
- AWS::Events::Rule
- AWS::GlobalAccelerator::Accelerator
- AWS::GlobalAccelerator::EndpointGroup
- AWS::GlobalAccelerator::Listener
- AWS::IAM::ManagedPolicy
- AWS::IAM::SAMLProvider
- AWS::KMS::Alias
- AWS::KMS::Key
- AWS::Lambda::Alias
- AWS::Lambda::Function
- AWS::Lambda::Version
- AWS::Organizations::Account
- AWS::S3::Bucket
- ✨ Update following rules for cloudformation resources(36):
- AWS::AutoScaling::AutoScalingGroup
- AWS::AutoScaling::LifecycleHook
- AWS::CloudFormation::WaitCondition
- AWS::EC2::EIP
- AWS::EC2::EIPAssociation
- AWS::EC2::Instance
- AWS::EC2::InternetGateway
- AWS::EC2::NetworkInterface
- AWS::EC2::NetworkInterfaceAttachment
- AWS::EC2::Route
- AWS::EC2::RouteTable
- AWS::EC2::SecurityGroup
- AWS::EC2::Subnet
- AWS::EC2::SubnetRouteTableAssociation
- AWS::EC2::Volume
- AWS::EC2::VolumeAttachment
- AWS::EC2::VPC
- AWS::EC2::VPNGateway
- AWS::ElasticLoadBalancing::LoadBalancer
- AWS::IAM::AccessKey
- AWS::IAM::Group
- AWS::IAM::Policy
- AWS::IAM::Role
- AWS::IAM::User
- AWS::IAM::UserToGroupAddition
- AWS::RDS::DBInstance
Internal
- ✅ rostool cli not supports generating rules files from AWS CloudFormation to ROS
- ✅ add several handlers:
tags_list_to_dict
ec2_network_interface_ipv6_addresses
ec2_network_interface_private_addresses
v0.8.0
Features
When transforming Terraform templates:
- ✨ Support transform of resources using
count
- ✨ Support transform of complex resource references in outputs
- Traverse references, such as
alicloud_vswitch.multi_vsws.*.id
- Index references, such as
alicloud_vswitch.multi_vsws.0.id
- Traverse references, such as
v0.7.0
Features
- ✨ Support multi-level mapping and support the following resources:
- alicloud_dts_migration_job
- alicloud_dts_synchronization_job
- alicloud_log_etl
- alicloud_nlb_load_balancer
- alicloud_ram_policy
- alicloud_ros_stack
- alicloud_ros_stack_group
- alicloud_ros_stack_instance
- alicloud_slb_listener
- alicloud_slb_rule
- alicloud_slb_server_group_server_attachment
- alicloud_vpc_network_acl_attachment
- alicloud_vswitch
- alicloud_ecp_instance
- alicloud_ga_ip_set
- alicloud_hbr_ecs_backup_client
- alicloud_ots_search_index
- alicloud_log_machine_group
- ✨ Resource IDs support multiple attribute combinations and support the following resources:
- alicloud_adb_account
- alicloud_alikafka_topic
- alicloud_amqp_virtual_host
- alicloud_cen_route_service
- alicloud_cen_transit_router_route_table_association
- alicloud_cen_transit_router_route_table_propagation
- alicloud_cen_transit_router_vbr_attachment
- alicloud_cloud_connect_network_grant
- alicloud_cr_ee_repo
- alicloud_cr_repo
- alicloud_cs_kubernetes_addon
- alicloud_datahub_topic
- alicloud_db_connection
- alicloud_db_database
- alicloud_ecs_network_interface_attachment
- alicloud_eipanycast_anycast_eip_address_attachment
- alicloud_event_bridge_rule
- alicloud_fnf_schedule
- alicloud_ga_bandwidth_package_attachment
- alicloud_kvstore_account
- alicloud_log_alert
- alicloud_log_store
- alicloud_mns_topic_subscription
- alicloud_ons_topic
- alicloud_pvtz_user_vpc_authorization
- alicloud_resource_manager_control_policy_attachment
- alicloud_resource_manager_policy_attachment
- alicloud_slb_attachment
- alicloud_slb_domain_extension
- alicloud_vpc_dhcp_options_set_attachment
- alicloud_vpn_pbr_route_entry
- alicloud_vpn_route_entry
- alicloud_waf_domain
Internal
- ✅ Add handler
kv_list_to_map_wrapper
which convert a list containing dictionaries with key-value pairs into a dictionary. - ✅ Terraform transform rule supports different levels of property mapping. And support multi-level mapping with output attributes.
- ✅ The
Properties.To
field in Terraform transform rules is optional. Leaving it blank means that the current field will not be mapped, but its child fields will be mapped. - ✅
Attributes.To
in Terraform transform rules supports list types. In combination with Handler, multiple attributes can be merged into one value. - ✅ Add
replace_slash_to_colon
to handler.
v0.6.0
Features
- ✨ Added new command
rules
to show transform rules of Terraform and CloudFormation. See here for more details. - ✨ The
transform
command supports transforming more terraform resource types, as follows:- alicloud_adb_account
- alicloud_adb_db_cluster
- alicloud_alb_acl
- alicloud_alb_health_check_template
- alicloud_alb_listener
- alicloud_alb_listener_acl_attachment
- alicloud_alb_listener_additional_certificate_attachment
- alicloud_alb_load_balancer
- alicloud_alb_rule
- alicloud_alb_security_policy
- alicloud_alb_server_group
- alicloud_alikafka_consumer_group
- alicloud_alikafka_instance
- alicloud_amqp_binding
- alicloud_amqp_exchange
- alicloud_amqp_instance
- alicloud_amqp_queue
- alicloud_amqp_virtual_host
- alicloud_api_gateway_log_config
- alicloud_api_gateway_plugin
- alicloud_arms_alert_contact
- alicloud_arms_alert_contact_group
- alicloud_arms_prometheus
- alicloud_auto_provisioning_group
- alicloud_cddc_dedicated_host
- alicloud_cddc_dedicated_host_group
- alicloud_cdn_domain_new
- alicloud_cen_child_instance_route_entry_to_attachment
- alicloud_cen_flowlog
- alicloud_cen_route_entry
- alicloud_cen_route_map
- alicloud_cen_route_service
- alicloud_cen_transit_router
- alicloud_cen_transit_router_peer_attachment
- alicloud_cen_transit_router_route_entry
- alicloud_cen_transit_router_route_table
- alicloud_cen_transit_router_route_table_association
- alicloud_cen_transit_router_route_table_propagation
- alicloud_cen_transit_router_vbr_attachment
- alicloud_cen_transit_router_vpc_attachment
- alicloud_click_house_db_cluster
- alicloud_cloud_connect_network
- alicloud_cloud_connect_network_grant
- alicloud_cloud_firewall_vpc_firewall_control_policy
- alicloud_cms_alarm_contact
- alicloud_cms_alarm_contact_group
- alicloud_cms_dynamic_tag_group
- alicloud_cms_event_rule
- alicloud_cms_group_metric_rule
- alicloud_cms_metric_rule_template
- alicloud_cms_monitor_group
- alicloud_cms_monitor_group_instances
- alicloud_cms_namespace
- alicloud_cms_site_monitor
- alicloud_compute_nest_service_instance
- alicloud_config_compliance_pack
- alicloud_config_delivery_channel
- alicloud_config_rule
- alicloud_cr_ee_instance
- alicloud_cr_ee_namespace
- alicloud_cr_endpoint_acl_policy
- alicloud_cr_vpc_endpoint_linked_vpc
- alicloud_cs_edge_kubernetes
- alicloud_cs_kubernetes_addon
- alicloud_cs_kubernetes_node_pool
- alicloud_db_connection
- alicloud_dcdn_domain
- alicloud_dfs_access_group
- alicloud_dfs_access_rule
- alicloud_dfs_file_system
- alicloud_dfs_mount_point
- alicloud_direct_mail_domain
- alicloud_drds_polardbx_instance
- alicloud_dts_migration_job
- alicloud_dts_synchronization_job
- alicloud_eais_instance
- alicloud_ebs_disk_replica_group
- alicloud_ebs_disk_replica_pair
- alicloud_ecd_bundle
- alicloud_ecd_desktop
- alicloud_ecd_simple_office_site
- alicloud_eci_container_group
- alicloud_ecp_instance
- alicloud_edas_k8s_application
- alicloud_edas_k8s_cluster
- alicloud_edas_k8s_slb_attachment
- alicloud_edas_namespace
- alicloud_ehpc_cluster
- alicloud_eip_segment_address
- alicloud_eipanycast_anycast_eip_address
- alicloud_eipanycast_anycast_eip_address_attachment
- alicloud_emrv2_cluster
- alicloud_ens_instance
- alicloud_ess_alb_server_group_attachment
- alicloud_event_bridge_rule
- alicloud_fc_alias
- alicloud_fc_custom_domain
- alicloud_fnf_flow
- alicloud_fnf_schedule
- alicloud_ga_accelerator
- alicloud_ga_bandwidth_package
- alicloud_ga_bandwidth_package_attachment
- alicloud_ga_endpoint_group
- alicloud_ga_ip_set
- alicloud_ga_listener
- alicloud_gpdb_account
- alicloud_gpdb_elastic_instance
- alicloud_gpdb_instance
- alicloud_havip_attachment
- alicloud_hbr_ecs_backup_client
- alicloud_hbr_restore_job
- alicloud_hbr_vault
- alicloud_imm_project
- alicloud_iot_device_group
- alicloud_kms_secret
- alicloud_kvstore_account
- alicloud_kvstore_connection
- alicloud_lindorm_instance
- alicloud_log_alert
- alicloud_log_audit
- alicloud_log_dashboard
- alicloud_log_etl
- alicloud_logtail_config
- alicloud_message_service_queue
- alicloud_message_service_subscription
- alicloud_message_service_topic
- alicloud_mse_cluster
- alicloud_mse_gateway
- alicloud_nas_data_flow
- alicloud_nas_fileset
- alicloud_network_acl
- alicloud_network_acl_attachment
- alicloud_nlb_listener
- alicloud_nlb_load_balancer
- alicloud_nlb_server_group
- alicloud_ons_group
- alicloud_ons_instance
- alicloud_ons_topic
- alicloud_oos_default_patch_baseline
- alicloud_oos_parameter
- alicloud_oos_patch_baseline
- alicloud_oos_secret_parameter
- alicloud_ots_search_index
- alicloud_polardb_global_database_network
- alicloud_polardb_parameter_group
- alicloud_privatelink_vpc_endpoint
- alicloud_privatelink_vpc_endpoint_service
- alicloud_pvtz_rule
- alicloud_pvtz_user_vpc_authorization
- alicloud_ram_account_alias
- alicloud_ram_policy
- alicloud_ram_saml_provider
- alicloud_ram_security_preference
- alicloud_redis_tair_instance
- alicloud_resource_manager_account
- alicloud_resource_manager_control_policy
- alicloud_resource_manager_control_policy_attachment
- alicloud_resource_manager_folder
- alicloud_resource_manager_handshake
- alicloud_resource_manager_policy_attachment
- alicloud_resource_manager_resource_directory
- alicloud_resource_manager_resource_share
- alicloud_ros_stack
- alicloud_ros_stack_group
- alicloud_ros_stack_instance
- alicloud_route_entry
- alicloud_sae_application
- alicloud_sae_namespace
- alicloud_sag_qos
- alicloud_sag_qos_car
- alicloud_sag_qos_policy
- alicloud_simple_application_server_instance
- alicloud_slb_ca_certificate
- alicloud_slb_rule
- alicloud_slb_server_group_server_attachment
- alicloud_threat_detection_anti_brute_force_rule
- alicloud_tsdb_instance
- alicloud_vod_editing_project
- alicloud_vpc_network_acl_attachment
- alicloud_vpc_peer_connection
- alicloud_vpn_customer_gateway
- alicloud_vpn_gateway
- alicloud_vpn_ipsec_server
- alicloud_vpn_pbr_route_entry
- alicloud_vpn_route_entry
- alicloud_waf_domain
- alicloud_waf_instance
Fixes
- 🐛 Fixed the problem of unexpected transform of map type properties.
Docs
- 📝 Add an introduction to the
rules
command and a list of supported rules in the document.
Internal
- ✅ Add several e2e test cases for transforming terraform templates.
v0.5.0
Features
- ✨ The
transform
command supports converting more terraform resource types, as follows:- alicloud_alidns_domain
- alicloud_ecs_activation
- alicloud_ecs_auto_snapshot_policy
- alicloud_ecs_command
- alicloud_ecs_deployment_set
- alicloud_ecs_hpc_cluster
- alicloud_ecs_invocation
- alicloud_ecs_network_interface
- alicloud_ecs_network_interface_attachment
- alicloud_ecs_network_interface_permission
- alicloud_ecs_prefix_list
- alicloud_ecs_snapshot
- alicloud_ecs_instance_set
- alicloud_resource_manager_resource_group
- alicloud_ecs_disk
- alicloud_ecs_disk_attachment
- alicloud_ecs_key_pair
- alicloud_ecs_key_pair_attachment
- alicloud_ecs_launch_template
- alicloud_ecs_snapshot
- alicloud_eip_address
- alicloud_elasticsearch_instance
- alicloud_ess_lifecycle_hook
- alicloud_vpc_bgp_group
- alicloud_vpc_bgp_network
- alicloud_vpc_bgp_peer
- alicloud_vpc_dhcp_options_set
- alicloud_vpc_dhcp_options_set_attachment
- alicloud_vpc_flow_log
- alicloud_vpc_ha_vip
- alicloud_vpc_ipv4_gateway
- alicloud_vpc_ipv6_gateway
- alicloud_vpc_ipv6_internet_bandwidth
- alicloud_vpc_nat_ip
- alicloud_vpc_prefix_list
- alicloud_vpc_traffic_mirror_filter
- alicloud_vpc_traffic_mirror_session
- alicloud_rds_account
- alicloud_slb_load_balancer
- alicloud_ssl_certificates_service_certificate
Fixes
- 🐛 Fix an issue requiring the terraform command to be installed.
Upgrades
- ⬆ Using libterraform==0.5.0
Docs
- 📝 Add preconditions for converting terraform templates.
Internal
- ✨ Add
tools.cli
for generating and formatting rules files. - ✅ Add several e2e test cases for converting terraform templates.
- 🔧 Format all rules files.
- 🔧 Remove unnecessary deps.