import hc2002.transform as xf import hc2002.translation as xl from hc2002.validation import at_most_one_of, in_, match, one_of, \ one_or_more, prefix, validate, validate_keys, validate_values, \ tolerant_dict logger = logging.getLogger(__name__) logger.addHandler(logging.NullHandler()) _block_device = [ dict, validate_values({ 'source': one_of( match('no-device'), match('ephemeral[0-9]'), match('snap-[a-fA-F0-9]+')), 'size': int, 'iops': int, 'disposable': bool, }), ] _scheduled_group_action = { 'count': int, 'min-count': int, 'max-count': int, 'start-time': datetime.datetime, 'end-time': datetime.datetime, 'recurrence': basestring, }
validate_keys, validate_values _role_policy = one_or_more({ 'action': one_or_more(basestring), 'resource': one_or_more(basestring), 'condition': dict, }) validator = { 'name': basestring, 'path': absolute_path, 'policy': [ dict, validate_values([ dict, validate_keys(in_('allow', 'deny')), validate_values(_role_policy), ]), ], } def _setup_iam_connection(): global iam iam = hc2002.aws.iam.get_connection() _policy_effects = { 'allow': 'Allow', 'deny': 'Deny' } def _translate_role_policy(policy): policy_statements = [] for effect, statements in policy.iteritems(): effect = effect.capitalize()
import hc2002.translation as xl from hc2002.validation import at_most_one_of, in_, match, one_of, \ one_or_more, prefix, validate, validate_keys, validate_values, \ tolerant_dict logger = logging.getLogger(__name__) logger.addHandler(logging.NullHandler()) _block_device = [ dict, validate_values({ 'source': one_of(match('no-device'), match('ephemeral[0-9]'), match('snap-[a-fA-F0-9]+')), 'size': int, 'iops': int, 'disposable': bool, }), ] _scheduled_group_action = { 'count': int, 'min-count': int, 'max-count': int, 'start-time': datetime.datetime, 'end-time': datetime.datetime, 'recurrence': basestring, }