首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在创建'VirtualNetwork‘对象后知道的pulumi中使用异步子网id?

在Pulumi中,可以通过使用await关键字来异步获取创建VirtualNetwork对象后的子网ID。以下是一个示例代码:

代码语言:txt
复制
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure-native";

async function createVirtualNetwork() {
    const resourceGroup = new azure.resources.ResourceGroup("resourceGroup");

    const virtualNetwork = new azure.network.VirtualNetwork("virtualNetwork", {
        resourceGroupName: resourceGroup.name,
        virtualNetworkName: "myVirtualNetwork",
        addressSpace: {
            addressPrefixes: ["10.0.0.0/16"],
        },
    });

    const subnet = new azure.network.Subnet("subnet", {
        resourceGroupName: resourceGroup.name,
        virtualNetworkName: virtualNetwork.name,
        subnetName: "mySubnet",
        addressPrefix: "10.0.0.0/24",
    });

    // 异步获取子网ID
    const subnetId = await subnet.id;

    return subnetId;
}

createVirtualNetwork().then(subnetId => {
    console.log(`Subnet ID: ${subnetId}`);
});

在上述代码中,我们首先创建了一个资源组(ResourceGroup),然后创建了一个虚拟网络(VirtualNetwork)和一个子网(Subnet)。通过使用await关键字,我们可以异步获取子网的ID,并将其打印出来。

请注意,上述示例代码使用的是Azure Native插件(@pulumi/azure-native)来创建Azure资源。如果你使用的是Azure Classic插件(@pulumi/azure),代码会有所不同,但基本思路是相同的。

对于Pulumi中其他资源的异步属性获取,也可以使用类似的方式来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

配置语言的黄金时代

除了使用 AWS EMR 或 Glue 处理具有步骤函数的工作流驱动、异步批处理、ETL 任务之外,还可以由 Lambda 处理后台任务。...当我们在公共子网中创建 EC2 实例时,它们将可以从 internet 访问,并具有出站 internet 连接,而私有子网中的实例将只能在 VPC 中访问,不可以访问 internet。...,我们将等待子网的创建 (参见 await 关键字)。...一旦完成,我们就可以遍历所有公共子网,并在每个子网中使用 ubuntu AMI 创建一个 EC2 实例。...这允许你用你选择的语言编写代码,它将在运行时被“合成”进云结构堆栈。甚至还有一个“构造库”,允许你使用已经由 AWS 创建并将其包含在你的代码库中的组件。

3.3K20

追赶 terraform,让基础设施代码化更加容易,pulumi 都做了些什么?

我们知道,在 2006 年亚马逊通过 AWS 撬动开云服务的巨大蛋糕后,云服务便以不可阻挡之势深入互联网的各个角落。...pulumi 闪亮登场 pulumi 诞生于 2017 年,是微软和亚马逊云服务的老兵 Joe Duffy(CEO) 和 Luke Hoban(CTO)创建的,对标 terraform 的一款软件。...比如上文中创建一个 openresty EC2 实例的代码,用 typescript 可以这么写: import * as pulumi from "@pulumi/pulumi"; import *...,不妨想想这样的代码如何在 terraform 里完成。...terraform 也许很快上市,也许很快成为一个价值数百亿美金的「巨头」,它可以等待 pulumi 培育好了市场,利用自己在行业中的口碑和地位不慌不忙地追赶。

2.7K20
  • 基础设施即代码在 CICD 中必须具备的功能

    不可变的版本控制,即使用单一代码库创建和删除基础设施。 在整个 CI/CD 过程中进行测试。 设置策略的能力。 管理安全性的能力。 基础设施即代码提供的不变性在 CI/CD 中非常重要。...“ Pulumi 是你喜欢的语言中的 IaC - 对于熟悉 IaC 的人来说,可能有使用其他使用特定领域语言甚至标记语言(如 YAML 或 JSON )的工具的经验,通常这对于入门来说是可以接受的,”...虽然使用 Pulumi 很容易入门,但其理念是能够支持跨不同环境部署的 CI/CD 团队。 在这种情况下,基础设施即代码应该包括确保在多云或不同环境中的合规性、标准化和安全性等任务。...“我们希望所有的工程师都能够自如地进行更改,以便为他们的产品变更提供所需的基础设施。” AI 组件 最近,人工智能展示了在不久的将来如何在使用基础设施即代码进行 CI/CD 时发挥关键作用。...但如果你不知道,就给我一个静态网站放在 CDN 后面。” 结果是,“它会直接生成一个能让你完成 80-90% 工作的程序”, Kao 说道。

    9210

    超越高级基础设施即代码的应用案例

    而其他工具如 Terraform 则要求你手动管理这个状态,通常将其存储在你选择的云上的 S3 存储桶或等效物中。...通常会创建一个与单个拉取请求关联的临时堆栈,以验证所提议的更改是否正确:在打开拉取请求时创建(和测试)它,在对其进行新推送时更新(和测试)它,并在关闭时销毁它。...使用 Pulumi Cloud 的好处是,您可以在整个组织中管理和强制执行策略,而无需个别工程师甚至知道如何运行它们。...使用自动化 API 进行高级 IaC 自动化 如果基础设施即代码是您所选择的语言中的一个普通库,而不是一个命令行工具,会怎么样?在创建自动化 API 之前,这就是我们提出的问题。...这包括如何组织项目代码和堆栈、如何在本地开发和测试代码、如何随着需求变化演化这些结构、自动化场景等等。

    11810

    采用基础设施即代码的演练

    在所有这些情况下,首先需要了解组成我们架构的云资源。在 Pulumi 中,这些资源是你将编写代码来操作的可编程对象。 云基础设施的世界有点令人生畏。Pulumi 支持超过100个云平台。...在这个示例中,我们使用 Cloud Run 和内置的存储库,因为这些服务通常在刚开始时使用起来更容易: 无论是哪种情况,在部署完基础设施后,我们将拥有一个完全可运行的微服务环境,其中一个负载均衡的服务正在运行...,如单体仓库。...配置云基础设施可能是一个耗时的过程,但由于并行性,Pulumi不仅知道以什么顺序运行各种操作,还可以尽可能快地完成。...首先,保护资源会要求执行额外的步骤才能删除它,其次,“保留删除”选项会在逻辑资源从 Pulumi 堆栈中移除后仍保留物理资源。

    12610

    Pulumi模式与实践平台 (P3):面向大型组织的参考架构

    有很多可重复使用的代码块的复制粘贴,但没有办法应用 DRY 原则或将重要部分模块化/模板化(提示:所有部分都很重要!)。 可重复性:可重复的行为,谁知道呢?...以下是一个快速概述,让您了解我们将如何在 Pulumi 模式和实践平台 (P3) 中解决这些需求。...Pulumi Insight 的分析使您能够识别资源使用中的异常或趋势,并深入了解成本、安全性和合规性问题。...Pulumi 与其他工具配合良好,您会很高兴看到 如何使用 Pulumi 来弥补 CNCF 生态系统中的差距。...如果您已经准备好在这篇介绍之后开始使用 Pulumi,请随时 创建帐户 并按照我们的 入门 指南进行操作,看看简单的用例有多容易,并开始想象相同的开发人员体验如何扩展到您的整个组织。

    7210

    让网络更简单:SD-Access 之概览

    Edge Nodes – 一个Fabric内的设备,用于连接有线Endpoint和SDA Fabric。如topo图所示的最底下一排的4个设备: ?...针对已知的IP前缀,CP Nodes接收edge and/or border发来的endpoint ID映射注册信息。...创建可视化数据路径,以加速连接性问题的故障排除。 自动化服务质量(QoS),以对网络中的应用程序进行优先级排序。...NDP能够以多种形式从网络设备中收集多种类型的信息,包括syslog、SNMP、NetFlow、SPAN、Streaming Telemetry等。 NDP也能收集和使用ISE、NCP的信息。...ISE使用这些信息向NCP和NDP提供信息,因此用户可以从管理层(management layer)创建和管理基于组的策略。 ISE还负责在网络设备上编写基于组的策略。 ?

    1.8K20

    为什么基础设施即代码需要云资产管理

    IaC 的演变——关于开源和所有其他方面 我从最近的公告和趋势中得出的一个主要结论是:如果你一直将 Pulumi 主要视为一个编排工具,那么 其最新公告 可能会让你想要仔细看看。...Pulumi 的新愿景中包含了在 HashiCorp 许可证变更和 被 IBM 收购 之后,接管竞争对手 HashiCorp。...Pulumi 的举动强调了我们长期以来知道的几个重要事实: 云资产管理正在掀起波澜。 当像 Pulumi 这样的大型参与者开始朝这个方向发展时,就像一块巨大的广告牌说:“嘿,这个云资产管理的东西?...IaC 供应商仍然做错的地方 要了解如何在快速变化的 DevOps 环境中为变化做好准备并保持团队的敏捷性,你需要认识到你的对手是什么——更重要的是,你需要认识到你可能忽略了什么: 1....自创建该类别以来,Firefly 一直在云资产管理方面领先并进行教育。现在,Pulumi 最近的战略举措表明,Firefly 正在设定一个标准,随着生态系统成熟,供应商将准备遵循该标准。

    9910

    基础设施设施即代码(IaC)平台 Pulumi | 混合云管理利器

    前言 在之前的文章中,笔者介绍过 AWS CDK ,其是 AWS 开源的一款开发框架,使用常用的编程语言(如 TypeScript、Python 等),利用函数快速构建代码框架来配置、更新和管理云资源...程序编写完成后,只需在项目目录中运行 Pulumi CLI 命令 pulumi up,就可以为你的程序创建了一个独立的、可配置的实例,称为堆栈(Stack)。...堆栈就如前文所述,每个环境都可以维护一个堆栈(Stack),而这些堆栈可以管理大量云资源,开发者无需去记录每次都开启了哪些服务,使用了哪些资源,这里都会被记录在堆栈中。...如果堆栈创建失败,则会进行回滚,之前创建的资源也会被销毁,这样就避免了大量无聊的,由于失误造成重复劳动和危害;同样的,如果删除堆栈,则可以一次性释放堆栈中的全部资源,大大提升了清理的准确性和效率。...结语 Pulumi 的使用体验虽然不及 AWS CDK,但是其广泛的公有云支持大大的便利了混合云用户;与 Terraform 相比,Pulumi 使用常用编程语言来编写,这大大降低了学习成本,同时可以根据使用场景抽象出各种方法

    2.1K20

    我们如何实现快速云到云连接

    目标是为精通云计算但不精通网络的开发人员提供一种创建多云连接并使用熟悉的工具管理它们的方法。...目标是为精通云但并非精通网络的开发人员提供一种创建多云连接并使用熟悉的工具(如Terraform或Pulumi)管理它们的方法,而无需在我们自己的数据中心托管任何基础设施。...事件驱动架构 虽然构成FCR产品层的基于Java的微服务通过REST API相互通信,但产品层使用异步事件驱动架构与网络抽象层通信。...Fabric 内可访问的任何端点都可访问在该地铁中创建的任何 FCR。您可以使用边界网关协议 (BGP) 来路由端点之间的流量,这些端点与您的 FCR 对等。...来自云世界的最接近 FCR 的结构是虚拟私有云。您可以在包含多个子网的云可用性区域中创建 VPC,每个子网都在该区域中的单独可用区(其自己的数据中心)中运行。

    8510

    逃生舱如何让抽象更强大

    这些抽象被如此无缝地集成到云应用程序开发的结构中,以至于对使用它们的开发人员来说几乎是不可见的。然而,它们是基础性的,通过在简单界面背后处理复杂细节,实现应用程序的快速开发、部署和扩展。...逃生舱是一项至关重要的功能,可确保开发人员不会被锁定在特定技术中,尤其是在涉及抽象时。它们提供了一条直接访问和使用底层云服务以及使用现有资源或工具集的途径。...它提供了一个 ORM(对象关系映射)层,使开发人员能够通过高级 API 与其数据库进行交互。...通过实现四种方法——创建、读取、更新和删除——你可以将任何外部服务或 API 集成到 Pulumi 应用程序中。...new MyResourceProvider() }); 这种方法让开发人员能够将最新的云功能纳入其代码即基础设施中,即使这些功能尚未封装在 Pulumi 的资源提供程序中。

    9210

    AWS CDK | IaC 何必只用 Yaml

    前言 近年来基础设施即代码(IaC)的方式被越来越多的开发者和管理者所采用,各大公有云都提供了使用 IaC 管理自己云资源的方式,如 AWS 的 CloudFormation、阿里云的 ROS 等,而第三方的...越来越多像我一样的云资源运维和管理者开始采用 IaC 的方式对云资源进行创建、运维和管理。 IaC 管理之惑 但在实际使用中,IaC 其实并没有看上去的那么美丽。...Declarative IaC Imperative 和 Declarative 也就是命令式和声明式的 IaC,他们的不同点在于命令式的 IaC 是由代码编写者来确定如何达到自己想要目的的,如:我需要一个创建...destroy 在体验完后,可以使用 cdk destroy 对 CloudFormation 以及 CloudFormation 创建的资源进行清理和回收。...后续我也会出一篇使用 AWS CDK Python 从 0 开始创建 EKS 集群的文章,感兴趣的同学可以关注一下。

    2K20

    Terraform 系列-Terraform 简介

    如:AWS/Azure/GCP/Kubernetes/Aliyun/OCI Providers•模块(Modules): 模块是 Terraform 配置的独立包,允许把相关资源组合到一起,创建出可复用的组件...要使用模块,你并不需要知道模块的工作方式,只需要知道如何设置输入和输出即可。对于提升软件抽象度和代码复用,模块是很有用的工具。类似于积木块或 Python 的 library....试图在通用序列化格式(如 JSON)和围绕完整编程语言(如 Ruby)构建的配置格式之间取得折衷。...Terraform 更好,它云无关,并且支持多个提供商和服务的组合和组合。另外 Terraform 还通过使用执行计划的概念将计划阶段与执行阶段分开,以确保它完全符合预期。•相比 Pulumi....Pulumi 和 Terraform 最为类似,唯一的区别在于 Pulumi 不是声明式的。孰弱孰强各有优势。

    44820

    基础设施即代码终极指南

    随着 IaC 的兴起,DevOps 中对于与机器直接通信的需求日益增长,这使得开发人员和运维人员能够使用共享语言来实现和管理基础设施。 这消除了不必要的软件接口层,促进了更清晰的方法。...自动化部署极大地减轻了基础设施团队的大量手动部署负担,并“为未来项目创建可重复使用和可重用的组件”,Sauvé 说。...设置 playbook 后,使用此命令运行 playbook: 来源:Ansible 项目贡献者。 输出如下所示: 来源:Ansible 项目贡献者。 IaC 有哪些局限性?...“Pulumi 是您最喜欢的语言中的基础设施即代码 —— 熟悉基础设施即代码的人可能使用过其他工具,这些工具使用特定域语言甚至标记语言如 YAML 或 JSON,这在开始时通常就足够了。...首先,让我们描述一下 GitOps 是什么,以及它如何用来自动化和简化持续集成/持续交付的基础设施部署,以及在复杂的环境(如 Kubernetes)中。

    17610

    Node.js 应用全链路追踪技术——

    监听到后,对获取到的异步资源信息进行处理加工,整合成需要的数据结构,整合后,将数据存储到 invoke tree 中。...属性的 value 是代表这个异步资源经过的所有链路信息聚合对象,该对象中的各属性含义请看上面代码中的注释进行理解。 通过这种设计,就能拿到任何一个异步资源在整个请求链路中的关键信息。...则不进行任何操作,如把数据存入 invokeTree 对象; 将当前异步调用 asyncId 存入到 invokeTree 中 key 为 triggerAsyncId 的 children 属性中。...然后再删除 invokeTree 中以这些 id 为 key 的属性。最后删除根节点。 大家看到了声明对象 root ,这个是什么呢?...root 其实是我们对某个异步调用进行监听时,设置的一个根节点对象,这个节点对象可以手动传入一些链路信息,这样可以为全链路追踪增加其他追踪信息,如错误信息、耗时时间等。

    1.8K20

    基础设施代码化(IaC)的自动化配置与编排

    当手动创建好了一系列的资源后,如果需要针对不同的环境(如预发、测试和生产)或不同的地域(如北京和上海)创建完全相同的资源,则又需要花费很多时间一步步地进行操作,无法直接复制、做到一键部署。 一致性差。...引入 IaC 的理念,运维人员可以将基础设施的部署和管理过程变得敏捷: 在模板(宽泛意义上的代码)中定义基础设施,即各类云资源及其规格、数量等属性、云资源之间的依赖; 使用版本控制(如 Git)管理模板...如果你的业务是部署在多个云平台,建议使用第三方的 Terraform 和 Pulumi,因为它不仅可以进行多云资源的部署和管理,还能管理除云以外的其他资源,如 Kubernetes。...比如实例 ID、连接地址等内容就是有价值的属性,它们都是在资源创建完成后才能获取到,把这些属性作为整个模板的输出,可以方便后续的查看和管理。...对于 Terraform 来说,可使用配置文件生成一个可执行的计划,通过执行这个计划来完成所定义资源/组件的创建,增量式的变更和持续的管理。 对于 Pulumi 来说,则是直接执行代码来进行部署。

    2.1K40

    不要以平台治理牺牲开发者体验

    我们正在创建新的基础设施即代码方法,以协调运维团队和开发者的基础设施即代码工具和工作流程。 基础设施即代码(IaC)工具,如 Terraform 和 Pulumi,无疑改变了我们管理云基础设施的方式。...我们没有重写 IaC 工具链,而是将其无缝集成到我们的流程中。这确保运维团队可以继续使用他们的首选 IaC 工具,而开发者可以从更直观的界面中受益。...部署提供商 使用 Pulumi 部署代码设置 S3 存储桶的代码可能如下所示。代码遍历资源规范,收集建立存储桶资源所需的必要细节。...提供商用 Go 语言编写,使用为 AWS、GCP 和 Azure 打包的 Pulumi 自动化引擎,遵循最佳实践。...使用 gRPC 向提供商实现发出请求,允许使用您喜欢的任何语言编写提供商。在我们 CTO Tim Holm 写的这篇博文中可以了解更多关于 gRPC 及我们如何使用它的信息。

    8010

    任何编程语言的基础设施即代码

    基础设施即代码工具不仅知道如何建立基础设施的初始版本,还可以将其复制到许多环境中(例如开发、暂存、生产和多个地区),并升级单个环境以适应您的需求变化。...如果这是您第一次创建某个环境,Pulumi称之为“堆栈(stack)”,那么当然所有声明的基础设施都需要从头创建。...在后续的评估中,这些相同的基础设施可能需要进行更新、删除或甚至重新创建,此外还可能会在首次声明时生成新的基础设施。...Pulumi 的独特方法使用其所谓的“自动化 API”,为运行代码开启了一个更加复杂的工作流程。这种方法将基础设施即代码工作流直接嵌入到更大的软件中,以便可以针对高度动态的场景进行编程。...在我们系列的第 2 部分中,我们将带您完成设置基础设施即代码所需的步骤。为此,我们将使用 Pulumi 的免费开源 SDK,可在此处获取。入门很容易,但您现在可能想花时间探索该平台。

    13110

    基础架构即代码 vs 配置管理 vs 基础架构预配

    IaaC 工具可以帮助您自动化和管理所有基础设施组件,如网络(VPC、子网、V**、路由表等)、服务器、云托管服务、应用程序、防火墙、云和本地托管服务等。...流行的IaC工具是Terraform,Pulumi,Ansible,Chef和Puppet。此外,还有特定于云的IaC服务,如Cloudformation,AWS CDK等。...准备好基础结构代码后,可以随时使用它来创建环境,而无需太多手动干预。只是参数会改变,代码保持不变。...在这种情况下,它将仅创建一个手动删除的服务器,并维护用户在代码中声明的两个服务器的状态。 ️...因此,例如,您可以使用 Terraform 代码来创建虚拟机,并具有在创建的虚拟机上运行 Ansible 配置器的逻辑。 什么是配置管理?

    2.5K10
    领券