// This file is auto-generated, don't edit it import * as $dara from '@darabonba/typescript'; export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule extends $dara.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } validate() { super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules extends $dara.Model { rule?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule }, }; } validate() { if(Array.isArray(this.rule)) { $dara.Model.validateArray(this.rule); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfo extends $dara.Model { discountPrice?: number; originalPrice?: number; resource?: string; subRules?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules; tradePrice?: number; static names(): { [key: string]: string } { return { discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', resource: 'Resource', subRules: 'SubRules', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { discountPrice: 'number', originalPrice: 'number', resource: 'string', subRules: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules, tradePrice: 'number', }; } validate() { if(this.subRules && typeof (this.subRules as any).validate === 'function') { (this.subRules as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos extends $dara.Model { detailInfo?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfo[]; static names(): { [key: string]: string } { return { detailInfo: 'DetailInfo', }; } static types(): { [key: string]: any } { return { detailInfo: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfosDetailInfo }, }; } validate() { if(Array.isArray(this.detailInfo)) { $dara.Model.validateArray(this.detailInfo); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoPrice extends $dara.Model { /** * @remarks * The currency unit. * * Alibaba Cloud China site (aliyun.com): CNY. * * Alibaba Cloud International site (alibabacloud.com): USD. * * @example * CNY */ currency?: string; detailInfos?: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos; /** * @remarks * The discount. * * @example * 655.2 */ discountPrice?: number; /** * @remarks * The original price. * * @example * 4368 */ originalPrice?: number; /** * @remarks * The transaction price, which is equal to the original price minus the discount. * * @example * 3712.8 */ tradePrice?: number; static names(): { [key: string]: string } { return { currency: 'Currency', detailInfos: 'DetailInfos', discountPrice: 'DiscountPrice', originalPrice: 'OriginalPrice', tradePrice: 'TradePrice', }; } static types(): { [key: string]: any } { return { currency: 'string', detailInfos: DescribeRenewalPriceResponseBodyPriceInfoPriceDetailInfos, discountPrice: 'number', originalPrice: 'number', tradePrice: 'number', }; } validate() { if(this.detailInfos && typeof (this.detailInfos as any).validate === 'function') { (this.detailInfos as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoRulesRule extends $dara.Model { description?: string; ruleId?: number; static names(): { [key: string]: string } { return { description: 'Description', ruleId: 'RuleId', }; } static types(): { [key: string]: any } { return { description: 'string', ruleId: 'number', }; } validate() { super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfoRules extends $dara.Model { rule?: DescribeRenewalPriceResponseBodyPriceInfoRulesRule[]; static names(): { [key: string]: string } { return { rule: 'Rule', }; } static types(): { [key: string]: any } { return { rule: { 'type': 'array', 'itemType': DescribeRenewalPriceResponseBodyPriceInfoRulesRule }, }; } validate() { if(Array.isArray(this.rule)) { $dara.Model.validateArray(this.rule); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBodyPriceInfo extends $dara.Model { /** * @remarks * The price. */ price?: DescribeRenewalPriceResponseBodyPriceInfoPrice; rules?: DescribeRenewalPriceResponseBodyPriceInfoRules; static names(): { [key: string]: string } { return { price: 'Price', rules: 'Rules', }; } static types(): { [key: string]: any } { return { price: DescribeRenewalPriceResponseBodyPriceInfoPrice, rules: DescribeRenewalPriceResponseBodyPriceInfoRules, }; } validate() { if(this.price && typeof (this.price as any).validate === 'function') { (this.price as any).validate(); } if(this.rules && typeof (this.rules as any).validate === 'function') { (this.rules as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } } export class DescribeRenewalPriceResponseBody extends $dara.Model { /** * @remarks * Details about the prices and promotion rules. */ priceInfo?: DescribeRenewalPriceResponseBodyPriceInfo; /** * @remarks * The ID of the request. * * @example * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** */ requestId?: string; static names(): { [key: string]: string } { return { priceInfo: 'PriceInfo', requestId: 'RequestId', }; } static types(): { [key: string]: any } { return { priceInfo: DescribeRenewalPriceResponseBodyPriceInfo, requestId: 'string', }; } validate() { if(this.priceInfo && typeof (this.priceInfo as any).validate === 'function') { (this.priceInfo as any).validate(); } super.validate(); } constructor(map?: { [key: string]: any }) { super(map); } }