Beispiel #1
0
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"])
Beispiel #2
0
class DowntimeParameter(BaseSchema):
    query = fields.query_field(Downtimes, required=False)
Beispiel #3
0
        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(
Beispiel #4
0
 class QuerySchema(Schema):
     q = fields.query_field(Hosts, required=True)