繁体   English   中英

AWS CDK - 从 ServiceCatalog 产品获取 ProvisioningArtifactIds

[英]AWS CDK - get ProvisioningArtifactIds from ServiceCatalog product

在 CDK 中,我无法从文档中找到如何获取ProvisioningArtifactIds例如pa-4abcdjnxjj6ne CloudFormation 将返回值,但不会返回 CDK。

编辑:在 CF 中, ProductId: !Ref ProductProvisioningArtifactId: .GetAtt Product.ProvisioningArtifactIds

我需要它,所以我可以制作CloudFormation 产品

    product = aws_servicecatalog.CloudFormationProduct(self, "Product",
    product_name="My Product",
    owner="Product Owner",
    product_versions=[servicecatalog.CloudFormationProductVersion(
        product_version_name="v1",
        cloud_formation_template=servicecatalog.CloudFormationTemplate.from_product_stack(S3BucketProduct(self, "S3BucketProduct"))
    )])

然后在同一个堆栈中建立关联

    aws_servicecatalog.CfnServiceActionAssociation(
            self,
            "serviceId",
            product_id=product.product_id,
            provisioning_artifact_id="????", # ????
            service_action_id=myServiceAction.attr_id,
        )

CloudFormation 文档列出了资源的返回值

!Ref Product值很简单。 CDK 源代码显示它作为product_id直接暴露在 L2 CloudFormationProduct上。

# !Ref Product
ref = product.product_id

.GetAtt Product.ProvisioningArtifactIds值比较棘手。 首先使用转义舱口语法引用底层 L1 CfnCloudFormationProduct构造。 然后调用get_att

# !GetAtt Product.ProvisioningArtifactIds
cfn_product = product.node.default_child
get_att = cfn_product.get_att("ProvisioningArtifactIds")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM