{
"terraform": {
"required_providers": [
{
"huaweicloud": {
"source": "huawei.com/provider/huaweicloud",
"version": ">=1.42.0"
}
}
]
},
"provider": {
"huaweicloud": {
"cloud": "myhuaweicloud.com",
"endpoints": {
"iam": "iam.cn-north-4.myhuaweicloud.com",
"dns": "dns.cn-north-4.myhuaweicloud.com"
},
"insecure": true,
"region": "cn-north-4",
"auth_url": "https://iam.cn-north-4.myhuaweicloud.com/v3"
}
},
"variable": {
"vpc_name": {
"default": "rapid_deployment_of_baota_panel_demo",
"description": "虚拟私有云名称,该模板新建VPC,不支持重名。取值范围:1-55个字符,支持字母、数字、中文、下划线(_)、中划线(-)、句点(.)。默认为rapid_deployment_of_baota_panel_demo。",
"type": "string",
"nullable": "false"
},
"hecs_name": {
"default": "rapid_deployment_of_baota_panel_demo",
"description": "云耀云服务器名称,不支持重名,取值范围:1-60个字符组成,包括字母、数字、下划线 (_)、连字符 (-) 和句点 (.)。默认为rapid_deployment_of_baota_panel_demo。",
"type": "string",
"nullable": "false"
},
"hecs_admin_pass": {
"default": "",
"description": "云耀云服务器初始密码,创建完成后,五分钟后生效,请参考部署指南修改密码。取值范围:长度为8-26位,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种,密码不能包含用户名或用户名的逆序。管理员帐户为root。",
"type": "string",
"nullable": "false",
"sensitive": "true"
},
"period_unit": {
"default": "month",
"description": "云耀云服务器及弹性IP订购周期类型,取值范围:month(月),year(年)。默认month。",
"type": "string",
"nullable": "false"
},
"charging_period": {
"default": 1,
"description": "云耀云服务器及弹性EIP订购周期,取值范围:period_unit=month(周期类型为月)时,取值为1-9;period_unit=year(周期类型为年)时,取值为1-3。默认为1。",
"type": "number",
"nullable": "false"
},
"hecs_flavor": {
"default": "x.large.2",
"description": "云耀云服务器规格名称,可选规格有:x.small.1(1vCPUs|1GiB)、x.medium.2(1vCPUs|2GiB)、x.medium.4(1vCPUs|4GiB)、x.large.2(2vCPUs|4GiB)。其他类型服务器规格请参考官网弹性云服务器规格清单。默认为x.large.2(2vCPUs|4GiB)",
"type": "string",
"nullable": "false"
}
},
"data": {
"huaweicloud_availability_zones": {
"availability_zones": {}
},
"huaweicloud_images_image": {
"image_centos": {
"most_recent": true,
"name": "CentOS 7.6 64bit",
"os": "CentOS",
"os_version": "CentOS 7.6 64bit"
}
}
},
"resource": {
"huaweicloud_vpc": {
"vpc": {
"cidr": "192.168.0.0/16",
"name": "${var.vpc_name}"
}
},
"huaweicloud_vpc_subnet": {
"vpc_subnet": {
"availability_zone": "${data.huaweicloud_availability_zones.availability_zones.names[0]}",
"cidr": "192.168.10.0/24",
"gateway_ip": "192.168.10.1",
"name": "${var.vpc_name}_subnet",
"vpc_id": "${huaweicloud_vpc.vpc.id}"
}
},
"huaweicloud_networking_secgroup": {
"networking_secgroup": {
"name": "${var.vpc_name}_secgroup"
}
},
"huaweicloud_networking_secgroup_rule": {
"secgroup_rule_ssh": {
"description": "允许ssh远程连接linux云耀云服务器",
"direction": "ingress",
"ethertype": "IPv4",
"ports": 22,
"protocol": "tcp",
"remote_ip_prefix": "192.168.10.0/24",
"security_group_id": "${huaweicloud_networking_secgroup.networking_secgroup.id}"
},
"secgroup_rule_baota": {
"description": "允许用户通过游览器登录宝塔面板",
"direction": "ingress",
"ethertype": "IPv4",
"ports": 8888,
"protocol": "tcp",
"remote_ip_prefix": "192.168.10.0/24",
"security_group_id": "${huaweicloud_networking_secgroup.networking_secgroup.id}"
}
},
"huaweicloud_vpc_eip": {
"vpc_eip": {
"bandwidth": [
{
"charge_mode": "bandwidth",
"name": "${var.hecs_name}_eip",
"share_type": "PER",
"size": 1
}
],
"charging_mode": "prePaid",
"period_unit": "${var.period_unit}",
"period": "${var.charging_period}",
"auto_pay": true,
"publicip": [
{
"type": "5_bgp"
}
]
}
},
"huaweicloud_compute_instance": {
"compute_instance": {
"availability_zone": "${data.huaweicloud_availability_zones.availability_zones.names[0]}",
"name": "${var.hecs_name}_hecs",
"image_id": "${data.huaweicloud_images_image.image_centos.id}",
"flavor_id": "${var.hecs_flavor}",
"admin_pass": "${var.hecs_admin_pass}",
"system_disk_type": "SAS",
"system_disk_size": 40,
"charging_mode": "prePaid",
"period_unit": "${var.period_unit}",
"period": "${var.charging_period}",
"network": {
"uuid": "${huaweicloud_vpc_subnet.vpc_subnet.id}"
},
"security_group_ids": [
"${huaweicloud_networking_secgroup.networking_secgroup.id}"
],
"delete_disks_on_termination": true,
"eip_id": "${huaweicloud_vpc_eip.vpc_eip.id}",
"user_data": "#!/bin/bash\necho 'root:${var.hecs_admin_pass}'|chpasswd\nwget -P /root/ https://documentation-samples.obs.cn-north-4.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-moudle/rapid-deployment-of-baota-panel/userdata/initialize-baota-environment.sh\nchmod 700 /root/initialize-baota-environment.sh\nsh /root/initialize-baota-environment.sh\nrm -rf /root/initialize-baota-environment.sh"
}
}
}
}