コード例 #1
0
def trim_runtime(filters):
    """Remove runtime filters.

    Some filters can only be effectively evaluated at policy
    execution, ie. event filters.

    When evaluating conditions for dryrun or provisioning stages we
    remove them.
    """
    def remove_filter(f):
        block = f.get_block_parent()
        block.filters.remove(f)
        if isinstance(block, BooleanGroupFilter) and not len(block):
            remove_filter(block)

    for f in iter_filters(filters):
        if isinstance(f, EventFilter):
            remove_filter(f)
コード例 #2
0
ファイル: policy.py プロジェクト: reconbug/cloud-custodian
 def iter_filters(self, block_end=False):
     return iter_filters(self.filters, block_end=block_end)