Terraform参考

Terraform是一种开源工具,用于安全高效地预览、配置和管理云基础架构和资源。本文介绍如何通过Terraform配置云原生API网关。

前提条件

  • 已开通云原生API网关服务。

  • 准备Terraform运行环境,可以选择以下任一方式使用Terraform。

    说明

    需要使用v1.240.0及以上版本。

示例用法在阿里云中打开

快速上手

此示例将创建一个按量付费的云原生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
}

参数参考

参数

属性

说明

gateway_name

Optional,

网关名称。

gateway_type

Optional, ForceNew

描述网关类型,分为以下两种类型:

  • API:表示API网关。

  • AI:表示AI网关。

说明

v1.260.1及以上版本支持。

log_config

Optional, List

支持以下内容:

  • sls:(Optional, List)支持以下内容:

    enable:(Optional)启用日志服务

network_access_config

Optional, List

支持以下内容:

type- (Optional)网络访问类型。可选项:

  • Internet

  • Intranet

  • InternetAndIntranet

payment_type

Required, ForceNew

资源的计费类型。支持以下内容:

  • PayAsYouGo

  • Subscription

resource_group_id

Optional, Computed

资源组的 ID。

spec

Optional, ForceNew

网关实例规格。可选项:

  • apigw.dev.x1

  • apigw.small.x1

  • apigw.small.x2

  • apigw.small.x4

  • apigw.medium.x1

  • apigw.medium.x2

  • apigw.medium.x3

  • apigw.large.x1

  • apigw.large.x2

  • apigw.large.x3

  • apigw.large.x4

tags

Optional, Map

资源的标签。

vswitch

Optional, ForceNew, List

与网关关联的虚拟交换机,支持以下内容:

vswitch_id:(Optional, ForceNew)虚拟交换机的 ID。

vpc

Optional, ForceNew, List

与网关关联的 VPC,支持以下内容:

vpc_id:(Required,ForceNew)VPC 网络 ID。

zone_config

Required, List

可用区域配置,支持以下内容:

select_option:(Required)可用区域选项。

zones

Optional, ForceNew, List

与网关关联的区域列表,支持以下内容:

  • vswitch_id:(Optional, ForceNew)虚拟交换机 ID。

  • zone_id:(Optional, ForceNew)区域 ID。

说明

v1.260.1及以上版本支持。

属性参考

  • 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>