Пример #1
0
    "name": {
        "$ref": "#/definitions/non_empty_string"
    },
    "playbook_id": {
        "$ref": "#/definitions/non_empty_string"
    },
    "cluster_id": {
        "$ref": "#/definitions/uuid4"
    },
    "configuration": {
        "type": "object"
    }
}
"""Data schema for the model."""

MODEL_SCHEMA = validators.create_model_schema(
    playbook_configuration.PlaybookConfigurationModel.MODEL_NAME, DATA_SCHEMA)
"""Schema for the model with optional data fields."""

POST_SCHEMA = {
    "name": {
        "$ref": "#/definitions/non_empty_string"
    },
    "cluster_id": {
        "$ref": "#/definitions/uuid4"
    },
    "playbook_id": {
        "$ref": "#/definitions/non_empty_string"
    },
    "server_ids": {
        "$ref": "#/definitions/dmidecode_uuid_array"
    },
Пример #2
0
    "facts": {"type": "object"}
}
"""Schema for the payload."""

SERVER_DISCOVERY_DATA_SCHEMA = {
    "host": {"anyOf": [
        {"$ref": "#/definitions/hostname"},
        {"$ref": "#/definitions/ip"}
    ]},
    "username": {"$ref": "#/definitions/non_empty_string"},
    "id": {"$ref": "#/definitions/dmidecode_uuid"}
}
"""Data schema for the server discovery."""

MODEL_SCHEMA = validators.create_model_schema(
    server.ServerModel.MODEL_NAME, DATA_SCHEMA
)
MODEL_SCHEMA["properties"]["id"] = {"$ref": "#/definitions/dmidecode_uuid"}
"""Schema for the model with optional data fields."""

SERVER_DISCOVERY_SCHEMA = validators.create_data_schema(
    SERVER_DISCOVERY_DATA_SCHEMA
)
"""Schema for the server discovery."""

CONF = config.make_api_config()
"""Config."""

LOG = log.getLogger(__name__)
"""Logger."""
Пример #3
0
                             "version", "fqdn", "ip"],
                "properties": {
                    "server_id": {"$ref": "#/definitions/dmidecode_uuid"},
                    "server_name": {"$ref": "#/definitions/non_empty_string"},
                    "version": {"$ref": "#/definitions/positive_integer"},
                    "fqdn": {"$ref": "#/definitions/non_empty_string"},
                    "ip": {"$ref": "#/definitions/non_empty_string"}
                }
            }
        }
    }
}
"""Data schema for the model."""

MODEL_SCHEMA = validators.create_model_schema(
    cluster.ClusterModel.MODEL_NAME, DATA_SCHEMA
)
"""Schema for the model with optional data fields."""

POST_SCHEMA = validators.create_data_schema(
    {"name": {"$ref": "#/definitions/cluster_name_string"}}, True)

LOG = log.getLogger(__name__)
"""Logger."""


class ClusterView(generic.VersionedCRUDView):
    """Implementation of view for /v1/cluster API."""

    decorators = [
        auth.AUTH.require_authorization("api", "view_cluster"),
Пример #4
0
        "anyOf": [{
            "$ref": "#/definitions/hostname"
        }, {
            "$ref": "#/definitions/ip"
        }]
    },
    "username": {
        "$ref": "#/definitions/non_empty_string"
    },
    "id": {
        "$ref": "#/definitions/dmidecode_uuid"
    }
}
"""Data schema for the server discovery."""

MODEL_SCHEMA = validators.create_model_schema(server.ServerModel.MODEL_NAME,
                                              DATA_SCHEMA)
MODEL_SCHEMA["properties"]["id"] = {"$ref": "#/definitions/dmidecode_uuid"}
"""Schema for the model with optional data fields."""

SERVER_DISCOVERY_SCHEMA = validators.create_data_schema(
    SERVER_DISCOVERY_DATA_SCHEMA)
"""Schema for the server discovery."""

CONF = config.make_api_config()
"""Config."""

LOG = log.getLogger(__name__)
"""Logger."""


def require_create_server_authorization(func):
Пример #5
0
            "type": "object",
            "required": ["name", "permissions"],
            "additionalProperties": False,
            "properties": {
                "name": {"$ref": "#/definitions/non_empty_string"},
                "permissions": {
                    "type": "array",
                    "items": {"$ref": "#/definitions/non_empty_string"}
                }
            }
        }
    }
}
"""Schema for the payload."""

MODEL_SCHEMA = validators.create_model_schema(
    role.RoleModel.MODEL_NAME, DATA_SCHEMA)
"""Schema for the model with optional data fields."""

POST_SCHEMA = validators.create_data_schema(DATA_SCHEMA, True)
"""Schema for the new model request."""

LOG = log.getLogger(__name__)
"""Logger."""


class RoleView(generic.VersionedCRUDView):
    """Implementation of view for /v1/role API."""

    decorators = [
        auth.AUTH.require_authorization("api", "view_role"),
        auth.AUTH.require_authentication
Пример #6
0
                        "$ref": "#/definitions/positive_integer"
                    },
                    "fqdn": {
                        "$ref": "#/definitions/non_empty_string"
                    },
                    "ip": {
                        "$ref": "#/definitions/non_empty_string"
                    }
                }
            }
        }
    }
}
"""Data schema for the model."""

MODEL_SCHEMA = validators.create_model_schema(cluster.ClusterModel.MODEL_NAME,
                                              DATA_SCHEMA)
"""Schema for the model with optional data fields."""

POST_SCHEMA = validators.create_data_schema(
    {"name": {
        "$ref": "#/definitions/cluster_name_string"
    }}, True)

LOG = log.getLogger(__name__)
"""Logger."""


class ClusterView(generic.VersionedCRUDView):
    """Implementation of view for /v1/cluster API."""

    decorators = [
Пример #7
0
from decapod_common import plugins
from decapod_common.models import cluster
from decapod_common.models import playbook_configuration
from decapod_common.models import server


DATA_SCHEMA = {
    "name": {"$ref": "#/definitions/non_empty_string"},
    "playbook_id": {"$ref": "#/definitions/non_empty_string"},
    "cluster_id": {"$ref": "#/definitions/uuid4"},
    "configuration": {"type": "object"}
}
"""Data schema for the model."""

MODEL_SCHEMA = validators.create_model_schema(
    playbook_configuration.PlaybookConfigurationModel.MODEL_NAME,
    DATA_SCHEMA
)
"""Schema for the model with optional data fields."""

POST_SCHEMA = {
    "name": {"$ref": "#/definitions/non_empty_string"},
    "cluster_id": {"$ref": "#/definitions/uuid4"},
    "playbook_id": {"$ref": "#/definitions/non_empty_string"},
    "server_ids": {"$ref": "#/definitions/dmidecode_uuid_array"},
    "hints": {
        "type": "array",
        "items": {
            "type": "object",
            "required": ["id", "value"],
            "additionalProperties": False,
            "properties": {