Example #1
0
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
Example #2
0
"""

# 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

Example #3
0
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: