С учетом следующего JSON Cloudformation:
"MyServer" : {
"Type" : "AWS::EC2::EIP",
"Properties" : {
"InstanceId" : { "Ref" : "LinuxServer" }
}
},
Для примера в классах Java CDK атрибут InstanceId
в software.amazon.awscdk.services.ec2.CfnEIP
является строкой, но в JSON Cloudformation это может быть либо строка, либо объект(который имеет атрибут "Ref")
Как я могу передать объект Ref (или любой другой тип) в класс CfnEIP
(или любые другие классы, которые также поддерживают атрибут "Ref") вместоСтрока, которая требуется этому классу?
EDIT
Я обнаружил, что все классы, которые наследуются от CfnRefElement
, имеют метод getRef()
, который возвращаетСтрока и за сценой преобразуется из строки в объект:
С "InstanceId" : "notWorkingRef"}
(атрибут Java String) в "InstanceId" : { "Ref" : "someRef" }
.
Но существуют классы Cfn (например, CfnParameter (core lib)), которая не наследуется от CfnRefElement
, но от CfnElement
, и у тех, кто когда-то не имеет getRef()
метода - как получить тот же результат с этими один раз?