/* tslint:disable */
/* eslint-disable */
/**
 * AutoGlue API
 * API for managing K3s clusters across cloud providers
 *
 * The version of the OpenAPI document: dev
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { mapValues } from "../runtime";
/**
 *
 * @export
 * @interface DtoEnqueueRequest
 */
export interface DtoEnqueueRequest {
  /**
   *
   * @type {object}
   * @memberof DtoEnqueueRequest
   */
  payload?: object;
  /**
   *
   * @type {string}
   * @memberof DtoEnqueueRequest
   */
  queue?: string;
  /**
   *
   * @type {string}
   * @memberof DtoEnqueueRequest
   */
  run_at?: string;
  /**
   *
   * @type {string}
   * @memberof DtoEnqueueRequest
   */
  type?: string;
}

/**
 * Check if a given object implements the DtoEnqueueRequest interface.
 */
export function instanceOfDtoEnqueueRequest(
  value: object,
): value is DtoEnqueueRequest {
  return true;
}

export function DtoEnqueueRequestFromJSON(json: any): DtoEnqueueRequest {
  return DtoEnqueueRequestFromJSONTyped(json, false);
}

export function DtoEnqueueRequestFromJSONTyped(
  json: any,
  ignoreDiscriminator: boolean,
): DtoEnqueueRequest {
  if (json == null) {
    return json;
  }
  return {
    payload: json["payload"] == null ? undefined : json["payload"],
    queue: json["queue"] == null ? undefined : json["queue"],
    run_at: json["run_at"] == null ? undefined : json["run_at"],
    type: json["type"] == null ? undefined : json["type"],
  };
}

export function DtoEnqueueRequestToJSON(json: any): DtoEnqueueRequest {
  return DtoEnqueueRequestToJSONTyped(json, false);
}

export function DtoEnqueueRequestToJSONTyped(
  value?: DtoEnqueueRequest | null,
  ignoreDiscriminator: boolean = false,
): any {
  if (value == null) {
    return value;
  }

  return {
    payload: value["payload"],
    queue: value["queue"],
    run_at: value["run_at"],
    type: value["type"],
  };
}
