<?php
/*
 * QueryInstanceBill 请求类（本工程自行补充，SDK V20171214 未提供）
 * 对应阿里云控制台 expense-detail-by-instance 页面
 * 官方文档：https://help.aliyun.com/zh/user-center/developer-reference/api-bssopenapi-2017-12-14-queryinstancebill
 *
 * 注：QueryMonthlyBill 已被阿里云下线（返回 InvalidAction.NotFound），
 *     QueryInstanceBill 仍可用（已升级为 DescribeInstanceBill，老接口保留）。
 */
namespace BssOpenApi\Request\V20171214;

class QueryInstanceBillRequest extends \RpcAcsRequest
{
	function __construct()
	{
		parent::__construct("BssOpenApi", "2017-12-14", "QueryInstanceBill");
		$this->setMethod("POST");
	}

	private $productCode;
	private $productType;
	private $subscriptionType;
	private $isBillingItem;
	private $pageSize;
	private $billingCycle;
	private $pageNum;
	private $isHideZeroCharge;
	private $billOwnerId;

	public function getProductCode() {
		return $this->productCode;
	}

	public function setProductCode($productCode) {
		$this->productCode = $productCode;
		$this->queryParameters["ProductCode"] = $productCode;
	}

	public function getProductType() {
		return $this->productType;
	}

	public function setProductType($productType) {
		$this->productType = $productType;
		$this->queryParameters["ProductType"] = $productType;
	}

	public function getSubscriptionType() {
		return $this->subscriptionType;
	}

	public function setSubscriptionType($subscriptionType) {
		$this->subscriptionType = $subscriptionType;
		$this->queryParameters["SubscriptionType"] = $subscriptionType;
	}

	public function getIsBillingItem() {
		return $this->isBillingItem;
	}

	public function setIsBillingItem($isBillingItem) {
		$this->isBillingItem = $isBillingItem;
		$this->queryParameters["IsBillingItem"] = $isBillingItem;
	}

	public function getPageSize() {
		return $this->pageSize;
	}

	public function setPageSize($pageSize) {
		$this->pageSize = $pageSize;
		$this->queryParameters["PageSize"] = $pageSize;
	}

	public function getBillingCycle() {
		return $this->billingCycle;
	}

	public function setBillingCycle($billingCycle) {
		$this->billingCycle = $billingCycle;
		$this->queryParameters["BillingCycle"] = $billingCycle;
	}

	public function getPageNum() {
		return $this->pageNum;
	}

	public function setPageNum($pageNum) {
		$this->pageNum = $pageNum;
		$this->queryParameters["PageNum"] = $pageNum;
	}

	public function getIsHideZeroCharge() {
		return $this->isHideZeroCharge;
	}

	public function setIsHideZeroCharge($isHideZeroCharge) {
		$this->isHideZeroCharge = $isHideZeroCharge;
		$this->queryParameters["IsHideZeroCharge"] = $isHideZeroCharge;
	}

	public function getBillOwnerId() {
		return $this->billOwnerId;
	}

	public function setBillOwnerId($billOwnerId) {
		$this->billOwnerId = $billOwnerId;
		$this->queryParameters["BillOwnerId"] = $billOwnerId;
	}
}
