如何在 python 代码中修复预期的 <type 'basestring'>
How to fix expected <type 'basestring'> in python code
我正在使用 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'>
我正在做的是从另一个 cloudformation 堆栈导入值并在另一个堆栈中使用它们。
下面是我如何填充变量 -
efs_security_group = ImportValue(Join("-", [params.ENVIRONMENT, "efsSecurityGroup"]),)
PublicSubnet1a = ImportValue(Join("-", [params.ENVIRONMENT, "PublicSubnet1a"]),)
它们填充正确,我假设它们是 jutt 字符串 - 它们是。所以我想我不能对 SecurityGroups 或 SubnetId 使用字符串?我是否需要将字符串转换为基字符串以及如何转换?
厄尼
我的错误 - 这是文件系统 ID - 我忘了给它添加一个 ref FileSystemId=Ref(efs_file_system),
我正在使用 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'>
我正在做的是从另一个 cloudformation 堆栈导入值并在另一个堆栈中使用它们。
下面是我如何填充变量 -
efs_security_group = ImportValue(Join("-", [params.ENVIRONMENT, "efsSecurityGroup"]),)
PublicSubnet1a = ImportValue(Join("-", [params.ENVIRONMENT, "PublicSubnet1a"]),)
它们填充正确,我假设它们是 jutt 字符串 - 它们是。所以我想我不能对 SecurityGroups 或 SubnetId 使用字符串?我是否需要将字符串转换为基字符串以及如何转换?
厄尼
我的错误 - 这是文件系统 ID - 我忘了给它添加一个 ref FileSystemId=Ref(efs_file_system),