code: func ScheduleAndPropagateHostDowntime(
  	host_name string,
  	start_time time.Time,
  	end_time time.Time,
  	fixed bool,
  	trigger_id int,
  	duration time.Duration,
  	author string,
  	comment string,
  ) *livestatus.Command {
  	return livestatus.NewCommand(
  		"SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME",
  		stringifyArg("host_name", "string", host_name),
  		stringifyArg("start_time", "time.Time", start_time),
  		stringifyArg("end_time", "time.Time", end_time),
  		stringifyArg("fixed", "bool", fixed),
  		stringifyArg("trigger_id", "int", trigger_id),
  		stringifyArg("duration", "time.Duration", duration),
  		stringifyArg("author", "string", author),
  		stringifyArg("comment", "string", comment),
  	)
  }
docs: // ScheduleAndPropagateHostDowntime creates a new "SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME" Nagios command.
  //
  // Schedules downtime for a specified host and all of its children (hosts).
  //
  // If the "fixed" argument is set to one (1), downtime will start and end at the times specified by the "start" and
  // "end" arguments.
  //
  // Otherwise, downtime will begin between the "start" and "end" times and last for "duration" seconds.
  //
  // The "start" and "end" arguments are specified in time_t format (seconds since the UNIX epoch).
  //
  // The specified (parent) host downtime can be triggered by another downtime entry if the "trigger_id" is set to the ID
  // of another scheduled downtime entry.
  //
  // Set the "trigger_id" argument to zero (0) if the downtime for the specified (parent) host should not be triggered by
  // another downtime entry.