"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" },
"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."""
"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"),
"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):
"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
"$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 = [
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": {