# 初始化云平台的客户端,./terraform
- terraform init
# 读取main.tf中声明的资源
- terraform plan -lock=false
# import existed cloud resource
- terraform import alicloud_fc_function.default nomad-marketing-sms-production:cronjob-function
- terraform import alicloud_fc_trigger.default nomad-marketing-sms-production:cronjob-function:cronjob-timer
# destroy existed resources
- terraform destroy -lock=false -auto-approve
# apply new cloud resources
- terraform apply -lock=false -auto-approve
main.tf:terraform 入口,可以声明需要的资源,变量等
output.tf:定义资源的ID
output "fc_function_id" {
value = "${alicloud_fcv2_function.default.id}/${alicloud_fcv2_function.default.function_name}"
}
variables.tf:定义变量
variable "alicloud_region" {
type = string
description = "Alicloud region"
default = "cn-shanghai"
}
variable "shanghai_access_key" {
type = string
description = "Alicloud access key"
nullable = false
sensitive = true
}
variable "shanghai_secret_key" {
type = string
description = "Alicloud secret key"
nullable = false
sensitive = true
}
./terraform:初始化云平台的客户端
terraform.tfstate:云资源在本地的状态
main.tf
provider "alicloud" {
access_key = var.shanghai_access_key
secret_key = var.shanghai_secret_key
region = var.alicloud_region
}
locals {
service_name = "service_name"
function_name = "cronjob-function"
image_name_cronjob = "image_name_cronjob"
cronjob_trigger_name = "cronjob-timer"
}
resource "alicloud_fcv2_function" "default" {
service_name = local.service_name
function_name = local.function_name
description = "cron-job description"
runtime = "custom-container"
timeout = 60
handler = "index.handler"
environment_variables = {
CRYPT_KEY = var.crypt_key
}
custom_container_config {
image = "registry-intl-vpc.cn-shanghai.aliyuncs.com/samarkand/${local.image_name_cronjob}:${var.image_tag}"
command = null
args = null
web_server_mode = false
}
}
resource "alicloud_fc_trigger" "default" {
service = local.service_name
function = local.function_name
depends_on = [
alicloud_fcv2_function.default,
]
# 定时触发器的配置
name = local.cronjob_trigger_name
type = "timer"
config = <<EOF
{
"enable": true,
"payload": "",
"cronExpression": "CRON_TZ=Asia/Shanghai 0 19 * * * *"
}
EOF
}
Refer
评论列表,共 0 条评论
暂无评论