# All files / codegen/models PriceSchemeInputArgs.ts

69.6% Statements 71/102
100% Branches 0/0
0% Functions 0/3
69.6% Lines 71/102

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
    1041x
    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 {
        PriceInputArgs,
        PriceInputArgsFromJSON,
        PriceInputArgsFromJSONTyped,
        PriceInputArgsToJSON,
    } from './PriceInputArgs';

    /**
     *
     * @export
     * @interface PriceSchemeInputArgs
     */
    export interface PriceSchemeInputArgs {
        /**
         * Array of price tiers, each of which consists of `price` and `cap` key:value pairs
         * @type {Array<PriceInputArgs>}
         * @memberof PriceSchemeInputArgs
         */
        prices?: Array<PriceInputArgs>;
        /**
         * The name of the unit used for this metered component (e.g., gigabyte)
         * @type {string}
         * @memberof PriceSchemeInputArgs
         */
        unitName?: string;
        /**
         * Size of the unit batch to use for the prices. Can only be set if scheme_type='FLAT' or 'TIERED'. E.g. To charge $10 per 100 API Requests, set batch_size to 100.
         * @type {number}
         * @memberof PriceSchemeInputArgs
         */
        batchSize?: number;
        /**
         * The time unit for the metered component (e.g., month or hour)
         * @type {string}
         * @memberof PriceSchemeInputArgs
         */
        timeUnitName?: string;
        /**
         * One of 'FLAT', 'TIERED', or 'STAIRSTEP'
         * @type {string}
         * @memberof PriceSchemeInputArgs
         */
        schemeType: string;
        /**
         * Array of (key, value) meter labels to price on & the price tiers that should be used against those labels
         * @type {Array<object>}
         * @memberof PriceSchemeInputArgs
         */
        priceList?: Array<object>;
    }

    export function PriceSchemeInputArgsFromJSON(json: any): PriceSchemeInputArgs {
        return PriceSchemeInputArgsFromJSONTyped(json, false);
    }

    export function PriceSchemeInputArgsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PriceSchemeInputArgs {
        if ((json === undefined) || (json === null)) {
            return json;
        }
        return {

            'prices': !exists(json, 'prices') ? undefined : ((json['prices'] as Array<any>).map(PriceInputArgsFromJSON)),
            'unitName': !exists(json, 'unit_name') ? undefined : json['unit_name'],
            'batchSize': !exists(json, 'batch_size') ? undefined : json['batch_size'],
            'timeUnitName': !exists(json, 'time_unit_name') ? undefined : json['time_unit_name'],
            'schemeType': json['scheme_type'],
            'priceList': !exists(json, 'price_list') ? undefined : json['price_list'],
        };
    }

    export function PriceSchemeInputArgsToJSON(value?: PriceSchemeInputArgs | null): any {
        if (value === undefined) {
            return undefined;
        }
        if (value === null) {
            return null;
        }
        return {

            'prices': value.prices === undefined ? undefined : ((value.prices as Array<any>).map(PriceInputArgsToJSON)),
            'unit_name': value.unitName,
            'batch_size': value.batchSize,
            'time_unit_name': value.timeUnitName,
            'scheme_type': value.schemeType,
            'price_list': value.priceList,
        };
    }