首页
学习
活动
专区
工具
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 说道。

    7910

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

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

    10510

    采用基础设施即代码演练

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

    10710

    让网络更简单: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.7K20

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

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

    2K20

    逃生舱如何让抽象更强大

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

    7910

    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 不是声明式。孰弱孰强各有优势。

    39720

    基础设施即代码终极指南

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

    14510

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

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

    2.1K40

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

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

    1.8K20

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

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

    11310

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

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

    6910

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

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

    2.5K10

    2024年Kubernetes配置

    ) 和 Pulumi。...另一方面,GPPL 工具可能比受限方言( Starlark)更受欢迎,Starlark 最近似乎在较少工具中使用。...用户似乎对使用 Terraform 管理 Kubernetes 资源 是否是一个好主意存在分歧。一方面,使用 Helm 提供程序可能对在创建集群安装组件有意义,但用户遇到了问题。...由于许多抱怨都与 YAML 缩进有关,我一直想知道是否可以广泛地利用JSON 列表和映射语法,从而不再依赖缩进,例如stackoverflow 上这个示例,与Jenkins helm chart 这个示例不同...HashiCorp 实现了一个新 基于服务器端应用 Terraform Kubernetes 提供程序。 使用通用编程语言生成配置更为普遍,并且工具 (cdk8s、Pulumi) 更加先进。

    6910

    软考中难倒一大片子网计算题有那么难吗?

    知识点 ip地址:我们需要知道网络地址分为A,B,C三类,并且知道ip地址是由网段号(net_id)+主机号(host_id)组成 子网掩码:要让子网划分方案管用,网络每台机器都必须知道主机地址哪部分为子网地址...子网掩码是一个长32位值,让IP分组接收方能够将IP地址网络ID部分和主机ID部分区分开来。网络管理员创建由1和0组成32位子网掩码,其中1表示lP地址相应部分为网络地址或子网地址。...这就是大多数公司都使用A类网络地址一大原因,因为它们可使用所有的子网掩码,进行网络设计时灵活性最大。 子网划分常见问题 选定子网掩码将创建多少个子网? 2^x个,其中x是子网掩码借用主机位数。...:192.168.10.32/28,我们知道C类ip默认子网掩码为:255.255.255.0,而由上文CIDR知识,我们了解到这个ip实际子网掩码是:255.255.255.240。...这个地方子网增量应该是 256-255=1,因此第三个字节可能取值为0、1 、2、3…255;但别忘了,第四个字节还有一个子网位。还记得前面如何在C类网络处理只有一个子网情况吗?

    80620

    Copilots准备好用于基础设施了吗?

    经过大量关于 IaC 生成实验,很明显,无论我们试图生成 Terraform、AWS 云开发工具包(CDK)还是 Pulumi 代码,都需要相当数量的人工输入和专业知识来生成可用代码。...以下是构建现代云应用程序常用结构示例: 结构类型 描述 APIs 通过简化管理和创建,用于在云服务之间集成和通信基本组件。 消息传递 实现了高效异步消息队列处理以及发布和订阅事件。...实践应用 假设我们正在为一个消息应用程序构建基本后端,使用以下结构: Websockets 调度程序 无服务器函数 import { websocket, collection } from "@nitric...我们希望通知所有连接用户,让他们知道一个按计划发生重要事件。...在这个示例,我们允许 AI 帮助我们使用高级构造生成应用程序业务逻辑,比如计划、集合、服务和 API 网关,因此我们可以有效地跳过生成高度定制且难以维护基础设施代码。

    11610
    领券