tencentcloud-sdk-nodejs-intl-en
Version:
1,755 lines (1,480 loc) • 317 kB
JavaScript
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. 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;
}
}
/**
* DeleteAllocationTag request structure.
* @class
*/
class DeleteAllocationTagRequest extends AbstractModel {
constructor(){
super();
/**
* Cost allocation tag key
* @type {Array.<string> || null}
*/
this.TagKey = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TagKey = 'TagKey' in params ? params.TagKey : 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;
}
}
/**
* DescribeCostExplorerSummary response structure.
* @class
*/
class DescribeCostExplorerSummaryResponse extends AbstractModel {
constructor(){
super();
/**
* Number of data entries
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Total = null;
/**
* Header informationNote: This field may return null, indicating that no valid values can be obtained.
* @type {AnalyseHeaderDetail || null}
*/
this.Header = null;
/**
* Data detailsNote: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<AnalyseDetail> || null}
*/
this.Detail = null;
/**
* Data amountNote: This field may return null, indicating that no valid values can be obtained.
* @type {AnalyseDetail || null}
*/
this.TotalDetail = null;
/**
* Filter boxNote: This field may return null, indicating that no valid values can be obtained.
* @type {AnalyseConditionDetail || null}
*/
this.ConditionValue = 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.Header) {
let obj = new AnalyseHeaderDetail();
obj.deserialize(params.Header)
this.Header = obj;
}
if (params.Detail) {
this.Detail = new Array();
for (let z in params.Detail) {
let obj = new AnalyseDetail();
obj.deserialize(params.Detail[z]);
this.Detail.push(obj);
}
}
if (params.TotalDetail) {
let obj = new AnalyseDetail();
obj.deserialize(params.TotalDetail)
this.TotalDetail = obj;
}
if (params.ConditionValue) {
let obj = new AnalyseConditionDetail();
obj.deserialize(params.ConditionValue)
this.ConditionValue = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : 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
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* Bonus
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* VoucherNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Share revenueNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TransferPayAmount = null;
/**
* Region name (only shown in regional summary)
Note: This field may return null, indicating that no valid values can be obtained.
* @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.RegionName = 'RegionName' in params ? params.RegionName : 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;
}
}
/**
* 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 codeNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ActionType = null;
/**
* Transaction type nameNote: This field may return null, indicating that no valid values can be obtained.
* @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;
}
}
/**
* 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-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 value
* @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;
}
}
}
/**
* 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 productNote: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<ConsumptionBusinessSummaryDataItem> || null}
*/
this.Data = null;
/**
* Record count. The system returns null when NeedRecordNum is 0.Note: This field may return null, indicating that no valid values can be obtained.
* @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;
}
}
/**
* DeleteAllocationTag response structure.
* @class
*/
class DeleteAllocationTagResponse extends AbstractModel {
constructor(){
super();
/**
* 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.RequestId = 'RequestId' in params ? params.RequestId : 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]);
this.Children.push(obj);
}
}
}
}
/**
* DescribeBillDetailForOrganization response structure.
* @class
*/
class DescribeBillDetailForOrganizationResponse extends AbstractModel {
constructor(){
super();
/**
* Details list.
* @type {Array.<DistributionBillDetail> || null}
*/
this.DetailSet = null;
/**
* Total number of records, which is cached every 24 hours and may be less than the actual total number of records.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Total = null;
/**
* Context information of the current request, which can be used in the parameters of the next request to speed up the query.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Context = 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.DetailSet) {
this.DetailSet = new Array();
for (let z in params.DetailSet) {
let obj = new DistributionBillDetail();
obj.deserialize(params.DetailSet[z]);
this.DetailSet.push(obj);
}
}
this.Total = 'Total' in params ? params.Total : null;
this.Context = 'Context' in params ? params.Context : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Bill details configuration descriptions
* @class
*/
class BillDetailComponentConfig extends AbstractModel {
constructor(){
super();
/**
* Configuration description name
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Name = null;
/**
* Configuration description value
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Value = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Name = 'Name' in params ? params.Name : null;
this.Value = 'Value' in params ? params.Value : null;
}
}
/**
* DescribeCostSummaryByResource response structure.
* @class
*/
class DescribeCostSummaryByResourceResponse extends AbstractModel {
constructor(){
super();
/**
* Data readiness, 0 for not ready, 1 for ready
* @type {number || null}
*/
this.Ready = null;
/**
* Consumption detailsNote: This field may return null, indicating that no valid values can be obtained.
* @type {ConsumptionSummaryTotal || null}
*/
this.Total = null;
/**
* Filter criteria
Note: This field may return null, indicating that no valid values can be obtained.
* @type {ConsumptionResourceSummaryConditionValue || null}
*/
this.ConditionValue = null;
/**
* Record countNote: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.RecordNum = null;
/**
* Resource consumption detailsNote: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<ConsumptionResourceSummaryDataItem> || 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.Ready = 'Ready' in params ? params.Ready : null;
if (params.Total) {
let obj = new ConsumptionSummaryTotal();
obj.deserialize(params.Total)
this.Total = obj;
}
if (params.ConditionValue) {
let obj = new ConsumptionResourceSummaryConditionValue();
obj.deserialize(params.ConditionValue)
this.ConditionValue = obj;
}
this.RecordNum = 'RecordNum' in params ? params.RecordNum : null;
if (params.Data) {
this.Data = new Array();
for (let z in params.Data) {
let obj = new ConsumptionResourceSummaryDataItem();
obj.deserialize(params.Data[z]);
this.Data.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeBillSummaryByRegion request structure.
* @class
*/
class DescribeBillSummaryByRegionRequest extends AbstractModel {
constructor(){
super();
/**
* The value must be of the same month as `EndTime`. 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`. 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;
/**
* Queries bill data user's UIN
* @type {string || null}
*/
this.PayerUin = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BeginTime = 'BeginTime' in params ? params.BeginTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.PayerUin = 'PayerUin' in params ? params.PayerUin : null;
}
}
/**
* This API is used to view UIN exception adjustment details.
* @class
*/
class AdjustInfoDetail extends AbstractModel {
constructor(){
super();
/**
* Payer UIN, namely the account ID of the payer. The account ID is the user's unique account identifier on Tencent Cloud.
Note: This field may return null, indicating that no valid values can be obtained.
Example value: 909619400.
* @type {string || null}
*/
this.PayerUin = null;
/**
* Bill month. Format: yyyy-MM.
Note: This field may return null, indicating that no valid value can be obtained.
Example value: 2024-10.
* @type {string || null}
*/
this.Month = null;
/**
* Adjustment type.
Adjustment: manualAdjustment.
Supplementary settlement: supplementarySettlement.
Re-settlement: reSettlement.
Note: This field may return null, indicating that no valid value can be obtained.
Example value: manualAdjustment.
* @type {string || null}
*/
this.AdjustType = null;
/**
* Adjustment order number.
Note: This field may return null, indicating that no valid value can be obtained.
Example value: 2220726096135.
* @type {string || null}
*/
this.AdjustNum = null;
/**
* Completion time of exception adjustment. Format: yyyy-MM-dd HH:mm:ss.
Note: This field may return null, indicating that no valid value can be obtained.
Example value: 2022-12-02 12:39:04.
* @type {string || null}
*/
this.AdjustCompletionTime = null;
/**
* Adjustment amount.
Note: This field may return null, indicating that no valid value can be obtained.
Example value: 333.00000000.
* @type {number || null}
*/
this.AdjustAmount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.PayerUin = 'PayerUin' in params ? params.PayerUin : null;
this.Month = 'Month' in params ? params.Month : null;
this.AdjustType = 'AdjustType' in params ? params.AdjustType : null;
this.AdjustNum = 'AdjustNum' in params ? params.AdjustNum : null;
this.AdjustCompletionTime = 'AdjustCompletionTime' in params ? params.AdjustCompletionTime : null;
this.AdjustAmount = 'AdjustAmount' in params ? params.AdjustAmount : null;
}
}
/**
* CreateAllocationRule request structure.
* @class
*/
class CreateAllocationRuleRequest extends AbstractModel {
constructor(){
super();
/**
* List of sharing rules.
* @type {AllocationRulesSummary || null}
*/
this.RuleList = null;
/**
* Month, the current month by default if not provided.
* @type {string || null}
*/
this.Month = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.RuleList) {
let obj = new AllocationRulesSummary();
obj.deserialize(params.RuleList)
this.RuleList = obj;
}
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* Consumption details summarized by region
* @class
*/
class ConsumptionRegionSummaryDataItem extends AbstractModel {
constructor(){
super();
/**
* Region ID
* @type {string || null}
*/
this.RegionId = null;
/**
* Region name
* @type {string || null}
*/
this.RegionName = null;
/**
* Discounted total price
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Trend
* @type {ConsumptionSummaryTrend || null}
*/
this.Trend = null;
/**
* Product consumption details
* @type {Array.<ConsumptionBusinessSummaryDataItem> || null}
*/
this.Business = null;
/**
* Cash
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* VoucherNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Bonus
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* Share revenueNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TransferPayAmount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RegionId = 'RegionId' in params ? params.RegionId : null;
this.RegionName = 'RegionName' in params ? params.RegionName : null;
this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null;
if (params.Trend) {
let obj = new ConsumptionSummaryTrend();
obj.deserialize(params.Trend)
this.Trend = obj;
}
if (params.Business) {
this.Business = new Array();
for (let z in params.Business) {
let obj = new ConsumptionBusinessSummaryDataItem();
obj.deserialize(params.Business[z]);
this.Business.push(obj);
}
}
this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null;
this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null;
this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null;
this.TransferPayAmount = 'TransferPayAmount' in params ? params.TransferPayAmount : null;
}
}
/**
* Detailed summary of products
* @class
*/
class BusinessSummaryInfo extends AbstractModel {
constructor(){
super();
/**
* Product code
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Product name: The name of a Tencent Cloud product purchased by the user, such as CVM.
* @type {string || null}
*/
this.BusinessCodeName = null;
/**
* Original cost in USD. This parameter became valid when Bill 3.0 took effect in May 2021. Before that, `-` was returned for this parameter. If a customer has applied for a contract price different from the prices listed on the official website, `-` will also be returned for this parameter.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TotalCost = null;
/**
* Total amount after discount
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Cash credit: The amount paid from the user’s cash account
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* Free credit: The amount paid with the user’s free credit
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* Voucher payment: The voucher deduction amount
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Commission credit: The amount paid with the user’s commission credit. Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.TransferPayAmount = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.BusinessCodeName = 'BusinessCodeName' in params ? params.BusinessCodeName : null;
this.TotalCost = 'TotalCost' in params ? params.TotalCost : null;
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;
}
}
/**
* DescribeBillSummary request structure.
* @class
*/
class DescribeBillSummaryRequest extends AbstractModel {
constructor(){
super();
/**
* Bill month in the format of "yyyy-mm"
* @type {string || null}
*/
this.Month = null;
/**
* Bill dimension. Valid values: `business`, `project`, `region`, `payMode`, and `tag`
* @type {string || null}
*/
this.GroupType = null;
/**
* Tag key, which is used when `GroupType` is `tag`.
* @type {Array.<string> || null}
*/
this.TagKey = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Month = 'Month' in params ? params.Month : null;
this.GroupType = 'GroupType' in params ? params.GroupType : null;
this.TagKey = 'TagKey' in params ? params.TagKey : null;
}
}
/**
* DescribeBillResourceSummary response structure.
* @class
*/
class DescribeBillResourceSummaryResponse extends AbstractModel {
constructor(){
super();
/**
* Resource summary list
* @type {Array.<BillResourceSummary> || null}
*/
this.ResourceSummarySet = null;
/**
* Total number of resource summary lists, which will not be returned when `NeedRecordNum` is `0`. This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Total = 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.ResourceSummarySet) {
this.ResourceSummarySet = new Array();
for (let z in params.ResourceSummarySet) {
let obj = new BillResourceSummary();
obj.deserialize(params.ResourceSummarySet[z]);
this.ResourceSummarySet.push(obj);
}
}
this.Total = 'Total' in params ? params.Total : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeGatherRuleDetail request structure.
* @class
*/
class DescribeGatherRuleDetailRequest extends AbstractModel {
constructor(){
super();
/**
* Specifies the ID of the queried collection rule.
* @type {number || null}
*/
this.Id = null;
/**
* Month, 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;
this.Month = 'Month' in params ? params.Month : null;
}
}
/**
* Objects of reseller bill details
* @class
*/
class DistributionBillDetail extends AbstractModel {
constructor(){
super();
/**
* Product name: The name of a Tencent Cloud product purchased by the user, such as CVM.
* @type {string || null}
*/
this.BusinessCodeName = null;
/**
* Subproduct name: The subcategory of a Tencent Cloud product purchased by the user, such as CVM - Standard S1.
* @type {string || null}
*/
this.ProductCodeName = null;
/**
* Billing mode: The billing mode, which can be monthly subscription or pay-as-you-go.
* @type {string || null}
*/
this.PayModeName = null;
/**
* Project Name: The project to which a resource belongs, which is user-designated. If a resource has not been assigned to a project, it will automatically belong to the default project.
* @type {string || null}
*/
this.ProjectName = null;
/**
* Region: The region of a resource, e.g. South China (Guangzhou).
* @type {string || null}
*/
this.RegionName = null;
/**
* Availability zone: availability zone of a resource, e.g. Guangzhou Zone 3.
* @type {string || null}
*/
this.ZoneName = null;
/**
* Instance ID: The object ID of a billed resource, such as a CVM instance ID. This object ID may vary due to various forms and contents of resources in different products.
* @type {string || null}
*/
this.ResourceId = null;
/**
* Instance name: The resource name set by the user in the console. If it is not set, it will be empty by default.
* @type {string || null}
*/
this.ResourceName = null;
/**
* Transaction type, which can be monthly subscription purchase, monthly subscription renewal, pay-as-you-go deduction, etc.
* @type {string || null}
*/
this.ActionTypeName = null;
/**
* Order ID: The ID of a monthly subscription order.
* @type {string || null}
*/
this.OrderId = null;
/**
* Transaction ID: The ID of a settlement bill.
* @type {string || null}
*/
this.BillId = null;
/**
* Deduction time: The settlement cost deduction time.
* @type {string || null}
*/
this.PayTime = null;
/**
* Usage start time: The time at which product or service usage starts.
* @type {string || null}
*/
this.FeeBeginTime = null;
/**
* Usage end time: The time at which product or service usage ends.
* @type {string || null}
*/
this.FeeEndTime = null;
/**
* List of components.
* @type {Array.<BillDetailComponent> || null}
*/
this.ComponentSet = null;
/**
* Owner account ID: The account ID of the actual resource user.
* @type {string || null}
*/
this.OwnerUin = null;
/**
* Operator account ID: The account or role ID of the operator who purchases or activates a resource.
* @type {string || null}
*/
this.OperateUin = null;
/**
* Tag information.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<BillTagInfo> || null}
*/
this.Tags = null;
/**
* Product code.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BusinessCode = null;
/**
* Subproduct code.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ProductCode = null;
/**
* Transaction type code.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ActionType = null;
/**
* Region ID.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.RegionId = null;
/**
* Project ID.
* @type {number || null}
*/
this.ProjectId = null;
/**
* Price attribute: A set of attributes which will determine the price of a component, apart from unit price and usage duration.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.PriceInfo = null;
/**
* Associated transaction document ID: The ID of the document associated with a transaction, such as a write-off order, the original order showing a deduction error during first settlement, a restructured order, or the original purchase order corresponding to a refund order.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {BillDetailAssociatedOrder || null}
*/
this.AssociatedOrder = null;
/**
* Calculation formula: The detailed calculation formula for a specific transaction type, such as refund or configuration change.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Formula = null;
/**
* Billing rules: Official website links for detailed billing rules of each product.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.FormulaUrl = null;
/**
* Billing monthNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillMonth = null;
/**
* Billing dayNote: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.BillDay = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.BusinessCodeName = 'BusinessCodeName' in params ? params.BusinessCodeName : null;
this.ProductCodeName = 'ProductCodeName' in params ? params.ProductCodeName : null;
this.PayModeName = 'PayModeName' in params ? params.PayModeName : null;
this.ProjectName = 'ProjectName' in params ? params.ProjectName : null;
this.RegionName = 'RegionName' in params ? params.RegionName : null;
this.ZoneName = 'ZoneName' in params ? params.ZoneName : null;
this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;
this.ResourceName = 'ResourceName' in pa