All files / codegen/models CustomerPortalUsageByTimeInput.ts

74.21% Statements 95/128
100% Branches 2/2
0% Functions 0/3
74.21% Lines 95/128

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 1301x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x     1x 1x                             1x 1x                                      
/* tslint:disable */
/* eslint-disable */
/**
 * Octane API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * 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 { exists, mapValues } from '../runtime';
import {
    CustomerPortalLabelFilter,
    CustomerPortalLabelFilterFromJSON,
    CustomerPortalLabelFilterFromJSONTyped,
    CustomerPortalLabelFilterToJSON,
} from './CustomerPortalLabelFilter';
 
/**
 * 
 * @export
 * @interface CustomerPortalUsageByTimeInput
 */
export interface CustomerPortalUsageByTimeInput {
    /**
     * Primary labels with keys and values
     * @type {Array<CustomerPortalLabelFilter>}
     * @memberof CustomerPortalUsageByTimeInput
     */
    labelFilters?: Array<CustomerPortalLabelFilter>;
    /**
     * The time bucket to group usage by, one of 'hour' and 'day'. Defaults to 'day'.
     * @type {string}
     * @memberof CustomerPortalUsageByTimeInput
     */
    timeBucket?: CustomerPortalUsageByTimeInputTimeBucketEnum;
    /**
     * Customer name. Required only if using vendor API Key for authentication.
     * @type {string}
     * @memberof CustomerPortalUsageByTimeInput
     */
    customerName?: string;
    /**
     * The aggregate function to use for the meter.
     * @type {string}
     * @memberof CustomerPortalUsageByTimeInput
     */
    aggregate?: CustomerPortalUsageByTimeInputAggregateEnum;
    /**
     * Start date to fetch usage from.
     * @type {Date}
     * @memberof CustomerPortalUsageByTimeInput
     */
    startTime: Date;
    /**
     * Name of the meter.
     * @type {string}
     * @memberof CustomerPortalUsageByTimeInput
     */
    meterName: string;
    /**
     * A list of primary label keys to group results by.
     * @type {Array<string>}
     * @memberof CustomerPortalUsageByTimeInput
     */
    labelGroupByKeys?: Array<string>;
}
 
/**
* @export
* @enum {string}
*/
export enum CustomerPortalUsageByTimeInputTimeBucketEnum {
    Hour = 'hour',
    Day = 'day'
}/**
* @export
* @enum {string}
*/
export enum CustomerPortalUsageByTimeInputAggregateEnum {
    Sum = 'SUM',
    TimeWeightedSum = 'TIME_WEIGHTED_SUM',
    Latest = 'LATEST',
    Max = 'MAX'
}
 
export function CustomerPortalUsageByTimeInputFromJSON(json: any): CustomerPortalUsageByTimeInput {
    return CustomerPortalUsageByTimeInputFromJSONTyped(json, false);
}
 
export function CustomerPortalUsageByTimeInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomerPortalUsageByTimeInput {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'labelFilters': !exists(json, 'label_filters') ? undefined : ((json['label_filters'] as Array<any>).map(CustomerPortalLabelFilterFromJSON)),
        'timeBucket': !exists(json, 'time_bucket') ? undefined : json['time_bucket'],
        'customerName': !exists(json, 'customer_name') ? undefined : json['customer_name'],
        'aggregate': !exists(json, 'aggregate') ? undefined : json['aggregate'],
        'startTime': (new Date(json['start_time'])),
        'meterName': json['meter_name'],
        'labelGroupByKeys': !exists(json, 'label_group_by_keys') ? undefined : json['label_group_by_keys'],
    };
}
 
export function CustomerPortalUsageByTimeInputToJSON(value?: CustomerPortalUsageByTimeInput | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'label_filters': value.labelFilters === undefined ? undefined : ((value.labelFilters as Array<any>).map(CustomerPortalLabelFilterToJSON)),
        'time_bucket': value.timeBucket,
        'customer_name': value.customerName,
        'aggregate': value.aggregate,
        'start_time': (value.startTime.toISOString()),
        'meter_name': value.meterName,
        'label_group_by_keys': value.labelGroupByKeys,
    };
}