Я использую Troposphere для создания шаблонов CloudFormation.
Если я использую переменную или строку, я получаю ошибку - <class 'troposphere.efs.FileSystem'>, expected <type 'basestring'>
Я новичок в тропосфере и Python, поэтому любая помощьприветствуется.
Мой код при использовании строк
MyEFSMountTarget1a = t.add_resource(MountTarget(
"MyEFSMountTarget1a",
FileSystemId=(efs_file_system),
SecurityGroups=["sg-0c69656095ee1a5b8"],
SubnetId="subnet-091b67136896b2be8"
))
Мой код при использовании переменных
MyEFSMountTarget1a = t.add_resource(MountTarget(
"MyEFSMountTarget1a",
FileSystemId=(efs_file_system),
SecurityGroups=[efs_security_group],
SubnetId=PublicSubnet1a
))
Ошибка: <class 'troposphere.efs.MountTarget'>: MyEFSMountTarget1a.FileSystemId is <class 'troposphere.efs.FileSystem'>, expected <type 'basestring'>
Что яя делаю, импортирует значения из другого стека облачной информации и использует их в другом стеке.
Вот как я заполняю переменные -
efs_security_group = ImportValue(Join("-", [params.ENVIRONMENT, "efsSecurityGroup"]),)
PublicSubnet1a = ImportValue(Join("-", [params.ENVIRONMENT, "PublicSubnet1a"]),)
Они заполняются правильно, и я предположил, что это были строки Jutt- которые они есть.Таким образом, я думаю, я не могу использовать строки для SecurityGroups или SubnetId?Нужно ли преобразовывать строки в базовую строку и как?
Эрни