diff --git a/quickstarts/DNS/201-use-case-gtm-solution-Example/README.md b/quickstarts/DNS/201-use-case-gtm-solution-Example/README.md new file mode 100644 index 000000000..efb0ba31b --- /dev/null +++ b/quickstarts/DNS/201-use-case-gtm-solution-Example/README.md @@ -0,0 +1,35 @@ + +## Providers + +| Name | Version | +|------|---------| +| [alicloud](#provider\_alicloud) | n/a | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [alicloud_ecs_command.deploy](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_command) | resource | +| [alicloud_ecs_invocation.invocation](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/ecs_invocation) | resource | +| [alicloud_instance.instance](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/instance) | resource | +| [alicloud_security_group.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group) | resource | +| [alicloud_security_group_rule.allow_tcp_22](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource | +| [alicloud_security_group_rule.allow_tcp_3389](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource | +| [alicloud_security_group_rule.allow_tcp_443](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource | +| [alicloud_security_group_rule.allow_tcp_80](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/security_group_rule) | resource | +| [alicloud_vpc.vpc](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vpc) | resource | +| [alicloud_vswitch.vsw](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/vswitch) | resource | +| [alicloud_zones.default](https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/data-sources/zones) | data source | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [instance\_type](#input\_instance\_type) | n/a | `string` | `"ecs.e-c1m1.large"` | no | +| [password](#input\_password) | The password for the ECS instance must be 8 to 30 characters in length and must include at least three of the following character types: uppercase letters, lowercase letters, numbers, and special symbols. | `string` | `"Test@12345<>"` | no | +| [region](#input\_region) | n/a | `string` | `"cn-hangzhou"` | no | + \ No newline at end of file diff --git a/quickstarts/DNS/201-use-case-gtm-solution-Example/main.tf b/quickstarts/DNS/201-use-case-gtm-solution-Example/main.tf new file mode 100644 index 000000000..53307dcc0 --- /dev/null +++ b/quickstarts/DNS/201-use-case-gtm-solution-Example/main.tf @@ -0,0 +1,123 @@ +variable "region" { + default = "cn-hangzhou" +} + +variable "password" { + default = "Test@12345<>" + description = "The password for the ECS instance must be 8 to 30 characters in length and must include at least three of the following character types: uppercase letters, lowercase letters, numbers, and special symbols." +} + +variable "instance_type" { + default = "ecs.e-c1m1.large" +} + +provider "alicloud" { + region = var.region +} + +data "alicloud_zones" "default" { + available_disk_category = "cloud_essd" + available_resource_creation = "VSwitch" + available_instance_type = var.instance_type +} + +resource "alicloud_vpc" "vpc" { + vpc_name = "vpc01" + cidr_block = "192.168.0.0/16" +} + +resource "alicloud_vswitch" "vsw" { + vswitch_name = "vsw01" + vpc_id = alicloud_vpc.vpc.id + cidr_block = "192.168.0.0/24" + zone_id = data.alicloud_zones.default.zones.0.id +} + +resource "alicloud_security_group" "default" { + security_group_name = "sg01" + vpc_id = alicloud_vpc.vpc.id +} + +resource "alicloud_instance" "instance" { + availability_zone = data.alicloud_zones.default.zones.0.id + security_groups = alicloud_security_group.default.*.id + password = var.password + instance_type = var.instance_type + system_disk_category = "cloud_essd" + image_id = "aliyun_3_x64_20G_alibase_20250629.vhd" + instance_name = "ecs-for-gtm-test" + vswitch_id = alicloud_vswitch.vsw.id + internet_max_bandwidth_out = 5 +} + +resource "alicloud_security_group_rule" "allow_tcp_22" { + type = "ingress" + ip_protocol = "tcp" + nic_type = "intranet" + policy = "accept" + port_range = "22/22" + priority = 1 + security_group_id = alicloud_security_group.default.id + cidr_ip = "0.0.0.0/0" +} + +resource "alicloud_security_group_rule" "allow_tcp_3389" { + type = "ingress" + ip_protocol = "tcp" + nic_type = "intranet" + policy = "accept" + port_range = "3389/3389" + priority = 1 + security_group_id = alicloud_security_group.default.id + cidr_ip = "0.0.0.0/0" +} + +resource "alicloud_security_group_rule" "allow_tcp_80" { + type = "ingress" + ip_protocol = "tcp" + nic_type = "intranet" + policy = "accept" + port_range = "80/80" + priority = 1 + security_group_id = alicloud_security_group.default.id + cidr_ip = "0.0.0.0/0" +} + +resource "alicloud_security_group_rule" "allow_tcp_443" { + type = "ingress" + ip_protocol = "tcp" + nic_type = "intranet" + policy = "accept" + port_range = "443/443" + priority = 1 + security_group_id = alicloud_security_group.default.id + cidr_ip = "0.0.0.0/0" +} + +locals { + command_content = <