// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; export class DescribeSavingsPlansUsageTotalRequestFilterParamDimensions extends $dara.Model { code?: string; selectType?: string; values?: string[]; static names(): { [key: string]: string } { return { code: 'Code', selectType: 'SelectType', values: 'Values', }; } static types(): { [key: string]: any } { return { code: 'string', selectType: 'string', values: { 'type': 'array', 'itemType': 'string' }, }; } validate() { if(Array.isArray(this.values)) { $dara.Model.validateArray(this.values); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlansUsageTotalRequestFilterParamTags extends $dara.Model { code?: string; selectType?: string; values?: string[]; static names(): { [key: string]: string } { return { code: 'Code', selectType: 'SelectType', values: 'Values', }; } static types(): { [key: string]: any } { return { code: 'string', selectType: 'string', values: { 'type': 'array', 'itemType': 'string' }, }; } validate() { if(Array.isArray(this.values)) { $dara.Model.validateArray(this.values); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlansUsageTotalRequestFilterParam extends $dara.Model { dimensions?: DescribeSavingsPlansUsageTotalRequestFilterParamDimensions[]; tags?: DescribeSavingsPlansUsageTotalRequestFilterParamTags[]; static names(): { [key: string]: string } { return { dimensions: 'Dimensions', tags: 'Tags', }; } static types(): { [key: string]: any } { return { dimensions: { 'type': 'array', 'itemType': DescribeSavingsPlansUsageTotalRequestFilterParamDimensions }, tags: { 'type': 'array', 'itemType': DescribeSavingsPlansUsageTotalRequestFilterParamTags }, }; } validate() { if(Array.isArray(this.dimensions)) { $dara.Model.validateArray(this.dimensions); } if(Array.isArray(this.tags)) { $dara.Model.validateArray(this.tags); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeSavingsPlansUsageTotalRequest extends $dara.Model { /** * @remarks * The ID of the account for which you want to query usage summary. If you do not set this parameter, the data of the current Alibaba Cloud account and its RAM users is queried. To query the data of a RAM user, specify the ID of the RAM user. * * @example * 123745698925000 */ billOwnerId?: number; /** * @remarks * The end of the time range to query. The end is excluded from the time range. If you do not set this parameter, the end time is the current time. Specify the time in the format of yyyy-MM-dd HH:mm:ss. * * @example * 2021-01-02 00:00:00 */ endPeriod?: string; filterParam?: DescribeSavingsPlansUsageTotalRequestFilterParam; /** * @remarks * The time granularity at which usage summary are queried. Valid values: MONTH, DAY, and HOUR. * * This parameter is required. * * @example * HOUR */ periodType?: string; /** * @remarks * The beginning of the time range to query. The beginning is included in the time range. Specify the time in the format of yyyy-MM-dd HH:mm:ss. * * This parameter is required. * * @example * 2021-01-01 00:00:00 */ startPeriod?: string; static names(): { [key: string]: string } { return { billOwnerId: 'BillOwnerId', endPeriod: 'EndPeriod', filterParam: 'FilterParam', periodType: 'PeriodType', startPeriod: 'StartPeriod', }; } static types(): { [key: string]: any } { return { billOwnerId: 'number', endPeriod: 'string', filterParam: DescribeSavingsPlansUsageTotalRequestFilterParam, periodType: 'string', startPeriod: 'string', }; } validate() { if(this.filterParam && typeof (this.filterParam as any).validate === 'function') { (this.filterParam as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }