1+ data "alicloud_zones" "default" {
2+ }
3+
4+ data "alicloud_resource_manager_resource_groups" "default" {
5+ }
6+
7+ data "alicloud_images" "default" {
8+ name_regex = " ^centos_6"
9+ owners = " system"
10+ }
11+
12+ data "alicloud_instance_types" "default" {
13+ availability_zone = data. alicloud_zones . default . zones . 0 . id
14+ }
15+
16+ data "alicloud_ecs_auto_snapshot_policies" "default" {
17+ }
18+
19+ resource "alicloud_ecs_disk" "default" {
20+ zone_id = data. alicloud_zones . default . zones . 0 . id
21+ size = var. system_disk_size
22+ }
23+
24+ resource "alicloud_ecs_snapshot" "default" {
25+ disk_id = alicloud_ecs_disk_attachment. default . disk_id
26+ category = " standard"
27+ force = var. force_delete
28+ }
29+
30+ resource "alicloud_ecs_disk_attachment" "default" {
31+ disk_id = alicloud_ecs_disk. default . id
32+ instance_id = module. ecs_instance . this_instance_id [0 ]
33+ }
34+
35+ resource "alicloud_ecs_key_pair" "default" {
36+ key_pair_name = " key_pair_name_2022"
37+ }
38+
39+ resource "alicloud_ram_role" "default" {
40+ name = " tf-ram-name-2022"
41+ document = var. document
42+ }
43+
44+ resource "alicloud_kms_key" "kms" {
45+ key_usage = " ENCRYPT/DECRYPT"
46+ pending_window_in_days = var. pending_window_in_days
47+ status = " Enabled"
48+ }
49+
50+ resource "alicloud_kms_ciphertext" "kms" {
51+ plaintext = " test"
52+ key_id = alicloud_kms_key. kms . id
53+ encryption_context = {
54+ test = " test"
55+ }
56+ }
57+
58+ module "security_group" {
59+ source = " alibaba/security-group/alicloud"
60+ vpc_id = module. vpc . this_vpc_id
61+ }
62+
63+ module "vpc" {
64+ source = " alibaba/vpc/alicloud"
65+ create = true
66+ vpc_cidr = " 172.16.0.0/12"
67+ vswitch_cidrs = [" 172.16.0.0/21" ]
68+ availability_zones = [data . alicloud_zones . default . zones . 0 . id ]
69+ }
70+
71+ module "ecs_instance" {
72+ source = " ../.."
73+
74+ number_of_instances = 1
75+
76+ instance_type = data. alicloud_instance_types . default . instance_types . 0 . id
77+ image_id = data. alicloud_images . default . images . 0 . id
78+ vswitch_ids = [module . vpc . this_vswitch_ids [0 ]]
79+ security_group_ids = [module . security_group . this_security_group_id ]
80+ description = var. description
81+ }
82+
83+ module "example" {
84+ source = " ../.."
85+
86+ number_of_instances = 1
87+
88+ image_id = data. alicloud_images . default . images . 0 . id
89+ image_ids = data. alicloud_images . default . ids
90+ instance_type = data. alicloud_instance_types . default . instance_types . 0 . id
91+ security_group_ids = [module . security_group . this_security_group_id ]
92+ vswitch_id = module. vpc . this_vswitch_ids [0 ]
93+ vswitch_ids = module. vpc . this_vswitch_ids
94+ private_ip = var. private_ip
95+ private_ips = var. private_ips
96+ name = var. name
97+ use_num_suffix = true
98+ host_name = var. host_name
99+ resource_group_id = data. alicloud_resource_manager_resource_groups . default . groups . 0 . id
100+ description = var. description
101+ internet_charge_type = var. internet_charge_type
102+ password = var. password
103+ kms_encrypted_password = var. kms_encrypted_password
104+ kms_encryption_context = alicloud_kms_ciphertext. kms . encryption_context
105+ system_disk_category = " cloud_efficiency"
106+ system_disk_size = var. system_disk_size
107+ system_disk_auto_snapshot_policy_id = data. alicloud_ecs_auto_snapshot_policies . default . policies . 0 . id
108+ data_disks = [
109+ {
110+ name = " data_disks_name"
111+ size = " 20"
112+ category = " cloud_ssd"
113+ encrypted = false
114+ snapshot_id = alicloud_ecs_snapshot.default.id
115+ delete_with_instance = true
116+ description = " tf-description"
117+ auto_snapshot_policy_id = data.alicloud_ecs_auto_snapshot_policies.default.policies.0 .id
118+ }
119+ ]
120+ associate_public_ip_address = true
121+ internet_max_bandwidth_out = var. internet_max_bandwidth_out
122+ instance_charge_type = var. instance_charge_type
123+ subscription = var. subscription
124+ dry_run = var. dry_run
125+ user_data = var. user_data
126+ role_name = alicloud_ram_role. default . id
127+ key_name = alicloud_ecs_key_pair. default . id
128+ deletion_protection = var. deletion_protection
129+ force_delete = var. force_delete
130+ security_enhancement_strategy = " Active"
131+ credit_specification = null
132+ spot_strategy = " NoSpot"
133+ spot_price_limit = 0
134+ tags = var. tags
135+ volume_tags = var. volume_tags
136+
137+ }
0 commit comments