/* tslint:disable */ /* eslint-disable */ /** * Boat Public API v1 * Public JSON API for creating, operating, prompting, observing, and exposing Boat sandboxes from backend services, CI jobs, hosted workers, and Boat automation products. The v1 reference intentionally documents the developer integration surface only. Dashboard billing actions are not part of v1. * * The version of the OpenAPI document: 1.0.0 * * * 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'; import type { StartWindowUsage } from './StartWindowUsage'; import { StartWindowUsageFromJSON, StartWindowUsageFromJSONTyped, StartWindowUsageToJSON, StartWindowUsageToJSONTyped, } from './StartWindowUsage'; /** * Remaining machine starts in the rolling minute, hour and day windows. Null windows mean the account is unlimited. * @export * @interface LimitsFieldsStarts */ export interface LimitsFieldsStarts { /** * * @type {boolean} * @memberof LimitsFieldsStarts */ unlimited?: boolean; /** * * @type {StartWindowUsage} * @memberof LimitsFieldsStarts */ minute?: StartWindowUsage; /** * * @type {StartWindowUsage} * @memberof LimitsFieldsStarts */ hour?: StartWindowUsage; /** * * @type {StartWindowUsage} * @memberof LimitsFieldsStarts */ day?: StartWindowUsage; } /** * Check if a given object implements the LimitsFieldsStarts interface. */ export function instanceOfLimitsFieldsStarts(value: object): value is LimitsFieldsStarts { return true; } export function LimitsFieldsStartsFromJSON(json: any): LimitsFieldsStarts { return LimitsFieldsStartsFromJSONTyped(json, false); } export function LimitsFieldsStartsFromJSONTyped(json: any, ignoreDiscriminator: boolean): LimitsFieldsStarts { if (json == null) { return json; } return { 'unlimited': json['unlimited'] == null ? undefined : json['unlimited'], 'minute': json['minute'] == null ? undefined : StartWindowUsageFromJSON(json['minute']), 'hour': json['hour'] == null ? undefined : StartWindowUsageFromJSON(json['hour']), 'day': json['day'] == null ? undefined : StartWindowUsageFromJSON(json['day']), }; } export function LimitsFieldsStartsToJSON(json: any): LimitsFieldsStarts { return LimitsFieldsStartsToJSONTyped(json, false); } export function LimitsFieldsStartsToJSONTyped(value?: LimitsFieldsStarts | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'unlimited': value['unlimited'], 'minute': StartWindowUsageToJSON(value['minute']), 'hour': StartWindowUsageToJSON(value['hour']), 'day': StartWindowUsageToJSON(value['day']), }; }