Pulumi 输入输出和资源依赖性 Python GCP

Pulumi inputs outpus and resource dependency Python GCP

我在尝试理解如何将一个资源的输出作为输入传递给另一个资源时遇到了一些麻烦,因此它们具有依赖关系并且创建时的顺序正常工作。

场景: 资源 B 依赖于资源 A。

我试图将类似这些的内容传递给资源 B

opts = ResourceOptions(depends_on=[ResourceA])

但由于某种原因,它会作为该参数不存在,并在创建资源 A 之前继续创建资源 B,因此引发错误。

如果我第二次执行 pulumi up,因为资源 A 存在,资源 B 被创建。

我注意到您也可以将输出作为另一个资源的输入传递,正因为如此,Pulumi 明白其中存在一种关系并自动实现

https://www.pulumi.com/docs/intro/concepts/inputs-outputs/

但是我不知道如何通过它,所以,如果对此有任何帮助,我们将不胜感激。

对于如何使用ResourceOptions,我也使用了下面的解释,我认为我像上面的代码一样正确使用它,但仍然没有案例

提前致谢。

@mrthopson,

让我尝试使用 public 示例之一进行解释。我从这个 Pulumi 例子中得到它:

https://github.com/pulumi/examples/blob/master/aws-ts-eks/index.ts

// Create a VPC for our cluster.
const vpc = new awsx.ec2.Vpc("vpc", { numberOfAvailabilityZones: 2 });

// Create the EKS cluster itself and a deployment of the Kubernetes dashboard.
const cluster = new eks.Cluster("cluster", {
    vpcId: vpc.id,
    subnetIds: vpc.publicSubnetIds,
    instanceType: "t2.medium",
    desiredCapacity: 2,
    minSize: 1,
    maxSize: 2,
});

示例首先在AWS中创建一个VPC。 VPC 包含许多不同的网络,这些网络的标识符作为输出公开。当我们创建 EKS 集群时,我们将 public 个子网的 ID(输出 vpc.publicSubnetIds)作为集群的输入(输入:subnetIds)传递。

这是使 EKS 集群依赖于 VPC 所需要做的唯一事情。当运行 Pulumi时,引擎会发现它需要先创建VPC,然后才能创建EKS集群。

林戈