class BulkDeleteDowntime(BaseSchema): host_name = MONITORED_HOST entries = fields.List( fields.Integer( required=True, description="The id for either a host downtime or service downtime", example=1120, ), required=True, example=[1120, 1121], )
class CreateServiceDowntime(CreateDowntimeBase): host_name = MONITORED_HOST service_descriptions = fields.List( fields.String(), uniqueItems=True, required=True, example=["CPU utilization", "Memory"], description=param_description(schedule_service_downtime.__doc__, 'service_description'), ) duration = fields.Integer( required=False, description=param_description(schedule_service_downtime.__doc__, 'duration'), example=3600, missing=0, )
class CreateDowntimeBase(BaseSchema): downtime_type = fields.String( required=True, description="The type of downtime to create.", enum=[ 'host', 'service', 'hostgroup', 'servicegroup', 'host_by_query', 'service_by_query' ], example="host", ) start_time = fields.DateTime( format="iso8601", required=True, example="2017-07-21T17:32:28Z", description= "The start datetime of the new downtime. The format has to conform to the ISO 8601 profile", ) end_time = fields.DateTime( required=True, example="2017-07-21T17:32:28Z", description= "The end datetime of the new downtime. The format has to conform to the ISO 8601 profile", format="iso8601", ) recur = fields.String( required=False, enum=[ "fixed", "hour", "day", "week", "second_week", "fourth_week", "weekday_start", "weekday_end", "day_of_month" ], description=param_description(schedule_host_downtime.__doc__, 'recur'), example="hour", missing="fixed", ) duration = fields.Integer( required=False, description=param_description(schedule_host_downtime.__doc__, 'duration'), example=3600, missing=0, ) comment = fields.String(required=False, example="Security updates")
class ApiError(BaseSchema): code = fields.Integer( description="The HTTP status code.", required=True, example=404, ) message = fields.Str( description="Detailed information on what exactly went wrong.", required=True, example="The resource could not be found.", ) title = fields.Str( description="A summary of the problem.", required=True, example="Not found", ) errors = fields.List( fields.String(), allow_none=True, description="Optionally a list of errors used for debugging.", example=None, )
class ApiError(BaseSchema): code = fields.Integer( description="The HTTP status code.", required=True, example=404, ) message = fields.Str( description="Detailed information on what exactly went wrong.", required=True, example="The resource could not be found.", ) title = fields.Str( description="A summary of the problem.", required=True, example="Not found", ) _fields = fields.Dict( data_key='fields', # mypy keys=fields.String(description="The field name"), values=fields.List(fields.String(description="The error messages")), description="Detailed error messages on all fields failing validation.", required=False, )
example=[{ 'date': '2020-01-01', 'time_ranges': [{ 'start': '14:00', 'end': '18:00' }] }], ) SERVICE_DESCRIPTION_FIELD = fields.String(required=False, example="CPU utilization") HOST_DURATION = fields.Integer( required=False, description=param_description(schedule_host_downtime.__doc__, 'duration'), example=3600, missing=0, ) SERVICE_DURATION = fields.Integer( required=False, description=param_description(schedule_service_downtime.__doc__, 'duration'), example=3600, missing=0, ) class CreateHostDowntime(CreateDowntimeBase): host_name = MONITORED_HOST duration = HOST_DURATION
if service_description is not None: q = q.filter( Downtimes.service_description.contains(service_description)) gen_downtimes = q.iterate(live) return _serve_downtimes(gen_downtimes) @Endpoint( constructors.object_href('downtime', '{downtime_id}'), 'cmk/show', method='get', path_params=[{ 'downtime_id': fields.Integer( description="The id of the downtime", example="1", ) }], response_schema=response_schemas.DomainObject, ) def show_downtime(params): """Show downtime""" live = sites.live() downtime_id = params["downtime_id"] q = Query( columns=[ Downtimes.id, Downtimes.host_name, Downtimes.service_description, Downtimes.is_service, Downtimes.author,