方法签名:我试着用一些不同的方式改变实现,但是没有帮助。
import troposphere.s3 as S3
class LifecycleConfiguration(AWSProperty):
props = {
'Rules': ([LifecycleRule], True),
}
class LifecycleRule(AWSProperty):
props = {
'ExpirationDate': (basestring, False),
'ExpirationInDays': (positive_integer, False),
'Id': (basestring, False),
'Prefix': (basestring, False),
'Status': (basestring, True),
'Transition': (LifecycleRuleTransition, False),
}测试实现
myLifecycleConfiguration = S3.LifecycleConfiguration(title='myLifecycleConfiguration',
Rules=S3.LifecycleRule(title="check"))错误签名
TypeError: Rules is <class 'troposphere.s3.LifecycleRule'>, expected [<class 'troposphere.s3.LifecycleRule'>]发布于 2014-12-29 06:43:08
这很正常,错误消息会告诉您问题出在哪里:规则的‘LifecycleConfiguration’属性应该是LifecycleRule对象的列表(参见代码中的'Rules':(LifecycleRule,True),)
但是,当您创建S3.LifecycleConfiguration时,您需要向“Rules”属性提供单个LifecycleRule对象。
你应该写下:
myLifecycleConfiguration = S3.LifecycleConfiguration(
title='myLifecycleConfiguration',Rules=[S3.LifecycleRule(title="check")])https://stackoverflow.com/questions/26691069
复制相似问题