tencentcloud-sdk-nodejs-intl-en
Version:
1,777 lines (1,504 loc) • 585 kB
JavaScript
/*
* Copyright (c) 2018 Tencent. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const AbstractModel = require("../../common/abstract_model");
/**
* CreateAllocationUnit request structure.
* @class
*/
class CreateAllocationUnitRequest extends AbstractModel {
constructor(){
super();
/**
* New cost allocation unit parent node ID.
* @type {number || null}
*/
this.ParentId = null;
/**
* Specifies the name of a newly-added cost allocation unit.
* @type {string || null}
*/
this.Name = null;
/**
* Month, which is the current month by default if not provided.
* @type {string || null}
*/
this.Month = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ParentId = 'ParentId' in params ? params.ParentId : null;
this.Name = 'Name' in params ? params.Name : null;
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* DescribeBillAdjustInfo response structure.
* @class
*/
class DescribeBillAdjustInfoResponse extends AbstractModel {
constructor(){
super();
/**
* <p>Total data</p>
* @type {number || null}
*/
this.Total = null;
/**
* <p>Detailed data</p>
* @type {Array.<AdjustInfoDetail> || null}
*/
this.Data = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Total = 'Total' in params ? params.Total : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new AdjustInfoDetail();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCostSummaryByProduct request structure.
* @class
*/
class DescribeCostSummaryByProductRequest extends AbstractModel {
constructor(){
super();
/**
* The value must be of the same month as `EndTime`. The query period must start and end on the same month and the query result returned will be of the entire month. For example, if both `BeginTime` and `EndTime` are `2018-09`, the data returned will be for the entire month of September 2018.
* @type {string || null}
*/
this.BeginTime = null;
/**
* The value must be of the same month as `BeginTime`. The query period must start and end on the same month and the query result returned will be of the entire month. For example, if both `BeginTime` and `EndTime` are `2018-09`, the data returned will be for the entire month of September 2018.
* @type {string || null}
*/
this.EndTime = null;
/**
* Data quantity per fetch. The maximum value is 100.
* @type {number || null}
*/
this.Limit = null;
/**
* Offset, which starts from 0 by default
* @type {number || null}
*/
this.Offset = null;
/**
* UIN of the user querying the bill data
* @type {string || null}
*/
this.PayerUin = null;
/**
* Whether to return the record count. 0 for no, 1 for yes. Default is no.
* @type {number || null}
*/
this.NeedRecordNum = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.Offset = 'Offset' in params ? params.Offset : null;
this.PayerUin = 'PayerUin' in params ? params.PayerUin : null;
this.NeedRecordNum = 'NeedRecordNum' in params ? params.NeedRecordNum : null;
}
}
/**
* DescribeBudget response structure.
* @class
*/
class DescribeBudgetResponse extends AbstractModel {
constructor(){
super();
/**
* Budget project detail
* @type {DataForBudgetInfoPage || null}
*/
this.Data = null;
/**
* prompt
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Message = null;
/**
* Return code
* @type {number || null}
*/
this.Code = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Data) {
let obj = new DataForBudgetInfoPage();
obj.deserialize(params.Data)
this.Data = obj;
}
this.Message = 'Message' in params ? params.Message : null;
this.Code = 'Code' in params ? params.Code : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeCPQBillingMapping request structure.
* @class
*/
class DescribeCPQBillingMappingRequest extends AbstractModel {
constructor(){
super();
/**
* Offset
* @type {string || null}
*/
this.Offset = null;
/**
* The number of entries returned at a time. The maximum value is `100`.
* @type {string || null}
*/
this.Limit = null;
/**
* Quoted subproduct name
* @type {string || null}
*/
this.SpuName = null;
/**
* Quoted product name
* @type {string || null}
*/
this.CategoryName = null;
/**
* Product name
* @type {string || null}
*/
this.BusinessName = null;
/**
* Subproduct name
* @type {string || null}
*/
this.ProductName = null;
/**
* Component type name
* @type {string || null}
*/
this.ComponentName = null;
/**
* Component name
* @type {string || null}
*/
this.ItemName = null;
/**
* Product code
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Subproduct code
* @type {string || null}
*/
this.ProductCode = null;
/**
* Component type code
* @type {string || null}
*/
this.ComponentCode = null;
/**
* Component code
* @type {string || null}
*/
this.ItemCode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Offset = 'Offset' in params ? params.Offset : null;
this.Limit = 'Limit' in params ? params.Limit : null;
this.SpuName = 'SpuName' in params ? params.SpuName : null;
this.CategoryName = 'CategoryName' in params ? params.CategoryName : null;
this.BusinessName = 'BusinessName' in params ? params.BusinessName : null;
this.ProductName = 'ProductName' in params ? params.ProductName : null;
this.ComponentName = 'ComponentName' in params ? params.ComponentName : null;
this.ItemName = 'ItemName' in params ? params.ItemName : null;
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.ProductCode = 'ProductCode' in params ? params.ProductCode : null;
this.ComponentCode = 'ComponentCode' in params ? params.ComponentCode : null;
this.ItemCode = 'ItemCode' in params ? params.ItemCode : null;
}
}
/**
* Consumption details summarized by product
* @class
*/
class ConsumptionBusinessSummaryDataItem extends AbstractModel {
constructor(){
super();
/**
* Product name code
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Product name
* @type {string || null}
*/
this.BusinessCodeName = null;
/**
* Discounted total price
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Cost trend
* @type {ConsumptionSummaryTrend || null}
*/
this.Trend = null;
/**
* Cash
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* Bonus
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* Voucher
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Royalty amount
* @type {string || null}
*/
this.TransferPayAmount = null;
/**
* Cash payment (pre-tax)
* @type {string || null}
*/
this.AmountBeforeTax = null;
/**
* Tax
* @type {string || null}
*/
this.Tax = null;
/**
* Region name (only shown in regional summary)
* @type {string || null}
*/
this.RegionName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.BusinessCodeName = 'BusinessCodeName' in params ? params.BusinessCodeName : null;
this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null;
if (params.Trend) {
let obj = new ConsumptionSummaryTrend();
obj.deserialize(params.Trend)
this.Trend = obj;
}
this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null;
this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null;
this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null;
this.TransferPayAmount = 'TransferPayAmount' in params ? params.TransferPayAmount : null;
this.AmountBeforeTax = 'AmountBeforeTax' in params ? params.AmountBeforeTax : null;
this.Tax = 'Tax' in params ? params.Tax : null;
this.RegionName = 'RegionName' in params ? params.RegionName : null;
}
}
/**
* ModifyGatherRule request structure.
* @class
*/
class ModifyGatherRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Edit collection rule ID.
* @type {number || null}
*/
this.Id = null;
/**
* Rule detail of the edited collection rule.
* @type {AllocationRuleExpression || null}
*/
this.RuleDetail = null;
/**
* Month, which is the current month by default if not provided.
* @type {string || null}
*/
this.Month = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
if (params.RuleDetail) {
let obj = new AllocationRuleExpression();
obj.deserialize(params.RuleDetail)
this.RuleDetail = obj;
}
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* Budget threshold notification
* @class
*/
class BudgetWarn extends AbstractModel {
constructor(){
super();
/**
* ACTUAL amount
FORECAST Amount
* @type {string || null}
*/
this.WarnType = null;
/**
* PERCENTAGE Percentage of the budget amount, ABS Fixed value
* @type {string || null}
*/
this.CalType = null;
/**
* Threshold (greater than or equal to 0)
* @type {string || null}
*/
this.ThresholdValue = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.WarnType = 'WarnType' in params ? params.WarnType : null;
this.CalType = 'CalType' in params ? params.CalType : null;
this.ThresholdValue = 'ThresholdValue' in params ? params.ThresholdValue : null;
}
}
/**
* ModifyAllocationRule request structure.
* @class
*/
class ModifyAllocationRuleRequest extends AbstractModel {
constructor(){
super();
/**
* The edited sharing rule ID.
* @type {number || null}
*/
this.RuleId = null;
/**
* Edited sharing rule name.
* @type {string || null}
*/
this.Name = null;
/**
* Public sharing policy types, enumeration values are as follows: 1 - custom sharing proportion 2 - proportional allocation 3 - allocation by proportion.
* @type {number || null}
*/
this.Type = null;
/**
* Edited share rules expression.
* @type {AllocationRuleExpression || null}
*/
this.RuleDetail = null;
/**
* Edited sharing proportion expression.
* @type {Array.<AllocationRationExpression> || null}
*/
this.RatioDetail = null;
/**
* Month, which is the current month by default if not provided.
* @type {string || null}
*/
this.Month = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Name = 'Name' in params ? params.Name : null;
this.Type = 'Type' in params ? params.Type : null;
if (params.RuleDetail) {
let obj = new AllocationRuleExpression();
obj.deserialize(params.RuleDetail)
this.RuleDetail = obj;
}
if (params.RatioDetail) {
this.RatioDetail = new Array();
for (let z in params.RatioDetail) {
let obj = new AllocationRationExpression();
obj.deserialize(params.RatioDetail[z]);
this.RatioDetail.push(obj);
}
}
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* DeleteAllocationRule request structure.
* @class
*/
class DeleteAllocationRuleRequest extends AbstractModel {
constructor(){
super();
/**
* The deleted sharing rule ID.
* @type {number || null}
*/
this.RuleId = null;
/**
* Month, which is the current month by default if not provided.
* @type {string || null}
*/
this.Month = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RuleId = 'RuleId' in params ? params.RuleId : null;
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* CreateAllocationRule response structure.
* @class
*/
class CreateAllocationRuleResponse extends AbstractModel {
constructor(){
super();
/**
* Add new sharing rule ID.
* @type {number || null}
*/
this.Id = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Bill tag information.
* @class
*/
class BillTagInfo extends AbstractModel {
constructor(){
super();
/**
* Cost allocation tag key
* @type {string || null}
*/
this.TagKey = null;
/**
* Tag value
* @type {string || null}
*/
this.TagValue = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TagKey = 'TagKey' in params ? params.TagKey : null;
this.TagValue = 'TagValue' in params ? params.TagValue : null;
}
}
/**
* Total amount of a cost allocation bill
* @class
*/
class AllocationOverviewTotal extends AbstractModel {
constructor(){
super();
/**
* Total fees: Total Fees (Cash) + Total Fees (Royalty Amount) + Total Fees (Free Credit) + Total Fees (Voucher)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Cash: Total fees of cash
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* Free credit: Total fees of free credit
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* Voucher: Total fees of voucher
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Royalty amount: Total fees of royalty amount
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TransferPayAmount = null;
/**
* Pre-tax price after discount
* @type {string || null}
*/
this.CostBeforeTax = null;
/**
* Tax
* @type {string || null}
*/
this.Tax = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null;
this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null;
this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null;
this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null;
this.TransferPayAmount = 'TransferPayAmount' in params ? params.TransferPayAmount : null;
this.CostBeforeTax = 'CostBeforeTax' in params ? params.CostBeforeTax : null;
this.Tax = 'Tax' in params ? params.Tax : null;
}
}
/**
* CreateInstance response structure.
* @class
*/
class CreateInstanceResponse extends AbstractModel {
constructor(){
super();
/**
* Order ID
* @type {string || null}
*/
this.OrderId = null;
/**
* Instance id list. Empty list will be returned once product delivery is delayed.
* @type {Array.<string> || null}
*/
this.InstanceIdList = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.OrderId = 'OrderId' in params ? params.OrderId : null;
this.InstanceIdList = 'InstanceIdList' in params ? params.InstanceIdList : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Query returns complete budget information
* @class
*/
class BudgetExtend extends AbstractModel {
constructor(){
super();
/**
* Budget Name
* @type {string || null}
*/
this.BudgetName = null;
/**
* Budget limit
* @type {string || null}
*/
this.BudgetQuota = null;
/**
* DAY, MONTH, QUARTER, YEAR
* @type {string || null}
*/
this.CycleType = null;
/**
* BILL System bill, CONSUMPTION Consumption bill
* @type {string || null}
*/
this.BillType = null;
/**
* COST Original price, REAL_COST Actual fee, CASH Cash, INCENTIVE Free credit, VOUCHER Voucher, TRANSFER Allocated fees (royalty amount), TAX Tax, AMOUNT_BEFORE_TAX Cash payment (before tax)
* @type {string || null}
*/
this.FeeType = null;
/**
* Validity start time 2025-01-01
* @type {string || null}
*/
this.PeriodBegin = null;
/**
* Validity end time 2025-12-01
* @type {string || null}
*/
this.PeriodEnd = null;
/**
* COST,USAGE,RI,SP
* @type {string || null}
*/
this.Dimensions = null;
/**
* FIX fixed value, CYCLE different value
* @type {string || null}
*/
this.PlanType = null;
/**
* threshold alert
* @type {Array.<BudgetWarn> || null}
*/
this.WarnJson = null;
/**
* User UIN
* @type {number || null}
*/
this.PayerUin = null;
/**
* fluctuation alert
* @type {Array.<WaveThresholdForm> || null}
*/
this.WaveThresholdJson = null;
/**
* Budget remark
* @type {string || null}
*/
this.BudgetNote = null;
/**
* Custom sending object information
* @type {string || null}
*/
this.SendDetail = null;
/**
* Default uin sent
* @type {number || null}
*/
this.DefaultMode = null;
/**
* CUS custom budget, ZERO_COST zero-cost budget template, BY_MONTH monthly cost budget template
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TemplateType = null;
/**
* (1, "Not over budget")
(2, "Overspend")
* @type {number || null}
*/
this.MoneyStatus = null;
/**
* Reminder count
* @type {number || null}
*/
this.RemindTimes = null;
/**
* Creation time
* @type {string || null}
*/
this.CreateTime = null;
/**
* Update budget time
* @type {string || null}
*/
this.UpdateTime = null;
/**
* Associated Id of the budget
* @type {string || null}
*/
this.BudgetId = null;
/**
* NO_FORECAST (Not set)
FORECAST_NO_DATA (Set up prediction but no data)
FORECAST_HAS_DATA (Set up prediction with predictive data)
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.HasForecast = null;
/**
* predicted fee
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ForecastCost = null;
/**
* Projection progress
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ForecastProgress = null;
/**
* actual fee
* @type {string || null}
*/
this.RealCost = null;
/**
* Custom send
* @type {Array.<BudgetSendInfoDto> || null}
*/
this.BudgetSendInfoForm = null;
/**
* current cycle
* @type {string || null}
*/
this.CurDateDesc = null;
/**
* EXPIRED
ACTIVE
UNACTIVATED Invalid
ACTIVATED To be effective
* @type {string || null}
*/
this.BudgetStatus = null;
/**
* Budget dimension range condition
Note: This field may return null, indicating that no valid values can be obtained.
* @type {BudgetConditionsForm || null}
*/
this.DimensionsRange = null;
/**
* Budget progress
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BudgetProgress = null;
/**
* Budget Type is set to budget planning and returns the budget limit
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<BudgetPlan> || null}
*/
this.BudgetQuotaJson = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BudgetName = 'BudgetName' in params ? params.BudgetName : null;
this.BudgetQuota = 'BudgetQuota' in params ? params.BudgetQuota : null;
this.CycleType = 'CycleType' in params ? params.CycleType : null;
this.BillType = 'BillType' in params ? params.BillType : null;
this.FeeType = 'FeeType' in params ? params.FeeType : null;
this.PeriodBegin = 'PeriodBegin' in params ? params.PeriodBegin : null;
this.PeriodEnd = 'PeriodEnd' in params ? params.PeriodEnd : null;
this.Dimensions = 'Dimensions' in params ? params.Dimensions : null;
this.PlanType = 'PlanType' in params ? params.PlanType : null;
if (params.WarnJson) {
this.WarnJson = new Array();
for (let z in params.WarnJson) {
let obj = new BudgetWarn();
obj.deserialize(params.WarnJson[z]);
this.WarnJson.push(obj);
}
}
this.PayerUin = 'PayerUin' in params ? params.PayerUin : null;
if (params.WaveThresholdJson) {
this.WaveThresholdJson = new Array();
for (let z in params.WaveThresholdJson) {
let obj = new WaveThresholdForm();
obj.deserialize(params.WaveThresholdJson[z]);
this.WaveThresholdJson.push(obj);
}
}
this.BudgetNote = 'BudgetNote' in params ? params.BudgetNote : null;
this.SendDetail = 'SendDetail' in params ? params.SendDetail : null;
this.DefaultMode = 'DefaultMode' in params ? params.DefaultMode : null;
this.TemplateType = 'TemplateType' in params ? params.TemplateType : null;
this.MoneyStatus = 'MoneyStatus' in params ? params.MoneyStatus : null;
this.RemindTimes = 'RemindTimes' in params ? params.RemindTimes : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
this.BudgetId = 'BudgetId' in params ? params.BudgetId : null;
this.HasForecast = 'HasForecast' in params ? params.HasForecast : null;
this.ForecastCost = 'ForecastCost' in params ? params.ForecastCost : null;
this.ForecastProgress = 'ForecastProgress' in params ? params.ForecastProgress : null;
this.RealCost = 'RealCost' in params ? params.RealCost : null;
if (params.BudgetSendInfoForm) {
this.BudgetSendInfoForm = new Array();
for (let z in params.BudgetSendInfoForm) {
let obj = new BudgetSendInfoDto();
obj.deserialize(params.BudgetSendInfoForm[z]);
this.BudgetSendInfoForm.push(obj);
}
}
this.CurDateDesc = 'CurDateDesc' in params ? params.CurDateDesc : null;
this.BudgetStatus = 'BudgetStatus' in params ? params.BudgetStatus : null;
if (params.DimensionsRange) {
let obj = new BudgetConditionsForm();
obj.deserialize(params.DimensionsRange)
this.DimensionsRange = obj;
}
this.BudgetProgress = 'BudgetProgress' in params ? params.BudgetProgress : null;
if (params.BudgetQuotaJson) {
this.BudgetQuotaJson = new Array();
for (let z in params.BudgetQuotaJson) {
let obj = new BudgetPlan();
obj.deserialize(params.BudgetQuotaJson[z]);
this.BudgetQuotaJson.push(obj);
}
}
}
}
/**
* Product filter criteria
* @class
*/
class ConditionBusiness extends AbstractModel {
constructor(){
super();
/**
* Product name code
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Product name
* @type {string || null}
*/
this.BusinessCodeName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.BusinessCodeName = 'BusinessCodeName' in params ? params.BusinessCodeName : null;
}
}
/**
* Cost analysis transaction type complex type
* @class
*/
class AnalyseActionTypeDetail extends AbstractModel {
constructor(){
super();
/**
* Transaction type code
* @type {string || null}
*/
this.ActionType = null;
/**
* Transaction type Name
* @type {string || null}
*/
this.ActionTypeName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.ActionTypeName = 'ActionTypeName' in params ? params.ActionTypeName : null;
}
}
/**
* DescribeBudget request structure.
* @class
*/
class DescribeBudgetRequest extends AbstractModel {
constructor(){
super();
/**
* Page number, int
* @type {number || null}
*/
this.PageNo = null;
/**
* Number of items per page, integer
* @type {number || null}
*/
this.PageSize = null;
/**
* Budget project id
* @type {string || null}
*/
this.BudgetId = null;
/**
* Budget Name
* @type {string || null}
*/
this.BudgetName = null;
/**
* EXPIRED, ACTIVE, ACTIVATED pending activation
* @type {string || null}
*/
this.BudgetStatus = null;
/**
* DAY day MONTH monthly QUARTER quarter YEAR annual
* @type {Array.<string> || null}
*/
this.CycleTypes = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.BudgetId = 'BudgetId' in params ? params.BudgetId : null;
this.BudgetName = 'BudgetName' in params ? params.BudgetName : null;
this.BudgetStatus = 'BudgetStatus' in params ? params.BudgetStatus : null;
this.CycleTypes = 'CycleTypes' in params ? params.CycleTypes : null;
}
}
/**
* DescribeCostExplorerSummary request structure.
* @class
*/
class DescribeCostExplorerSummaryRequest extends AbstractModel {
constructor(){
super();
/**
* The start time of the period in the format of yyyy-mm-dd hh:ii:ss.
* @type {string || null}
*/
this.BeginTime = null;
/**
* The end time of the period in the format of yyyy-mm-dd hh:ii:ss.
* @type {string || null}
*/
this.EndTime = null;
/**
* Bill type: 1-cost bill, 2-consumption bill
* @type {string || null}
*/
this.BillType = null;
/**
* Statistical period: day-day, month-month;
* @type {string || null}
*/
this.PeriodType = null;
/**
* Classification dimension (data aggregation dimension). Query classification dimension. (Use classification dimension code input parameter.) Input parameter enumeration value:default = Total only
feeType = Fee typebillType = Bill typebusiness = Product
product = Sub-productregion=Region
zone = Availability zoneactionType = Transaction typepayMode = Billing modetags = Tagproject = ProjectpayerUin = Payer accountownerUin = User account
* @type {string || null}
*/
this.Dimensions = null;
/**
* Fee type: cost-discounted total cost, totalCost-original price cost
* @type {string || null}
*/
this.FeeType = null;
/**
* Quantity. The maximum value per page is 100.
* @type {number || null}
*/
this.PageSize = null;
/**
* Starting page, where PageNo=1 indicates the first page, PageNo=2 indicates the second page, and so on.
* @type {number || null}
*/
this.PageNo = null;
/**
* Cost allocation tag key
* @type {string || null}
*/
this.TagKeyStr = null;
/**
* Whether the filter box is needed: 1- indicates it is needed, 0- indicates it is not needed. If it is not specified, it is not required by default.
* @type {string || null}
*/
this.NeedConditionValue = null;
/**
* Filter parameters
* @type {AnalyseConditions || null}
*/
this.Conditions = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.BillType = 'BillType' in params ? params.BillType : null;
this.PeriodType = 'PeriodType' in params ? params.PeriodType : null;
this.Dimensions = 'Dimensions' in params ? params.Dimensions : null;
this.FeeType = 'FeeType' in params ? params.FeeType : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.PageNo = 'PageNo' in params ? params.PageNo : null;
this.TagKeyStr = 'TagKeyStr' in params ? params.TagKeyStr : null;
this.NeedConditionValue = 'NeedConditionValue' in params ? params.NeedConditionValue : null;
if (params.Conditions) {
let obj = new AnalyseConditions();
obj.deserialize(params.Conditions)
this.Conditions = obj;
}
}
}
/**
* Product cascade filter value
* @class
*/
class BillBusinessLink extends AbstractModel {
constructor(){
super();
/**
* Product code
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Product name
* @type {string || null}
*/
this.BusinessCodeName = null;
/**
* Subproduct
* @type {Array.<BillProductLink> || null}
*/
this.Children = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.BusinessCodeName = 'BusinessCodeName' in params ? params.BusinessCodeName : null;
if (params.Children) {
this.Children = new Array();
for (let z in params.Children) {
let obj = new BillProductLink();
obj.deserialize(params.Children[z]);
this.Children.push(obj);
}
}
}
}
/**
* DescribeCostSummaryByProduct response structure.
* @class
*/
class DescribeCostSummaryByProductResponse extends AbstractModel {
constructor(){
super();
/**
* Data readiness, 0 for not ready, 1 for ready
* @type {number || null}
*/
this.Ready = null;
/**
* Consumption details
* @type {ConsumptionSummaryTotal || null}
*/
this.Total = null;
/**
* Consumption details summarized by product
* @type {Array.<ConsumptionBusinessSummaryDataItem> || null}
*/
this.Data = null;
/**
* Record count. If NeedRecordNum is 0, null is returned.
* @type {number || null}
*/
this.RecordNum = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Ready = 'Ready' in params ? params.Ready : null;
if (params.Total) {
let obj = new ConsumptionSummaryTotal();
obj.deserialize(params.Total)
this.Total = obj;
}
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new ConsumptionBusinessSummaryDataItem();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RecordNum = 'RecordNum' in params ? params.RecordNum : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeAllocationTree response structure.
* @class
*/
class DescribeAllocationTreeResponse extends AbstractModel {
constructor(){
super();
/**
* Cost allocation unit ID.
* @type {number || null}
*/
this.Id = null;
/**
* Specifies the name of a cost allocation unit.
* @type {string || null}
*/
this.Name = null;
/**
* Unique identifier of a cost allocation unit
* @type {string || null}
*/
this.TreeNodeUniqKey = null;
/**
* Specifies a subtree.
* @type {Array.<AllocationTree> || null}
*/
this.Children = null;
/**
* The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.TreeNodeUniqKey = 'TreeNodeUniqKey' in params ? params.TreeNodeUniqKey : null;
if (params.Children) {
this.Children = new Array();
for (let z in params.Children) {
let obj = new AllocationTree();
obj.deserialize(params.Children[z]);
this.Children.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Monthly overview amount details of a cost allocation bill
* @class
*/
class AllocationMonthOverviewDetail extends AbstractModel {
constructor(){
super();
/**
* Collected fees (cash): Cash directly collected to the cost allocation unit based on the collection rules
* @type {string || null}
*/
this.GatherCashPayAmount = null;
/**
* Collected fees (voucher): Resource vouchers directly collected to the cost allocation unit based on the collection rules
* @type {string || null}
*/
this.GatherVoucherPayAmount = null;
/**
* Collected fees (free credit): Resource free credit directly collected to the cost allocation unit based on the collection rules
* @type {string || null}
*/
this.GatherIncentivePayAmount = null;
/**
* Collected fees (royalty amount): Resource royalty amount directly collected to the cost allocation unit based on the collection rules
* @type {string || null}
*/
this.GatherTransferPayAmount = null;
/**
* Allocated fees (cash): Resource cash allocated to the cost allocation unit based on the allocation rules
* @type {string || null}
*/
this.AllocateCashPayAmount = null;
/**
* Allocated fees (vouchers): Resource vouchers allocated to the cost allocation unit based on the allocation rules
* @type {string || null}
*/
this.AllocateVoucherPayAmount = null;
/**
* Allocated fees (free credit): Resource free credit allocated to the cost allocation unit based on the allocation rules
* @type {string || null}
*/
this.AllocateIncentivePayAmount = null;
/**
* Allocated fees (royalty amount): Resource royalty amount allocated to the cost allocation unit based on the allocation rules
* @type {string || null}
*/
this.AllocateTransferPayAmount = null;
/**
* Total fees (cash): Total fees of the cost allocation unit, Collected Fees (Cash) + Allocated fees (Cash)
* @type {string || null}
*/
this.TotalCashPayAmount = null;
/**
* Total fees (voucher): Total fees of the cost allocation unit, Collected Fees (Voucher) + Allocated fees (Voucher)
* @type {string || null}
*/
this.TotalVoucherPayAmount = null;
/**
* Total fees (free credit): Total fees of the cost allocation unit, Collected Fees (Free Credit) + Allocated fees (Free Credit)
* @type {string || null}
*/
this.TotalIncentivePayAmount = null;
/**
* Total fees (royalty amount): Total cost of the cost allocation unit, Collected Fees (Royalty Amount) + Allocated fees (Royalty Amount)
* @type {string || null}
*/
this.TotalTransferPayAmount = null;
/**
* Collected fees (discounted total): Total resource amount after discount directly collected to the cost allocation unit based on the collection rules
* @type {string || null}
*/
this.GatherRealCost = null;
/**
* Allocated fees (discounted total): Total resource amount after discount directly allocated to the cost allocation unit based on the allocation rules
* @type {string || null}
*/
this.AllocateRealCost = null;
/**
* Total fees (discounted total): Total fees of the cost allocation unit, Collected Fees (discounted total) + Allocated fees (discounted total)
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Proportion (discounted total): Total fees (discounted total) of the Cost Allocation Unit/Total Fees (discounted total) * 100%
* @type {string || null}
*/
this.Ratio = null;
/**
* Month-on-month ratio (discounted total): [Total fees (discounted total) of the cost allocation unit in this month - Total fees (discounted total) of the cost allocation unit in the previous month]/Total fees (discounted total) of the cost allocation unit in the previous month * 100%
* @type {string || null}
*/
this.Trend = null;
/**
* Sequential Comparison Arrow
upward - Upward
downward - Downward
none - Stable
* @type {string || null}
*/
this.TrendType = null;
/**
* AllocateCostBeforeTax
* @type {string || null}
*/
this.AllocateCostBeforeTax = null;
/**
* GatherCostBeforeTax
* @type {string || null}
*/
this.GatherCostBeforeTax = null;
/**
* TotalCostBeforeTax
* @type {string || null}
*/
this.TotalCostBeforeTax = null;
/**
* AllocateTax
* @type {string || null}
*/
this.AllocateTax = null;
/**
* GatherTax
* @type {string || null}
*/
this.GatherTax = null;
/**
* TotalTax
* @type {string || null}
*/
this.TotalTax = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.GatherCashPayAmount = 'GatherCashPayAmount' in params ? params.GatherCashPayAmount : null;
this.GatherVoucherPayAmount = 'GatherVoucherPayAmount' in params ? params.GatherVoucherPayAmount : null;
this.GatherIncentivePayAmount = 'GatherIncentivePayAmount' in params ? params.GatherIncentivePayAmount : null;
this.GatherTransferPayAmount = 'GatherTransferPayAmount' in params ? params.GatherTransferPayAmount : null;
this.AllocateCashPayAmount = 'AllocateCashPayAmount' in params ? params.AllocateCashPayAmount : null;
this.AllocateVoucherPayAmount = 'AllocateVoucherPayAmount' in params ? params.AllocateVoucherPayAmount : null;
this.AllocateIncentivePayAmount = 'AllocateIncentivePayAmount' in params ? params.AllocateIncentivePayAmount : null;
this.AllocateTransferPayAmount = 'AllocateTransferPayAmount' in params ? params.AllocateTransferPayAmount : null;
this.TotalCashPayAmount = 'TotalCashPayAmount' in params ? params.TotalCashPayAmount : null;
this.TotalVoucherPayAmount = 'TotalVoucherPayAmount' in params ? params.TotalVoucherPayAmount : null;
this.TotalIncentivePayAmount = 'TotalIncentivePayAmount' in params ? params.TotalIncentivePayAmount : null;
this.TotalTransferPayAmount = 'TotalTransferPayAmount' in params ? params.TotalTransferPayAmount : null;
this.GatherRealCost = 'GatherRealCost' in params ? params.GatherRealCost : null;
this.AllocateRealCost = 'AllocateRealCost' in params ? params.AllocateRealCost : null;
this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null;
this.Ratio = 'Ratio' in params ? params.Ratio : null;
this.Trend = 'Trend' in params ? params.Trend : null;
this.TrendType = 'TrendType' in params ? params.TrendType : null;
this.AllocateCostBeforeTax = 'AllocateCostBeforeTax' in params ? params.AllocateCostBeforeTax : null;
this.GatherCostBeforeTax = 'GatherCostBeforeTax' in params ? params.GatherCostBeforeTax : null;
this.TotalCostBeforeTax = 'TotalCostBeforeTax' in params ? params.TotalCostBeforeTax : null;
this.AllocateTax = 'AllocateTax' in params ? params.AllocateTax : null;
this.GatherTax = 'GatherTax' in params ? params.GatherTax : null;
this.TotalTax = 'TotalTax' in params ? params.TotalTax : null;
}
}
/**
* Cost allocation tree.
* @class
*/
class AllocationTree extends AbstractModel {
constructor(){
super();
/**
* ID of a cost allocation unit.
* @type {number || null}
*/
this.Id = null;
/**
* Cost allocation unit name.
* @type {string || null}
*/
this.Name = null;
/**
* Unique identifier of a cost allocation unit
* @type {string || null}
*/
this.TreeNodeUniqKey = null;
/**
* Subtree.
* @type {Array.<AllocationTree> || null}
*/
this.Children = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : null;
this.TreeNodeUniqKey = 'TreeNodeUniqKey' in params ? params.TreeNodeUniqKey : null;
if (params.Children) {
this.Children = new Array();
for (let z in params.Children) {
let obj = new AllocationTree();
obj.deserialize(params.Children[z]);