class HostParameters(BaseSchema): """All the parameters for the hosts list. Examples: >>> p = HostParameters() >>> p.load({})['columns'] [Column(hosts.name: string)] >>> p.load({})['sites'] [] """ sites = fields.List( gui_fields.SiteField(), description="Restrict the query to this particular site.", load_default=[], ) query = gui_fields.query_field(Hosts, required=False) columns = gui_fields.column_field(Hosts, mandatory=[Hosts.name], example=["name"])
class DowntimeParameter(BaseSchema): query = fields.query_field(Downtimes, required=False)
permissions.Perm("general.see_all"), permissions.Perm("bi.see_all"), permissions.Perm("mkeventd.seeall"), ])) PARAMETERS = [{ "sites": fields.List( gui_fields.SiteField(), description="Restrict the query to this particular site.", load_default=list, ), "query": gui_fields.query_field( Services, required=False, example='{"op": "=", "left": "host_name", "right": "example.com"}', ), "columns": gui_fields.column_field( Services, mandatory=[ Services.host_name, Services.description, ], example=["host_name", "description"], ), }] @Endpoint(
class QuerySchema(Schema): q = fields.query_field(Hosts, required=True)