青云terraform对接

发布时间 2023-05-29 09:54:58作者: yaoyu

https://github.com/yunify/terraform-provider-qingcloud/releases/download/v1.2.4/terraform-provider-qingcloud_linux-amd64_v1.2.4.tgz

wget -c https://github.com/yunify/terraform-provider-qingcloud/releases/download/v1.2.4/terraform-provider-qingcloud_linux-amd64_v1.2.4.tgz 缺少文件,报错:
Failed to instantiate provider "registry.terraform.io/hashicorp/qingcloud" to
obtain schema: fork/exec
.terraform/providers/registry.terraform.io/hashicorp/qingcloud/1.2.4/linux_amd64/terraform-provider-qingcloud_v1.2.4:
no such file or directory

wget -c https://github.com/HashDataInc/terraform-provider-qingcloud/releases/download/v1.2.7/terraform-provider-qingcloud_1.2.7_linux_amd64.zip 这个可以
{"message":null,"action":"DescribeZonesResponse","ret_code":0,"total_count":9,"zone_set":[{"status":"active","zone_id":"sh1b"},{"status":"active","zone_id":"sh1a"},{"status":"active","zone_id":"ap2a"},{"status":"active","zone_id":"gd2b"},{"status":"active","zone_id":"gd2a"},{"status":"active","zone_id":"pek3b"},{"status":"active","zone_id":"pek3c"},{"status":"active","zone_id":"pek3d"},{"status":"active","zone_id":"jinan1a"}]}

qingcloud = {
source = "qingcloud/qingcloud"
version = "1.2.7"
}


provider "qingcloud" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
zone = "${var.zone}"
endpoint = "${var.endpoint}" \\私有云需要 公有云默认地址https://api.qingcloud.com:443/iaas/
}

"endpoint":"https://api.qingcloud.com:443/iaas/",

1.vpc创建
https://github.com/yunify/terraform-provider-qingcloud/blob/master/website/docs/r/vpc.html.markdown

resource "qingcloud_vpc" "instance" {
name = var.name \\vpc1
vpc_network = var.vpc_network \\"192.168.0.0/16"
description = var.description
}
//创建子网
resource "qingcloud_vxnet" "instance" {
name = var.vxnetname \\vxnet1
type = 1
vpc_id = "${qingcloud_vpc.instance.id}"
ip_network = var.vx_ip_network \\"192.168.0.0/24"
}

2.ecs创建
https://github.com/yunify/terraform-provider-qingcloud/blob/master/website/docs/r/instance.html.markdown
resource "qingcloud_instance" "instance" {
name = var.name \\ecs1
cpu = var.cpu \\1,2,4,8,16
memory = var.memory \\1024, 2048, 4096, 6144, 8192, 12288, 16384, 24576, 32768
instance_class = var.instance_class \\ Type of instance , 0 - Performance type , 1 - Ultra high performance type.
image_id = var.image_id \\"centos7x64d"
managed_vxnet_id = var.managed_vxnet_id
security_group_id = var.security_group_id
volume_ids = ["${qingcloud_volume.instance1.id}","${qingcloud_volume.instance2.id}"]
eip_id = var.eip_id
keypair_ids = ["${qingcloud_keypair.instance.id}"]
login_passwd = var.login_passwd
os_disk_size = var.os_disk_size
}
resource "qingcloud_volume" "instance1"{
size = 10
}
resource "qingcloud_volume" "instance2"{
size = 20
}


image_id - The Image to use for the instance .
name - The name of instance.
description- The description of instance.
cpu - cpu of instance , effective value(core) :1, 2, 4, 8, 16.
memory - memory of instance , effective value(GB) :1024, 2048, 4096, 6144, 8192, 12288, 16384, 24576, 32768.
instance_class - Type of instance , 0 - Performance type , 1 - Ultra high performance type.
managed_vxnet_id - managed vxnet id , instance wants to use.
private_ip - the ip in managed_vxnet_id.
keypair_ids - List of keypair ids , instance wants to use.
security_group_id - security group id , instance wants to use.
eip_id - eip id , instance wants to use.
volume_ids - List of volume ids , instance wants to use.
public_ip - Public ip of instance.
userdata - An archive's base64 code.

 

3.evs
https://github.com/yunify/terraform-provider-qingcloud/blob/master/website/docs/r/volume.html.markdown

resource "qingcloud_volume" "instance"{
size = var.size \\10
name = var.name
description = var.description
type = var.type \\0
}

4.eip
https://github.com/yunify/terraform-provider-qingcloud/blob/master/website/docs/r/eip.html.markdown

resource "qingcloud_eip" "instance" {
name = var.name \\eip1
description = var.description
billing_mode = var.billing_mode \\"bandwidth"
bandwidth = var.bandwidth \\2
need_icp = 0
}

5.keypair
https://github.com/yunify/terraform-provider-qingcloud/blob/master/website/docs/r/keypair.html.markdown

resource "qingcloud_keypair" "instance" {
name = var.name
public_key = var.public_key \\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyLSPqVIdXGH0QlGeWcPwa1fjTRKl6WtMiaSsP8/GnwjakDSKILUCoNe1yIpiK8F0/gmL71xaDQyfl7k6aE+gn6lSLUjpDmucAF1luGg6l7CIN+6hCqY3YqlAI05Tqwu0PdLAwCbGwdHcaWfECcbROJk5D0zpCTHmissrrAxdOv72g9Ple8KJ6C7F1tz6wmG0zUeineguGjW/PvfZiBDWZ/CyXGPeMDJxv3lrIiLa/ShgnQOxFTdHJPCw+F0/XlSzlIzP3gfni1vXxJWvYjdE9ULo7Z1DLWgZ73FCbeAvX/0e9C9jwT21Qa5RUy4pSP8m4WXSJgw2f9IpY1vIJFSZP root@centos1"
description = var.description
}


密钥对 安全组 镜像

青云terraform支持的资源类型:
eip 弹性公网IP
instance 云服务器ecs
keypair SSH密钥
loadbalancer 负载均衡
security_group 安全组
security_group_rule 安全组规则
server_certificate 服务器证书
tag 标签
volume 云硬盘
vpc VPC网络
vxnet 子网

青云的 ak和sk
BPWWWJNHGANBYWPHLUQL
prOs0FGQs0yB8zLml8OUylsIYX2KWY1sKfneZjZG

15529380884 Panglin_1127


wss://cb0pek3b.qingcloud.com:13119/i-109vksnf