给出以下Cloudformation JSON:
request.session.flush()
对于Java CDK类中的示例,"MyServer" : {
"Type" : "AWS::EC2::EIP",
"Properties" : {
"InstanceId" : { "Ref" : "LinuxServer" }
}
},
中的属性InstanceId
是字符串,但是在Cloudformation JSON中,它可以是字符串或对象(具有“ Ref”属性) >
如何将Ref对象(或任何其他类型)传递给software.amazon.awscdk.services.ec2.CfnEIP
类(或也支持“ Ref”属性的任何其他类)而不是此类所需的String? >
编辑
我发现所有从CfnEIP
继承的类都有一个方法CfnRefElement
,该方法返回一个String并在幕后将其从字符串转换为对象:
从getRef()
(Java字符串属性)到"InstanceId" : "notWorkingRef"}
。
但是有些Cfn类(例如CfnParameter(核心库))不是从"InstanceId" : { "Ref" : "someRef" }
继承而是从CfnRefElement
继承,而那些曾经不具有CfnElement
方法的类-如何一次获得相同的结果?
答案 0 :(得分:0)
CfnParameter 构造通常是Cloudformation参数的概括,本身不是特定的参数。它是cfn构造的元素,因此继承CfnElement。 CfnRefElement 类的存在是为了允许创建非资源的,可引用的单个Cloudformation构造。它不像CfnResource那样具体,并且像CfnParameter一样扩展了CfnElement。 CfnParameter不包含.ref元素,因为它是较低级别的泛化,因此需要一个。
最初是在Github上回答