HHWCloudSolution代码更新
a87bb153Add on Jan 4, 2023History
{
    "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"
            }
        }
    }
}