5.2 KiB
description | layout | page_title | sidebar_current |
---|---|---|---|
The `tencentcloud-cvm` Packer builder plugin provide the capability to build customized images based on an existing base images. | docs | Tencentcloud Image Builder | docs-builders-tencentcloud-cvm |
Tencentcloud Image Builder
Type: tencentcloud-cvm
The tencentcloud-cvm
Packer builder plugin provide the capability to build
customized images based on an existing base images.
Configuration Reference
The following configuration options are available for building Tencentcloud images. In addition to the options listed here, a communicator can be configured for this builder.
Required:
-
secret_id
(string) - Tencentcloud secret id. You should set it directly, or set theTENCENTCLOUD_ACCESS_KEY
environment variable. -
secret_key
(string) - Tencentcloud secret key. You should set it directly, or set theTENCENTCLOUD_SECRET_KEY
environment variable. -
region
(string) - The region where your cvm will be launch. You should reference Region and Zone for parameter taking. -
zone
(string) - The zone where your cvm will be launch. You should reference Region and Zone for parameter taking. -
instance_type
(string) - The instance type your cvm will be launched by. You should reference Instace Type for parameter taking. -
source_image_id
(string) - The base image id of Image you want to create your customized image from. -
image_name
(string) - The name you want to create your customize image, it should be composed of no more than 20 characters, of letters, numbers or minus sign.
Optional:
-
force_poweroff
(boolean) - Whether to force power off cvm when create image. Default value isfalse
.Your cvm will try to shutdown normally; if shutdown failed and
force_poweroff
set, your cvm will be powered off, otherwise task will fail. -
image_description
(string) - Image description. -
reboot
(boolean) - Whether shutdown cvm to create Image. Default value isfalse
.If
reboot
is not set and cvm is running, create image task will fail. -
sysprep
(boolean) - Whether enable Sysprep during creating windows image. -
image_copy_regions
(array of strings) - regions that will be copied to after your image created. -
image_share_accounts
(array of strings) - accounts that will be shared to after your image created. -
skip_region_validation
(boolean) - Do not check region and zone when validate. -
associate_public_ip_address
(boolean) - Whether allocate public ip to your cvm. Default value isfalse
.If not set, you could access your cvm from the same vpc.
-
instance_name
(string) - Instance name. -
disk_type
(string) - Root disk type your cvm will be launched by. you could reference Disk Type for parameter taking. -
disk_size
(number) - Root disk size your cvm will be launched by. values range(in GB):- LOCAL_BASIC: 50
- Other: 50 ~ 1000 (need whitelist if > 50)
-
vpc_id
(string) - Specify vpc your cvm will be launched by. -
vpc_name
(string) - Specify vpc name you will create. ifvpc_id
is not set, packer will create a vpc for you named this parameter. -
cidr_block
(boolean) - Specify cider block of the vpc you will create ifvpc_id
not set -
subnet_id
(string) - Specify subnet your cvm will be launched by. -
subnet_name
(string) - Specify subnet name you will create. ifsubnet_id
is not set, packer will create a subnet for you named this parameter. -
subnect_cidr_block
(boolean) - Specify cider block of the subnet you will create ifsubnet_id
not set -
internet_max_bandwidth_out
(number) - Max bandwidth out your cvm will be launched by(in MB). values can be set between 1 ~ 100. -
security_group_id
(string) - Specify security group your cvm will be launched by. -
security_group_name
(string) - Specify security name you will create ifsecurity_group_id
not set. -
user_data
(string) - userdata. -
user_data_file
(string) - userdata file. -
host_name
(string) - host name.
Basic Example
Here is a basic example for Tencentcloud.
{
"variables": {
"secret_id": "{{env `TENCENTCLOUD_ACCESS_KEY`}}",
"secret_key": "{{env `TENCENTCLOUD_SECRET_KEY`}}"
},
"builders": [{
"type": "tencentcloud-cvm",
"secret_id": "{{user `secret_id`}}",
"secret_key": "{{user `secret_key`}}",
"region": "ap-guangzhou",
"zone": "ap-guangzhou-3",
"instance_type": "S3.SMALL1",
"source_image_id": "img-oikl1tzv",
"ssh_username" : "root",
"image_name": "packerTest2",
"packer_debug": true,
"associate_public_ip_address": true
}],
"provisioners": [{
"type": "shell",
"inline": [
"sleep 30",
"yum install redis.x86_64 -y"
]
}]
}
See the examples/tencentcloud folder in the packer project for more examples.