from ymir import util from ymir import api as yapi from ymir.schema import SGFileSchema from ymir.security_groups import sg_sync from ymir.base import report as _report OK = green(' ok') YMIR_SRC = os.path.dirname(__file__) import logging logger = logging.getLogger(__name__) report = lambda *args: _report("ymir.commands", *args) def ymir_sg(args): def unpack_rule(r): return addict.Dict(ip_protocol=r[0], from_port=r[1], to_port=r[2], cidr_ip=r[3]) def supports_ssh(_rules): """ FIXME: dumb heuristic """ for _rule in _rules: _rule = unpack_rule(_rule) if _rule.to_port == 22: return True
""" # TODO: enhance validation for `health_checks`. # this is a dictionary like so: # d[check_name] = [ check_type, url ] # TODO: enhance validation for the following fields, all lists of strings # `provision_list`,`setup_list`, `security_groups` # `logs`, `log_dirs` from voluptuous import Invalid from ymir.base import report as _report from .base import Schema, BeanstalkSchema, EC2Schema from ymir.schema.util import list_of_dicts report = lambda *args: _report("ymir.schema", *args) def _choose_schema(json): """ """ instance_type = json.get('instance_type') if instance_type in [u'elastic_beanstalk', u'elasticbeanstalk']: schema = eb_schema else: schema = default_schema report("chose schema {0} from instance_type {1}".format( schema.schema_name, instance_type)) return schema choose_schema = _choose_schema
from fabric.contrib.console import confirm from ymir import util from ymir import api as yapi from ymir.schema import SGFileSchema from ymir.security_groups import sg_sync from ymir.base import report as _report OK = green(' ok') YMIR_SRC = os.path.dirname(__file__) import logging logger = logging.getLogger(__name__) report = lambda *args: _report("ymir.commands", *args) def ymir_sg(args): def unpack_rule(r): return addict.Dict( ip_protocol=r[0], from_port=r[1], to_port=r[2], cidr_ip=r[3]) def supports_ssh(_rules): """ FIXME: dumb heuristic """ for _rule in _rules: _rule = unpack_rule(_rule) if _rule.to_port == 22: