Terraform是一种开源工具,用于安全高效地预览、配置和管理云基础架构和资源。本文介绍如何通过Terraform配置云原生API网关。
前提条件
已开通云原生API网关服务。
准备Terraform运行环境,可以选择以下任一方式使用Terraform。
说明需要使用
v1.240.0及以上版本。在Terraform Explorer中使用Terraform:阿里云提供Terraform的在线运行环境,无需安装Terraform,登录后即可在线使用和体验Terraform。
Cloud Shell:阿里云Cloud Shell中预装Terraform的组件,并已配置好身份凭证,可直接在Cloud Shell中运行Terraform的命令。
在本地安装和配置Terraform:适用于网络连接较差或需要自定义开发环境的场景。
示例用法
快速上手
此示例将创建一个按量付费的云原生API 网关实例。
variable "name" {
default = "terraform-example"
}
provider "alicloud" {
region = "cn-hangzhou"
}
data "alicloud_resource_manager_resource_groups" "default" {}
data "alicloud_vpcs" "default" {
name_regex = "^default-NODELETING$"
}
data "alicloud_vswitches" "default" {
vpc_id = data.alicloud_vpcs.default.ids.0
}
resource "alicloud_apig_gateway" "default" {
network_access_config {
type = "Intranet"
}
log_config {
sls {
enable = "false"
}
}
resource_group_id = data.alicloud_resource_manager_resource_groups.default.ids.1
spec = "apigw.small.x1"
vpc {
vpc_id = data.alicloud_vpcs.default.ids.0
}
zone_config {
select_option = "Auto"
}
vswitch {
vswitch_id = data.alicloud_vswitches.default.ids.0
}
payment_type = "PayAsYouGo"
gateway_name = var.name
}参数参考
参数 | 属性 | 说明 |
| Optional, | 网关名称。 |
| Optional, ForceNew | 描述网关类型,分为以下两种类型:
说明
|
| Optional, List | 支持以下内容:
|
| Optional, List | 支持以下内容:
|
| Required, ForceNew | 资源的计费类型。支持以下内容:
|
| Optional, Computed | 资源组的 ID。 |
| Optional, ForceNew | 网关实例规格。可选项:
|
| Optional, Map | 资源的标签。 |
| Optional, ForceNew, List | 与网关关联的虚拟交换机,支持以下内容:
|
| Optional, ForceNew, List | 与网关关联的 VPC,支持以下内容:
|
| Required, List | 可用区域配置,支持以下内容:
|
| Optional, ForceNew, List | 与网关关联的区域列表,支持以下内容:
说明
|
属性参考
id:资源的唯一标识符,即网关实例ID。create_time:实例创建时间戳,单位为毫秒。status:资源的状态。vswitch:与网关关联的虚拟交换机。name:虚拟交换机名称。
vpc:与网关关联的专有网络。name: 专有网络名称。
zones- 与网关关联的区域列表。name: 区域名称。
超时
timeouts 块允许为以下操作指定超时时间:
create:(默认为 11 分钟)创建网关时使用。delete:(默认为 5 分钟)删除网关时使用。update:(默认为 5 分钟)更新网关时使用。
导入
支持使用网关实例的ID导入 APIG 网关。
$ terraform import alicloud_apig_gateway.example <id>