tencentcloud-sdk-nodejs-intl-en
Version:
1,660 lines (1,403 loc) • 276 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");
/**
* 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;
}
}
/**
* 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;
}
}
/**
* Product details
* @class
*/
class ProductInfo extends AbstractModel {
constructor(){
super();
/**
* Product detail name identifier
* @type {string || null}
*/
this.Name = null;
/**
* Product details
* @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;
}
}
/**
* 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;
}
}
/**
* 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;
}
}
/**
* 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;
}
}
/**
* 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;
}
}
/**
* 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 params ? params.ResourceName : null;
this.ActionTypeName = 'ActionTypeName' in params ? params.ActionTypeName : null;
this.OrderId = 'OrderId' in params ? params.OrderId : null;
this.BillId = 'BillId' in params ? params.BillId : null;
this.PayTime = 'PayTime' in params ? params.PayTime : null;
this.FeeBeginTime = 'FeeBeginTime' in params ? params.FeeBeginTime : null;
this.FeeEndTime = 'FeeEndTime' in params ? params.FeeEndTime : null;
if (params.ComponentSet) {
this.ComponentSet = new Array();
for (let z in params.ComponentSet) {
let obj = new BillDetailComponent();
obj.deserialize(params.ComponentSet[z]);
this.ComponentSet.push(obj);
}
}
this.OwnerUin = 'OwnerUin' in params ? params.OwnerUin : null;
this.OperateUin = 'OperateUin' in params ? params.OperateUin : null;
if (params.Tags) {
this.Tags = new Array();
for (let z in params.Tags) {
let obj = new BillTagInfo();
obj.deserialize(params.Tags[z]);
this.Tags.push(obj);
}
}
this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null;
this.ProductCode = 'ProductCode' in params ? params.ProductCode : null;
this.ActionType = 'ActionType' in params ? params.ActionType : null;
this.RegionId = 'RegionId' in params ? params.RegionId : null;
this.ProjectId = 'ProjectId' in params ? params.ProjectId : null;
this.PriceInfo = 'PriceInfo' in params ? params.PriceInfo : null;
if (params.AssociatedOrder) {
let obj = new BillDetailAssociatedOrder();
obj.deserialize(params.AssociatedOrder)
this.AssociatedOrder = obj;
}
this.Formula = 'Formula' in params ? params.Formula : null;
this.FormulaUrl = 'FormulaUrl' in params ? params.FormulaUrl : null;
this.BillMonth = 'BillMonth' in params ? params.BillMonth : null;
this.BillDay = 'BillDay' in params ? params.BillDay : null;
}
}
/**
* DescribeDosageCosDetailByDate request structure.
* @class
*/
class DescribeDosageCosDetailByDateRequest extends AbstractModel {
constructor(){
super();
/**
* The start date of the usage query, such as `2020-09-01`.
* @type {string || null}
*/
this.StartDate = null;
/**
* The end date of the usage query (end date must be in the same month as the start date), such as `2020-09-30`.
* @type {string || null}
*/
this.EndDate = null;
/**
* Bucket name. You can use `Get Service` to query the list of all buckets under a requester account. For details, see [GET Service (List Buckets)](https://www.tencentcloud.com/document/product/436/8291).
* @type {string || null}
*/
this.BucketName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StartDate = 'StartDate' in params ? params.StartDate : null;
this.EndDate = 'EndDate' in params ? params.EndDate : null;
this.BucketName = 'BucketName' in params ? params.BucketName : null;
}
}
/**
* DescribeBillAdjustInfo response structure.
* @class
*/
class DescribeBillAdjustInfoResponse extends AbstractModel {
constructor(){
super();
/**
* Total amount of data.
Example value: 10.
* @type {number || null}
*/
this.Total = null;
/**
* Detailed data.
Example value: [].
* @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;
}
}
/**
* Summary objects for a reseller bill
* @class
*/
class BillDistributionResourceSummary 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: The 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;
/**
* 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;
/**
* Configuration description: The billable item names and usage of a resource, which are displayed on the resource bill only.
* @type {string || null}
*/
this.ConfigDesc = null;
/**
* Extended Field 1: The extended attribute information of a product, which is displayed on the resource bill only.
* @type {string || null}
*/
this.ExtendField1 = null;
/**
* Extended field 2: The extended attribute information of a product, which is displayed on the resource bill only.
* @type {string || null}
*/
this.ExtendField2 = null;
/**
* Original cost. The original cost of a component = Component price x Usage x Usage duration. If a customer has applied for a fixed preferential price or contract price or if a customer is in a refund scenario, this parameter will not be displayed by default.
* @type {string || null}
*/
this.TotalCost = null;
/**
* Discount multiplier: The discount multiplier that applies to the component. If a customer has applied for a fixed preferential price or contract price or if a customer is in a refund scenario, this parameter will not be displayed by default.
* @type {string || null}
*/
this.Discount = null;
/**
* Offer type.
* @type {string || null}
*/
this.ReduceType = null;
/**
* Total amount after discount.
* @type {string || null}
*/
this.RealTotalCost = null;
/**
* Voucher payment: The voucher deduction amount.
* @type {string || null}
*/
this.VoucherPayAmount = null;
/**
* Cash credit payment: The amount paid through the user's cash account.
* @type {string || null}
*/
this.CashPayAmount = null;
/**
* Free credit payment: The amount paid with the user's free credit.
* @type {string || null}
*/
this.IncentivePayAmount = null;
/**
* Commission credit payment: 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;
/**
* Extended field 3: The extended attribute information of a product, which is displayed on the resource bill only.
* @type {string || null}
*/
this.ExtendField3 = null;
/**
* Extended field 4: The extended attribute information of a product, which is displayed on the resource bill only.
* @type {string || null}
*/
this.ExtendField4 = null;
/**
* Extended field 5: The extended attribute information of a product, which is displayed on the resource bill only.
* @type {string || null}
*/
this.ExtendField5 = null;
/**
* Tag information.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<BillTagInfo> || null}
*/
this.Tags = 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;
/**
* Product c