首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取局部州/检查点值Pulumi

读取局部州/检查点值Pulumi
EN

Stack Overflow用户
提问于 2020-04-25 14:00:06
回答 1查看 527关注 0票数 1

TL;DR..I希望在保存本地Pulumi堆栈的情况下,在较新的堆栈中准备好以前堆栈的输出。例如,在以前创建的VPC/子网中创建AWS Fargate ECS集群。如何在Python中做到这一点?

我创建了dev Pulumi堆栈,应用代码:

代码语言:javascript
复制
$ mkdir pulumi-infra-az
$ pulumi login --local
$ pulumi stack init dev

得到了这样的Outputs

代码语言:javascript
复制
...
Outputs:
    pulumi-private-subnet-ids: [
        [0]: "subnet-0dcbaabe273db8feb"
        [1]: "subnet-08c63207611c6bae2"
        [2]: "subnet-00fa346a71a323551"
    ]
    pulumi-public-subnet-ids : [
        [0]: "subnet-02c50846690f2cd70"
        [1]: "subnet-06282506863db7ac1"
        [2]: "subnet-0cfae8a4f5e4fc03c"
    ]
    pulumi-vpc-id            : "vpc-0767f0d49e3a59d42"

Resources:
    ~ 3 updated
    22 unchanged

Duration: 10s

Permalink: file:///root/.pulumi/stacks/dev.json
...

正如您在这里看到的,我使用的是本地堆栈放置/root/.pulumi/stacks/dev.json。到目前一切尚好。现在,在其他dir中,我想创建fargate集群描述:

代码语言:javascript
复制
$ mkdir pulumi-ecs-fargate
$ pulumi stack init dev-ecs # by the way can I use the same `dev` stack name here?

这里我需要阅读以前创建的pulumi-private-subnet-idspulumi-public-subnet-idspulumi-vpc-id输出值吗?怎样才能做到正确呢?

我只找到了https://app.pulumi.com后端示例:

https://www.pulumi.com/docs/intro/concepts/organizing-stacks-projects/#inter-stack-dependencies

https://www.pulumi.com/docs/intro/concepts/programming-model/#stack-references

https://www.pulumi.com/docs/tutorials/aws/aws-py-stackreference/

谁能提供本地或AWS s3示例,如何在其他堆栈/dir中读取输出?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-25 17:34:51

好的,读取本地状态输出也是可能的。登录并创建第一个堆栈:

代码语言:javascript
复制
$ pulumi logout
$ pulumi login --local

$ mkdrir pulumi-infra-az
$ cd pulumi-infra-az

$ pulumi stack init pulumi-infra-az-dev

应用它:

代码语言:javascript
复制
$ pulumi up
代码语言:javascript
复制
...
Outputs:
    pulumi-private-subnet-ids: [
        [0]: "subnet-0e8eb4cd276720a51"
        [1]: "subnet-0447d96727f6fdf62"
        [2]: "subnet-02e0e1d44183f7733"
    ]
    pulumi-public-subnet-ids : [
        [0]: "subnet-00b1c052633b93f73"
        [1]: "subnet-0333dd2abc409acb7"
        [2]: "subnet-006e949371228f8bd"
    ]
    pulumi-vpc-id            : "vpc-0e59fc2d7df06bac0"

Resources:
    + 25 created
...

现在创建新的dir和堆栈:

代码语言:javascript
复制
$ mkdir pulumi-ecs-fargate
$ cd pulumi-ecs-fargate

$ pulumi stack init pulumi-ecs-fargate-dev

堆叠的名称应该不同。而不是读到新的产出:

代码语言:javascript
复制
...
# Reading local state
infra = pulumi.StackReference(f"pulumi-infra-az-dev")

# Read back the default VPC and public subnets, which we will use.
pulumi_vpc = infra.get_output("pulumi-vpc-id")
pulumi_private_subnets = infra.get_output("pulumi-private-subnet-ids")
pulumi_public_subnets = infra.get_output("pulumi-public-subnet-ids")
...

很遗憾普利米没有很好的手册/例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61426819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档