cloud_markov_chain.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:monasca-analytics 作者: openstack 项目源码 文件源码
def validate_config(_config):
        source_schema = voluptuous.Schema({
            "module": voluptuous.And(
                basestring, vu.NoSpaceCharacter()),
            "min_event_per_burst": voluptuous.Or(float, int),
            "sleep": voluptuous.And(
                float, voluptuous.Range(
                    min=0, max=1, min_included=False, max_included=False)),
            "transitions": {
                "web_service": {
                    "run=>slow": {
                        voluptuous.And(vu.NumericString()): voluptuous.And(
                            voluptuous.Or(int, float),
                            voluptuous.Range(min=0, max=1)),
                    },
                    "slow=>run": {
                        voluptuous.And(vu.NumericString()): voluptuous.And(
                            voluptuous.Or(int, float),
                            voluptuous.Range(min=0, max=1)),
                    },
                    "stop=>run": voluptuous.And(
                        voluptuous.Or(int, float),
                        voluptuous.Range(min=0, max=1)),
                },
                "switch": {
                    "on=>off": voluptuous.And(voluptuous.Or(int, float),
                                              voluptuous.Range(min=0, max=1)),
                    "off=>on": voluptuous.And(voluptuous.Or(int, float),
                                              voluptuous.Range(min=0, max=1)),
                },
                "host": {
                    "on=>off": voluptuous.And(voluptuous.Or(int, float),
                                              voluptuous.Range(min=0, max=1)),
                    "off=>on": voluptuous.And(voluptuous.Or(int, float),
                                              voluptuous.Range(min=0, max=1)),
                },
            },
            "triggers": {
                "support": {
                    "get_called": {
                        voluptuous.And(vu.NumericString()): voluptuous.And(
                            voluptuous.Or(int, float),
                            voluptuous.Range(min=0, max=1)),
                    },
                },
            },
            "graph": {
                voluptuous.And(basestring, vu.ValidMarkovGraph()): [basestring]
            }
        }, required=True)
        return source_schema(_config)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号