def provision(self):
# Avoiding runtime lambda dep, premature optimization?
from c7n.mu import PolicyLambda, LambdaManager
with self.policy.ctx:
self.policy.log.info(
"Provisioning policy lambda %s", self.policy.name)
variables = {
'account_id': self.policy.options.account_id,
'policy': self.policy.data
}
self.policy.data = self.expand_variables(variables)
try:
manager = LambdaManager(self.policy.session_factory)
except ClientError:
# For cli usage by normal users, don't assume the role just use
# it for the lambda
manager = LambdaManager(
lambda assume=False: self.policy.session_factory(assume))
return manager.publish(
PolicyLambda(self.policy), 'current',
role=self.policy.options.assume_role)
评论列表
文章目录