gpt4 book ai didi

java - java中等效的AWS cloudformation的json "Ref"是什么

转载 作者:行者123 更新时间:2023-12-01 23:23:20 24 4
gpt4 key购买 nike

给定以下 Cloudformation JSON:

"MyServer" : {
"Type" : "AWS::EC2::EIP",
"Properties" : {
"InstanceId" : { "Ref" : "LinuxServer" }
}
},

例如,在 Java CDK 类中,software.amazon.awscdk.services.ec2.CfnEIP 中的属性 InstanceId 是一个字符串,但在 Cloudformation JSON 中,它可以是字符串或对象(具有“Ref”属性)

如何将 Ref 对象(或任何其他类型)传递给 CfnEIP 类(或也支持“Ref”属性的任何其他类)而不是此类所需的 String?

编辑

我发现所有继承自 CfnRefElement 的类都有一个 getRef() 方法,该方法返回一个字符串,并在幕后从字符串转换到一个对象:

"InstanceId": "notWorkingRef"} (Java 字符串属性)到 "InstanceId": { "Ref": "someRef"}

但是有些 Cfn 类(例如 CfnParameter(核心库))不是从 CfnRefElement 继承的,而是从 CfnElement 继承的,并且这些类曾经没有 >getRef() 方法 - 如何一次获得相同的结果?

最佳答案

CfnParameter 构造通常是 Cloudformation 参数的泛化,其本身并不是特定参数。它是 cfn 构造的元素,因此继承 CfnElement。CfnRefElement 类的存在是为了允许创建非资源、可引用、单独的 Cloudformation 构造。它不像 CfnResource 那样具体,并且扩展了 CfnElement,就像 CfnParameter 一样。CfnParameter 不包含 .ref 元素,因为它是较低级别的概括,因此需要一个。

最初回答于 Github

关于java - java中等效的AWS cloudformation的json "Ref"是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58319102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com