# coding: utf-8 import pprint import re import six class MonthlyBillRes: """ Attributes: openapi_types (dict): The key is attribute name and the value is attribute type. attribute_map (dict): The key is attribute name and the value is json key in definition. """ sensitive_list = [] openapi_types = { 'cycle': 'str', 'cloud_service_type': 'str', 'region': 'str', 'resource_type_code': 'str', 'res_instance_id': 'str', 'resource_name': 'str', 'resource_tag': 'str', 'consume_amount': 'float', 'cash_amount': 'float', 'credit_amount': 'float', 'coupon_amount': 'float', 'flexipurchase_coupon_amount': 'float', 'stored_card_amount': 'float', 'bonus_amount': 'float', 'debt_amount': 'float', 'adjustment_amount': 'float', 'official_amount': 'float', 'discount_amount': 'float', 'measure_id': 'int', 'enterprise_project_id': 'str', 'enterprise_project_name': 'str', 'charge_mode': 'int', 'bill_type': 'int', 'customer_id': 'str', 'sku_code': 'str', 'region_name': 'str' } attribute_map = { 'cycle': 'cycle', 'cloud_service_type': 'cloud_service_type', 'region': 'region', 'resource_type_code': 'resource_Type_code', 'res_instance_id': 'res_instance_id', 'resource_name': 'resource_name', 'resource_tag': 'resource_tag', 'consume_amount': 'consume_amount', 'cash_amount': 'cash_amount', 'credit_amount': 'credit_amount', 'coupon_amount': 'coupon_amount', 'flexipurchase_coupon_amount': 'flexipurchase_coupon_amount', 'stored_card_amount': 'stored_card_amount', 'bonus_amount': 'bonus_amount', 'debt_amount': 'debt_amount', 'adjustment_amount': 'adjustment_amount', 'official_amount': 'official_amount', 'discount_amount': 'discount_amount', 'measure_id': 'measure_id', 'enterprise_project_id': 'enterprise_project_id', 'enterprise_project_name': 'enterprise_project_name', 'charge_mode': 'charge_mode', 'bill_type': 'bill_type', 'customer_id': 'customer_id', 'sku_code': 'sku_code', 'region_name': 'region_name' } def __init__(self, cycle=None, cloud_service_type=None, region=None, resource_type_code=None, res_instance_id=None, resource_name=None, resource_tag=None, consume_amount=None, cash_amount=None, credit_amount=None, coupon_amount=None, flexipurchase_coupon_amount=None, stored_card_amount=None, bonus_amount=None, debt_amount=None, adjustment_amount=None, official_amount=None, discount_amount=None, measure_id=None, enterprise_project_id=None, enterprise_project_name=None, charge_mode=None, bill_type=None, customer_id=None, sku_code=None, region_name=None): """MonthlyBillRes - a model defined in huaweicloud sdk""" self._cycle = None self._cloud_service_type = None self._region = None self._resource_type_code = None self._res_instance_id = None self._resource_name = None self._resource_tag = None self._consume_amount = None self._cash_amount = None self._credit_amount = None self._coupon_amount = None self._flexipurchase_coupon_amount = None self._stored_card_amount = None self._bonus_amount = None self._debt_amount = None self._adjustment_amount = None self._official_amount = None self._discount_amount = None self._measure_id = None self._enterprise_project_id = None self._enterprise_project_name = None self._charge_mode = None self._bill_type = None self._customer_id = None self._sku_code = None self._region_name = None self.discriminator = None if cycle is not None: self.cycle = cycle if cloud_service_type is not None: self.cloud_service_type = cloud_service_type if region is not None: self.region = region if resource_type_code is not None: self.resource_type_code = resource_type_code if res_instance_id is not None: self.res_instance_id = res_instance_id if resource_name is not None: self.resource_name = resource_name if resource_tag is not None: self.resource_tag = resource_tag if consume_amount is not None: self.consume_amount = consume_amount if cash_amount is not None: self.cash_amount = cash_amount if credit_amount is not None: self.credit_amount = credit_amount if coupon_amount is not None: self.coupon_amount = coupon_amount if flexipurchase_coupon_amount is not None: self.flexipurchase_coupon_amount = flexipurchase_coupon_amount if stored_card_amount is not None: self.stored_card_amount = stored_card_amount if bonus_amount is not None: self.bonus_amount = bonus_amount if debt_amount is not None: self.debt_amount = debt_amount if adjustment_amount is not None: self.adjustment_amount = adjustment_amount if official_amount is not None: self.official_amount = official_amount if discount_amount is not None: self.discount_amount = discount_amount if measure_id is not None: self.measure_id = measure_id if enterprise_project_id is not None: self.enterprise_project_id = enterprise_project_id if enterprise_project_name is not None: self.enterprise_project_name = enterprise_project_name if charge_mode is not None: self.charge_mode = charge_mode if bill_type is not None: self.bill_type = bill_type if customer_id is not None: self.customer_id = customer_id if sku_code is not None: self.sku_code = sku_code if region_name is not None: self.region_name = region_name @property def cycle(self): """Gets the cycle of this MonthlyBillRes. |参数名称:消费月份| |参数的约束及描述:该参数非必填| :return: The cycle of this MonthlyBillRes. :rtype: str """ return self._cycle @cycle.setter def cycle(self, cycle): """Sets the cycle of this MonthlyBillRes. |参数名称:消费月份| |参数的约束及描述:该参数非必填| :param cycle: The cycle of this MonthlyBillRes. :type: str """ self._cycle = cycle @property def cloud_service_type(self): """Gets the cloud_service_type of this MonthlyBillRes. |参数名称:云服务类型编码| |参数的约束及描述:该参数非必填,,例如ECS的云服务类型编码为“hws.service.type.ec2”| :return: The cloud_service_type of this MonthlyBillRes. :rtype: str """ return self._cloud_service_type @cloud_service_type.setter def cloud_service_type(self, cloud_service_type): """Sets the cloud_service_type of this MonthlyBillRes. |参数名称:云服务类型编码| |参数的约束及描述:该参数非必填,,例如ECS的云服务类型编码为“hws.service.type.ec2”| :param cloud_service_type: The cloud_service_type of this MonthlyBillRes. :type: str """ self._cloud_service_type = cloud_service_type @property def region(self): """Gets the region of this MonthlyBillRes. |参数名称:云服务区编码| |参数的约束及描述:该参数非必填,例如:“cn-north-1”。| :return: The region of this MonthlyBillRes. :rtype: str """ return self._region @region.setter def region(self, region): """Sets the region of this MonthlyBillRes. |参数名称:云服务区编码| |参数的约束及描述:该参数非必填,例如:“cn-north-1”。| :param region: The region of this MonthlyBillRes. :type: str """ self._region = region @property def resource_type_code(self): """Gets the resource_type_code of this MonthlyBillRes. |参数名称:资源类型编码| |参数的约束及描述:该参数非必填,例如ECS的VM为“hws.resource.type.vm”。| :return: The resource_type_code of this MonthlyBillRes. :rtype: str """ return self._resource_type_code @resource_type_code.setter def resource_type_code(self, resource_type_code): """Sets the resource_type_code of this MonthlyBillRes. |参数名称:资源类型编码| |参数的约束及描述:该参数非必填,例如ECS的VM为“hws.resource.type.vm”。| :param resource_type_code: The resource_type_code of this MonthlyBillRes. :type: str """ self._resource_type_code = resource_type_code @property def res_instance_id(self): """Gets the res_instance_id of this MonthlyBillRes. |参数名称:资源实例ID| |参数的约束及描述:该参数非必填| :return: The res_instance_id of this MonthlyBillRes. :rtype: str """ return self._res_instance_id @res_instance_id.setter def res_instance_id(self, res_instance_id): """Sets the res_instance_id of this MonthlyBillRes. |参数名称:资源实例ID| |参数的约束及描述:该参数非必填| :param res_instance_id: The res_instance_id of this MonthlyBillRes. :type: str """ self._res_instance_id = res_instance_id @property def resource_name(self): """Gets the resource_name of this MonthlyBillRes. |参数名称:资源名称| |参数的约束及描述:该参数非必填| :return: The resource_name of this MonthlyBillRes. :rtype: str """ return self._resource_name @resource_name.setter def resource_name(self, resource_name): """Sets the resource_name of this MonthlyBillRes. |参数名称:资源名称| |参数的约束及描述:该参数非必填| :param resource_name: The resource_name of this MonthlyBillRes. :type: str """ self._resource_name = resource_name @property def resource_tag(self): """Gets the resource_tag of this MonthlyBillRes. |参数名称:资源标签| |参数的约束及描述:该参数非必填| :return: The resource_tag of this MonthlyBillRes. :rtype: str """ return self._resource_tag @resource_tag.setter def resource_tag(self, resource_tag): """Sets the resource_tag of this MonthlyBillRes. |参数名称:资源标签| |参数的约束及描述:该参数非必填| :param resource_tag: The resource_tag of this MonthlyBillRes. :type: str """ self._resource_tag = resource_tag @property def consume_amount(self): """Gets the consume_amount of this MonthlyBillRes. |参数名称:客户购买云服务类型的消费金额| |参数的约束及描述:该参数非必填,包含代金券,大陆站还包含现金券,大陆站精确到小数点后8位,国际站精确到小数点后2位。| :return: The consume_amount of this MonthlyBillRes. :rtype: float """ return self._consume_amount @consume_amount.setter def consume_amount(self, consume_amount): """Sets the consume_amount of this MonthlyBillRes. |参数名称:客户购买云服务类型的消费金额| |参数的约束及描述:该参数非必填,包含代金券,大陆站还包含现金券,大陆站精确到小数点后8位,国际站精确到小数点后2位。| :param consume_amount: The consume_amount of this MonthlyBillRes. :type: float """ self._consume_amount = consume_amount @property def cash_amount(self): """Gets the cash_amount of this MonthlyBillRes. |参数名称:现金支付金额| |参数的约束及描述:该参数非必填| :return: The cash_amount of this MonthlyBillRes. :rtype: float """ return self._cash_amount @cash_amount.setter def cash_amount(self, cash_amount): """Sets the cash_amount of this MonthlyBillRes. |参数名称:现金支付金额| |参数的约束及描述:该参数非必填| :param cash_amount: The cash_amount of this MonthlyBillRes. :type: float """ self._cash_amount = cash_amount @property def credit_amount(self): """Gets the credit_amount of this MonthlyBillRes. |参数名称:信用额度支付金额| |参数的约束及描述:该参数非必填| :return: The credit_amount of this MonthlyBillRes. :rtype: float """ return self._credit_amount @credit_amount.setter def credit_amount(self, credit_amount): """Sets the credit_amount of this MonthlyBillRes. |参数名称:信用额度支付金额| |参数的约束及描述:该参数非必填| :param credit_amount: The credit_amount of this MonthlyBillRes. :type: float """ self._credit_amount = credit_amount @property def coupon_amount(self): """Gets the coupon_amount of this MonthlyBillRes. |参数名称:代金券支付金额| |参数的约束及描述:该参数非必填。| :return: The coupon_amount of this MonthlyBillRes. :rtype: float """ return self._coupon_amount @coupon_amount.setter def coupon_amount(self, coupon_amount): """Sets the coupon_amount of this MonthlyBillRes. |参数名称:代金券支付金额| |参数的约束及描述:该参数非必填。| :param coupon_amount: The coupon_amount of this MonthlyBillRes. :type: float """ self._coupon_amount = coupon_amount @property def flexipurchase_coupon_amount(self): """Gets the flexipurchase_coupon_amount of this MonthlyBillRes. |参数名称:现金券支付金额| |参数的约束及描述:该参数非必填。| :return: The flexipurchase_coupon_amount of this MonthlyBillRes. :rtype: float """ return self._flexipurchase_coupon_amount @flexipurchase_coupon_amount.setter def flexipurchase_coupon_amount(self, flexipurchase_coupon_amount): """Sets the flexipurchase_coupon_amount of this MonthlyBillRes. |参数名称:现金券支付金额| |参数的约束及描述:该参数非必填。| :param flexipurchase_coupon_amount: The flexipurchase_coupon_amount of this MonthlyBillRes. :type: float """ self._flexipurchase_coupon_amount = flexipurchase_coupon_amount @property def stored_card_amount(self): """Gets the stored_card_amount of this MonthlyBillRes. |参数名称:储值卡支付金额| |参数的约束及描述:该参数非必填。| :return: The stored_card_amount of this MonthlyBillRes. :rtype: float """ return self._stored_card_amount @stored_card_amount.setter def stored_card_amount(self, stored_card_amount): """Sets the stored_card_amount of this MonthlyBillRes. |参数名称:储值卡支付金额| |参数的约束及描述:该参数非必填。| :param stored_card_amount: The stored_card_amount of this MonthlyBillRes. :type: float """ self._stored_card_amount = stored_card_amount @property def bonus_amount(self): """Gets the bonus_amount of this MonthlyBillRes. |参数名称:奖励金支付金额(用于现网未清干净的奖励金)| |参数的约束及描述:该参数非必填。| :return: The bonus_amount of this MonthlyBillRes. :rtype: float """ return self._bonus_amount @bonus_amount.setter def bonus_amount(self, bonus_amount): """Sets the bonus_amount of this MonthlyBillRes. |参数名称:奖励金支付金额(用于现网未清干净的奖励金)| |参数的约束及描述:该参数非必填。| :param bonus_amount: The bonus_amount of this MonthlyBillRes. :type: float """ self._bonus_amount = bonus_amount @property def debt_amount(self): """Gets the debt_amount of this MonthlyBillRes. |参数名称:欠费金额| |参数的约束及描述:该参数非必填。| :return: The debt_amount of this MonthlyBillRes. :rtype: float """ return self._debt_amount @debt_amount.setter def debt_amount(self, debt_amount): """Sets the debt_amount of this MonthlyBillRes. |参数名称:欠费金额| |参数的约束及描述:该参数非必填。| :param debt_amount: The debt_amount of this MonthlyBillRes. :type: float """ self._debt_amount = debt_amount @property def adjustment_amount(self): """Gets the adjustment_amount of this MonthlyBillRes. |参数名称:欠费核销金额| |参数的约束及描述:该参数非必填。| :return: The adjustment_amount of this MonthlyBillRes. :rtype: float """ return self._adjustment_amount @adjustment_amount.setter def adjustment_amount(self, adjustment_amount): """Sets the adjustment_amount of this MonthlyBillRes. |参数名称:欠费核销金额| |参数的约束及描述:该参数非必填。| :param adjustment_amount: The adjustment_amount of this MonthlyBillRes. :type: float """ self._adjustment_amount = adjustment_amount @property def official_amount(self): """Gets the official_amount of this MonthlyBillRes. |参数名称:官网价| |参数的约束及描述:该参数非必填。| :return: The official_amount of this MonthlyBillRes. :rtype: float """ return self._official_amount @official_amount.setter def official_amount(self, official_amount): """Sets the official_amount of this MonthlyBillRes. |参数名称:官网价| |参数的约束及描述:该参数非必填。| :param official_amount: The official_amount of this MonthlyBillRes. :type: float """ self._official_amount = official_amount @property def discount_amount(self): """Gets the discount_amount of this MonthlyBillRes. |参数名称:对应官网价折扣金额| |参数的约束及描述:该参数非必填。| :return: The discount_amount of this MonthlyBillRes. :rtype: float """ return self._discount_amount @discount_amount.setter def discount_amount(self, discount_amount): """Sets the discount_amount of this MonthlyBillRes. |参数名称:对应官网价折扣金额| |参数的约束及描述:该参数非必填。| :param discount_amount: The discount_amount of this MonthlyBillRes. :type: float """ self._discount_amount = discount_amount @property def measure_id(self): """Gets the measure_id of this MonthlyBillRes. |参数名称:金额单位。枚举型1、元;2、角;3、分| |参数的约束及描述:该参数非必填| :return: The measure_id of this MonthlyBillRes. :rtype: int """ return self._measure_id @measure_id.setter def measure_id(self, measure_id): """Sets the measure_id of this MonthlyBillRes. |参数名称:金额单位。枚举型1、元;2、角;3、分| |参数的约束及描述:该参数非必填| :param measure_id: The measure_id of this MonthlyBillRes. :type: int """ self._measure_id = measure_id @property def enterprise_project_id(self): """Gets the enterprise_project_id of this MonthlyBillRes. |参数名称:企业项目ID| |参数的约束及描述:该参数非必填| :return: The enterprise_project_id of this MonthlyBillRes. :rtype: str """ return self._enterprise_project_id @enterprise_project_id.setter def enterprise_project_id(self, enterprise_project_id): """Sets the enterprise_project_id of this MonthlyBillRes. |参数名称:企业项目ID| |参数的约束及描述:该参数非必填| :param enterprise_project_id: The enterprise_project_id of this MonthlyBillRes. :type: str """ self._enterprise_project_id = enterprise_project_id @property def enterprise_project_name(self): """Gets the enterprise_project_name of this MonthlyBillRes. |参数名称:企业项目名称| |参数的约束及描述:该参数非必填| :return: The enterprise_project_name of this MonthlyBillRes. :rtype: str """ return self._enterprise_project_name @enterprise_project_name.setter def enterprise_project_name(self, enterprise_project_name): """Sets the enterprise_project_name of this MonthlyBillRes. |参数名称:企业项目名称| |参数的约束及描述:该参数非必填| :param enterprise_project_name: The enterprise_project_name of this MonthlyBillRes. :type: str """ self._enterprise_project_name = enterprise_project_name @property def charge_mode(self): """Gets the charge_mode of this MonthlyBillRes. |参数名称:支付方式:1 : 包周期;3: 按需。10: 预留实例| |参数的约束及描述:该参数非必填| :return: The charge_mode of this MonthlyBillRes. :rtype: int """ return self._charge_mode @charge_mode.setter def charge_mode(self, charge_mode): """Sets the charge_mode of this MonthlyBillRes. |参数名称:支付方式:1 : 包周期;3: 按需。10: 预留实例| |参数的约束及描述:该参数非必填| :param charge_mode: The charge_mode of this MonthlyBillRes. :type: int """ self._charge_mode = charge_mode @property def bill_type(self): """Gets the bill_type of this MonthlyBillRes. |参数名称:账单类型| |参数的约束及描述:该参数非必填,1:消费-新购;2:消费-续订;3:消费-变更;4:退款-退订;5:消费-使用;8:消费-自动续订;9:调账-补偿;12:消费-按时计费;13:消费-退订手续费;14:消费-服务支持计划月末扣费;16:调账-扣费| :return: The bill_type of this MonthlyBillRes. :rtype: int """ return self._bill_type @bill_type.setter def bill_type(self, bill_type): """Sets the bill_type of this MonthlyBillRes. |参数名称:账单类型| |参数的约束及描述:该参数非必填,1:消费-新购;2:消费-续订;3:消费-变更;4:退款-退订;5:消费-使用;8:消费-自动续订;9:调账-补偿;12:消费-按时计费;13:消费-退订手续费;14:消费-服务支持计划月末扣费;16:调账-扣费| :param bill_type: The bill_type of this MonthlyBillRes. :type: int """ self._bill_type = bill_type @property def customer_id(self): """Gets the customer_id of this MonthlyBillRes. |参数名称:消费的客户账号ID。| |参数约束及描述:如果是查询自己,这个地方是自身的ID; 如果是查询某个企业子客户,这个地方是企业子客户ID如果是查询以及下面的所有子客户,这个地方是消费的实际客户ID; 如果是企业主自身消费,为企业主ID,如果这条消费记录是某个企业子客户的消费,这个地方的ID是企业子账号ID。| :return: The customer_id of this MonthlyBillRes. :rtype: str """ return self._customer_id @customer_id.setter def customer_id(self, customer_id): """Sets the customer_id of this MonthlyBillRes. |参数名称:消费的客户账号ID。| |参数约束及描述:如果是查询自己,这个地方是自身的ID; 如果是查询某个企业子客户,这个地方是企业子客户ID如果是查询以及下面的所有子客户,这个地方是消费的实际客户ID; 如果是企业主自身消费,为企业主ID,如果这条消费记录是某个企业子客户的消费,这个地方的ID是企业子账号ID。| :param customer_id: The customer_id of this MonthlyBillRes. :type: str """ self._customer_id = customer_id @property def sku_code(self): """Gets the sku_code of this MonthlyBillRes. |参数名称:SKU编码| |参数的约束及描述:sku编码| :return: The sku_code of this MonthlyBillRes. :rtype: str """ return self._sku_code @sku_code.setter def sku_code(self, sku_code): """Sets the sku_code of this MonthlyBillRes. |参数名称:SKU编码| |参数的约束及描述:sku编码| :param sku_code: The sku_code of this MonthlyBillRes. :type: str """ self._sku_code = sku_code @property def region_name(self): """Gets the region_name of this MonthlyBillRes. |参数名称:云服务区名称| |参数的约束及描述:云服务区名称| :return: The region_name of this MonthlyBillRes. :rtype: str """ return self._region_name @region_name.setter def region_name(self, region_name): """Sets the region_name of this MonthlyBillRes. |参数名称:云服务区名称| |参数的约束及描述:云服务区名称| :param region_name: The region_name of this MonthlyBillRes. :type: str """ self._region_name = region_name def to_dict(self): """Returns the model properties as a dict""" result = {} for attr, _ in six.iteritems(self.openapi_types): value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map( lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value )) elif hasattr(value, "to_dict"): result[attr] = value.to_dict() elif isinstance(value, dict): result[attr] = dict(map( lambda item: (item[0], item[1].to_dict()) if hasattr(item[1], "to_dict") else item, value.items() )) else: if attr in self.sensitive_list: result[attr] = "****" else: result[attr] = value return result def to_str(self): """Returns the string representation of the model""" return pprint.pformat(self.to_dict()) def __repr__(self): """For `print` and `pprint`""" return self.to_str() def __eq__(self, other): """Returns true if both objects are equal""" if not isinstance(other, MonthlyBillRes): return False return self.__dict__ == other.__dict__ def __ne__(self, other): """Returns true if both objects are not equal""" return not self == other