/* 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 HandlersVersionResponse
 */
export interface HandlersVersionResponse {
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  built?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  builtBy?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  commit?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  commitTime?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  go?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  goArch?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  goOS?: string;
  /**
   *
   * @type {boolean}
   * @memberof HandlersVersionResponse
   */
  modified?: boolean;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  revision?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  vcs?: string;
  /**
   *
   * @type {string}
   * @memberof HandlersVersionResponse
   */
  version?: string;
}

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

export function HandlersVersionResponseFromJSON(
  json: any,
): HandlersVersionResponse {
  return HandlersVersionResponseFromJSONTyped(json, false);
}

export function HandlersVersionResponseFromJSONTyped(
  json: any,
  ignoreDiscriminator: boolean,
): HandlersVersionResponse {
  if (json == null) {
    return json;
  }
  return {
    built: json["built"] == null ? undefined : json["built"],
    builtBy: json["builtBy"] == null ? undefined : json["builtBy"],
    commit: json["commit"] == null ? undefined : json["commit"],
    commitTime: json["commitTime"] == null ? undefined : json["commitTime"],
    go: json["go"] == null ? undefined : json["go"],
    goArch: json["goArch"] == null ? undefined : json["goArch"],
    goOS: json["goOS"] == null ? undefined : json["goOS"],
    modified: json["modified"] == null ? undefined : json["modified"],
    revision: json["revision"] == null ? undefined : json["revision"],
    vcs: json["vcs"] == null ? undefined : json["vcs"],
    version: json["version"] == null ? undefined : json["version"],
  };
}

export function HandlersVersionResponseToJSON(
  json: any,
): HandlersVersionResponse {
  return HandlersVersionResponseToJSONTyped(json, false);
}

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

  return {
    built: value["built"],
    builtBy: value["builtBy"],
    commit: value["commit"],
    commitTime: value["commitTime"],
    go: value["go"],
    goArch: value["goArch"],
    goOS: value["goOS"],
    modified: value["modified"],
    revision: value["revision"],
    vcs: value["vcs"],
    version: value["version"],
  };
}
