packer-cn/website/source/docs/builders/tencentcloud-cvm.html.md

155 lines
5.2 KiB
Markdown

---
description: |
The `tencentcloud-cvm` Packer builder plugin provide the capability to build
customized images based on an existing base images.
layout: docs
page_title: 'Tencentcloud Image Builder'
sidebar_current: '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](/docs/templates/communicator.html) can be configured for this
builder.
### Required:
- `secret_id` (string) - Tencentcloud secret id. You should set it directly,
or set the `TENCENTCLOUD_ACCESS_KEY` environment variable.
- `secret_key` (string) - Tencentcloud secret key. You should set it directly,
or set the `TENCENTCLOUD_SECRET_KEY` environment variable.
- `region` (string) - The region where your cvm will be launch. You should
reference [Region and Zone](https://cloud.tencent.com/document/product/213/6091)
for parameter taking.
- `zone` (string) - The zone where your cvm will be launch. You should
reference [Region and Zone](https://cloud.tencent.com/document/product/213/6091)
for parameter taking.
- `instance_type` (string) - The instance type your cvm will be launched by.
You should reference [Instace Type](https://cloud.tencent.com/document/product/213/11518)
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 is `false`.
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 is
`false`.
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 is `false`.
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](https://cloud.tencent.com/document/api/213/15753#SystemDisk)
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. if `vpc_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 if `vpc_id` not set
- `subnet_id` (string) - Specify subnet your cvm will be launched by.
- `subnet_name` (string) - Specify subnet name you will create. if `subnet_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 if
`subnet_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 if `security_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.
``` json
{
"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](https://github.com/hashicorp/packer/tree/master/examples/tencentcloud)
folder in the packer project for more examples.