使用 aws_ec2_local_gateway_virtual_interface_groups 数据源批量查询 EC2 本地网关虚拟接口组

发布时间:2026/11/12 19:39:50

使用 aws_ec2_local_gateway_virtual_interface_groups 数据源批量查询 EC2 本地网关虚拟接口组 使用 aws_ec2_local_gateway_virtual_interface_groups 数据源批量查询 EC2 本地网关虚拟接口组【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws本文面向需要在 AWS Outposts 网络场景中批量发现 EC2 Local Gateway Virtual Interface Group本地网关虚拟接口组的 Terraform 使用者基于 terraform-provider-aws 官方文档与源码完整讲解aws_ec2_local_gateway_virtual_interface_groups数据源的用法、全部参数与导出属性并结合仓库内的实现与测试代码揭示其底层工作原理。读完本文你将能够用极简配置一次性取回所有虚拟接口组的标识符ids与虚拟接口标识符local_gateway_virtual_interface_ids并通过filter与tags精确缩小查询范围为后续的资源引用如本地网关路由表关联提供输入。数据源概述aws_ec2_local_gateway_virtual_interface_groups是 terraform-provider-aws 中归属于 Outposts (EC2) 子类别的数据源用于同时查询多个 EC2 Local Gateway Virtual Interface Group的详细信息例如标识符。在 AWS Outposts 的组网模型中本地网关Local Gateway上承载着多个虚拟接口组Virtual Interface Group每个组又关联若干虚拟接口Virtual Interface。该数据源与单数版本aws_ec2_local_gateway_virtual_interface_group见 website/docs/d/ec2_local_gateway_virtual_interface_group.html.markdown的区别在于单数版按local_gateway_id或id精确定位一个组而本数据源返回多个组的标识符集合适合在不预先知道具体组 ID 的情况下做批量发现与遍历。在仓库中的官方文档位于 website/docs/d/ec2_local_gateway_virtual_interface_groups.html.markdown其底层实现位于 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source.go。最小示例与许多 EC2 数据源一样最简单的用法是不提供任何筛选条件直接拉取当前区域内的全部本地网关虚拟接口组data aws_ec2_local_gateway_virtual_interface_groups all {}执行terraform apply或terraform plan后即可通过data.aws_ec2_local_gateway_virtual_interface_groups.all.ids拿到所有组的标识符列表。数据源默认在当前 Provider 配置指定的区域内查询无需额外参数。参数参考Argument Reference该数据源的所有参数都是可选的包括参数是否必填说明region可选该数据源执行查询的 AWS 区域。默认使用 Provider 配置中设置的区域filter可选一个或多个name/values筛选块对应 EC2 API 中DescribeLocalGatewayVirtualInterfaceGroups支持的过滤器。详见下文tags可选键值对形式的资源标签映射每个键值对必须与目标本地网关路由表上的标签完全一致filter 块参数filter配置块内部支持以下两个参数二者均为必填name- (Required) 过滤器名称即 EC2DescribeLocalGatewayVirtualInterfaceGroupsAPI 所支持的过滤字段名例如local-gateway-id。values- (Required) 一个或多个过滤器取值构成的列表。例如按本地网关 ID 筛选该写法与仓库测试用例中的配置一致见 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source_test.godata aws_ec2_local_gateways test {} data aws_ec2_local_gateway_virtual_interface_groups test { filter { name local-gateway-id values [tolist(data.aws_ec2_local_gateways.test.ids)[0]] } }需要说明的是EC2 的过滤语义是必须匹配所有 filter 块块与块之间为 AND而单个块内的多个 values 只需匹配其中之一值之间为 OR。filter块的底层 schema 是一个schema.TypeSet的可选属性见 internal/service/ec2/filters.go因此多个 filter 块的书写顺序不影响最终查询结果。按标签筛选tags参数会将配置中的标签转换成tag:key形式的 EC2 过滤器源码中通过newTagFilterList将每个标签映射为一个tag:前缀的 Filter见 internal/service/ec2/filters.go并追加到DescribeLocalGatewayVirtualInterfaceGroups请求中。因此tags中的每个键值对都必须与目标虚拟接口组上的真实标签完全一致才能命中。data aws_ec2_local_gateways test {} data aws_ec2_local_gateway_virtual_interface_groups source { filter { name local-gateway-id values [tolist(data.aws_ec2_local_gateways.test.ids)[0]] } } # 先给查询到的第一个组打标签 resource aws_ec2_tag test { key environment resource_id tolist(data.aws_ec2_local_gateway_virtual_interface_groups.source.ids)[0] value production } # 再按标签精确查询 data aws_ec2_local_gateway_virtual_interface_groups test { tags { (aws_ec2_tag.test.key) aws_ec2_tag.test.value } }以上写法与仓库中TestAccEC2OutpostsLocalGatewayVirtualInterfaceGroupsDataSource_tags的测试配置同构展示了「先通过 filter 定位 → 打标签 → 再按 tags 查询」的完整闭环。属性参考Attribute Reference除上述参数外该数据源还会导出以下属性属性说明idAWS 区域标识数据源本身不映射到某个具体资源因此以查询区域作为 ididsEC2 Local Gateway Virtual Interface Group 标识符集合local_gateway_virtual_interface_idsEC2 Local Gateway Virtual Interface 标识符集合其中local_gateway_virtual_interface_ids是所有命中的虚拟接口组所关联的虚拟接口 ID 的并集源码在遍历查询结果时对每个组追加其LocalGatewayVirtualInterfaceGroupId并把该组的LocalGatewayVirtualInterfaceIds全部展开追加见 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source.go。超时配置Timeouts该数据源仅支持read操作超时默认值为20mdata aws_ec2_local_gateway_virtual_interface_groups all { timeouts { read 10m } }对应源码中schema.ResourceTimeout对Read的默认设置见 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source.go。通常该查询一次即可完成默认值足够仅当网络异常或 API 限流时可能需要调大。源码实现与底层调用链理解底层调用链有助于判断该数据源的查询行为与适用范围。从 Schema 到 API 请求数据源通过dataSourceLocalGatewayVirtualInterfaceGroups定义 schema并注册ReadWithoutTimeout: dataSourceLocalGatewayVirtualInterfaceGroupsRead作为读取回调。读取过程的核心逻辑如下对应 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source.go从 Provider 上下文取得 EC2 客户端meta.(*conns.AWSClient).EC2Client(ctx)构造ec2.DescribeLocalGatewayVirtualInterfaceGroupsInput请求将tags参数转换为tag:key过滤器将filter块转换为自定义过滤器一并追加到请求的Filters中调用 finder 函数执行查询遍历结果分别收集组 ID 与虚拟接口 ID以当前查询区域Region作为数据源id写入ids与local_gateway_virtual_interface_ids。分页查询由于组数量可能较多finder 使用了 AWS SDK for Go v2 的分页器DescribeLocalGatewayVirtualInterfaceGroupsPaginator逐页拉取直至HasMorePages()返回 false 后合并全部结果见 internal/service/ec2/find.go。这意味着该数据源天然支持任意数量的虚拟接口组不会因为组过多而被截断——这与单数版数据源复用同一 finder 后再调用tfresource.AssertSingleValueResult强制只保留唯一结果的逻辑形成对比见 internal/service/ec2/find.go。自定义过滤器的规范化filter块底层由customFiltersSchema提供它是一个TypeSet类型的 schema元素包含name与values两个字段见 internal/service/ec2/filters.go。读取时由newCustomFilterList将其转换为 EC2Filter对象。这套机制是 EC2 服务下大量数据源的通用约定因此本数据源在使用体验上与aws_ec2_local_gateway_virtual_interface、aws_ec2_subnets等数据源的filter块完全一致。测试覆盖与验证仓库为数据源提供了三组 acceptance 测试见 internal/service/ec2/outposts_local_gateway_virtual_interface_groups_data_source_test.go可作为使用时的行为参照TestAccEC2OutpostsLocalGatewayVirtualInterfaceGroupsDataSource_basic无任何参数直接查询验证ids.#与local_gateway_virtual_interface_ids.#的数量TestAccEC2OutpostsLocalGatewayVirtualInterfaceGroupsDataSource_filter通过filter { name local-gateway-id }限定到单个本地网关验证筛选生效TestAccEC2OutpostsLocalGatewayVirtualInterfaceGroupsDataSource_tags先给组打标签再以tags精确匹配验证标签筛选生效。三组测试都要求环境存在 Outposts 资源PreCheckOutpostsOutposts这是该数据源在真实世界中可用的前提条件只有在已部署 AWS Outposts 的账号/区域中本地网关虚拟接口组才会存在否则查询结果为空列表。典型使用场景该数据源的典型用途是为其他资源提供输入常见组合包括配合aws_ec2_local_gateway_route_table_virtual_interface_group_association见 website/docs/r/ec2_local_gateway_route_table_virtual_interface_group_association.html.markdown将路由表与组关联例如用count/for_each遍历ids批量建立关联配合aws_ec2_local_gateway_route见 website/docs/r/ec2_local_gateway_route.html.markdown在本地网关上添加路由在模块化设计中将ids作为 output 暴露给上层模块供其按需引用。与单数版数据源website/docs/d/ec2_local_gateway_virtual_interface_group.html.markdown以及虚拟接口数据源website/docs/d/ec2_local_gateway_virtual_interface.html.markdown配合使用时可以构建出「本地网关 → 虚拟接口组 → 虚拟接口」的完整发现链路。使用注意事项区域敏感数据源默认在当前 Provider 区域查询跨区域场景需显式指定region空结果合法当区域中没有 Outposts 部署或没有匹配的虚拟接口组时ids与local_gateway_virtual_interface_ids为空列表而不是报错id不等于组 ID数据源的id是查询区域AWS Region组标识符集合是ids二者不要混淆如需单个组的 ID请使用单数版数据源或从ids中取元素如tolist(...ids)[0]tags 匹配需完全一致标签筛选要求键值对与资源上的实际标签完全相等适合与aws_ec2_tag等打标签资源配合实现动态发现升级到 4.x 及以后版本在旧版本升级指南中曾涉及该数据源相关资源的变更说明可参阅 website/docs/guides/version-4-upgrade.html.markdown 确认当前行为。小结aws_ec2_local_gateway_virtual_interface_groups是一个「零必填参数、批量返回标识符」的轻量数据源通过可选的region、filter、tags控制查询范围通过ids与local_gateway_virtual_interface_ids输出结果并支持20m默认读取超时。其底层基于DescribeLocalGatewayVirtualInterfaceGroupsAPI 与分页器实现可安全用于大规模 Outposts 组网下的批量发现是构建本地网关路由与关联资源的理想输入源。【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/5 19:31:22

2025年3D打印技术突破与应用全景解析

1. 3D打印技术发展现状解析2025年的3D打印技术已经突破了传统制造方式的诸多限制,正在从实验室走向工业化量产。从桌面级FDM打印机到工业级金属增材制造系统,这项技术正在重塑全球制造业格局。根据最新行业报告显示,全球3D打印市场规模预计将…

2026/11/6 0:43:06

工控现场调试瑞士军刀:良友工控助手功能与实战解析

干了十几年工控,箱子里的调试工具越攒越多。串口线、USB转485、网口转接头、各个厂家的编程软件、各种协议测试小工具,每次出差跟搬家一样。现场最怕的不是设备坏了,是电脑里装的软件版本不对,或者到了现场发现手头缺一个能临时测…

2026/11/12 19:39:07

无锡建筑电工证哪里考 电子证书怎么拿不被坑

无锡建筑电工证哪里考 电子证书怎么拿不被坑 你是不是也在找无锡建筑电工证哪里考,结果被一堆中介、代办机构绕得晕头转向?别急,今天就给你说清楚, 无锡建筑电工证哪里考 ,怎么避坑拿 电子证书 ,不花冤枉钱还能稳稳拿到证。…

2026/11/12 19:39:07

南宁电工证审证怎么搞?上岗必备的全流程解析

南宁电工证审证怎么搞?上岗必备的全流程解析 不知道去哪报名怕被中介坑?南宁电工证审证是很多从事电工行业人员的刚需,尤其是对于许昌水利工程从业者来说,电工证不仅是上岗必备,更是职业发展和薪资提升的“敲门砖”。本文从真实经验出发,结合河南省安全…

2026/11/12 19:39:07

仙桃报考电工证网上查询学历不高也能报上名

仙桃报考电工证网上查询学历不高也能报上名 学历不高怕报不上名?仙桃报考电工证网上查询其实没那么复杂,只要流程走对,谁都能顺利报考。很多人觉得电工证是“高门槛”证,但其实只要你愿意花点时间准备,学历不是问题。而且随着电力行业对专业人员的重视,…

2026/11/12 19:39:07

应聘电工需要的电工证多少钱?考了真能找份好工作吗?

应聘电工需要的电工证多少钱?考了真能找份好工作吗? 你现在找工作,电工证就是硬门槛,不带这个证,连面试机会都没有。电工证到底值不值得考?多少钱?考了真能找个好工作吗?这些问题,我来给你掰扯清楚。 电工证到底有没有用?别被“没用”的声音骗了…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑