Skip to content

Releases: aliyun/alibabacloud-ros-tool-transformer

v0.12.0

13 Mar 08:53
136dc20
Compare
Choose a tag to compare

Features

  • ✨ Provides the ability to generate Terraform files from ROS-Wrapped Terraform template. For more details.
  • ✨ Add the --force parameter to the transform command, which allows you to overwrite existing files during file generation.

v0.11.0

19 Jan 06:34
Compare
Choose a tag to compare

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

04 Dec 09:42
Compare
Choose a tag to compare

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

22 Nov 08:58
Compare
Choose a tag to compare

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

07 Nov 08:36
Compare
Choose a tag to compare

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

v0.7.0

25 Oct 10:18
Compare
Choose a tag to compare

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

10 Oct 10:05
Compare
Choose a tag to compare

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

22 Sep 08:45
eedd380
Compare
Choose a tag to compare

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.

v0.4.1

21 Aug 08:51
Compare
Choose a tag to compare

The format command supports Rules in the template.

v0.4.0

16 Aug 09:09
Compare
Choose a tag to compare

The transform command supports converting the local terraform directory to a ROS template in compatible mode with --compatible option.

See here for more details.