/* eslint-disable */
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */

/**
 * This contains the progress status of the publishfirmware
 * installation.
 *
 */
export type PublishFirmwareStatusEnumType =
  | "Idle"
  | "DownloadScheduled"
  | "Downloading"
  | "Downloaded"
  | "Published"
  | "DownloadFailed"
  | "DownloadPaused"
  | "InvalidChecksum"
  | "ChecksumVerified"
  | "PublishFailed";

export interface PublishFirmwareStatusNotificationRequest {
  customData?: CustomDataType;
  status: PublishFirmwareStatusEnumType;
  /**
   * Required if status is Published. Can be multiple URI’s, if the Local Controller supports e.g. HTTP, HTTPS, and FTP.
   *
   *
   * @minItems 1
   */
  location?: [string, ...string[]];
  /**
   * The request id that was
   * provided in the
   * PublishFirmwareRequest which
   * triggered this action.
   *
   */
  requestId?: number;
}
/**
 * This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.
 */
export interface CustomDataType {
  vendorId: string;
  [k: string]: unknown;
}
