/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace BillingConductor { namespace Model { class UpdatePricingRuleResult { public: AWS_BILLINGCONDUCTOR_API UpdatePricingRuleResult(); AWS_BILLINGCONDUCTOR_API UpdatePricingRuleResult(const Aws::AmazonWebServiceResult& result); AWS_BILLINGCONDUCTOR_API UpdatePricingRuleResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline void SetArn(const Aws::String& value) { m_arn = value; } /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline void SetArn(const char* value) { m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline UpdatePricingRuleResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline UpdatePricingRuleResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the successfully updated pricing rule. *

*/ inline UpdatePricingRuleResult& WithArn(const char* value) { SetArn(value); return *this;} /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline UpdatePricingRuleResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline UpdatePricingRuleResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The new name of the pricing rule. The name must be unique to each pricing * rule.

*/ inline UpdatePricingRuleResult& WithName(const char* value) { SetName(value); return *this;} /** *

The new description for the pricing rule.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The new description for the pricing rule.

*/ inline void SetDescription(const Aws::String& value) { m_description = value; } /** *

The new description for the pricing rule.

*/ inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } /** *

The new description for the pricing rule.

*/ inline void SetDescription(const char* value) { m_description.assign(value); } /** *

The new description for the pricing rule.

*/ inline UpdatePricingRuleResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The new description for the pricing rule.

*/ inline UpdatePricingRuleResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The new description for the pricing rule.

*/ inline UpdatePricingRuleResult& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The scope of pricing rule that indicates if it's globally applicable, or * it's service-specific.

*/ inline const PricingRuleScope& GetScope() const{ return m_scope; } /** *

The scope of pricing rule that indicates if it's globally applicable, or * it's service-specific.

*/ inline void SetScope(const PricingRuleScope& value) { m_scope = value; } /** *

The scope of pricing rule that indicates if it's globally applicable, or * it's service-specific.

*/ inline void SetScope(PricingRuleScope&& value) { m_scope = std::move(value); } /** *

The scope of pricing rule that indicates if it's globally applicable, or * it's service-specific.

*/ inline UpdatePricingRuleResult& WithScope(const PricingRuleScope& value) { SetScope(value); return *this;} /** *

The scope of pricing rule that indicates if it's globally applicable, or * it's service-specific.

*/ inline UpdatePricingRuleResult& WithScope(PricingRuleScope&& value) { SetScope(std::move(value)); return *this;} /** *

The new pricing rule type.

*/ inline const PricingRuleType& GetType() const{ return m_type; } /** *

The new pricing rule type.

*/ inline void SetType(const PricingRuleType& value) { m_type = value; } /** *

The new pricing rule type.

*/ inline void SetType(PricingRuleType&& value) { m_type = std::move(value); } /** *

The new pricing rule type.

*/ inline UpdatePricingRuleResult& WithType(const PricingRuleType& value) { SetType(value); return *this;} /** *

The new pricing rule type.

*/ inline UpdatePricingRuleResult& WithType(PricingRuleType&& value) { SetType(std::move(value)); return *this;} /** *

The new modifier to show pricing plan rates as a percentage.

*/ inline double GetModifierPercentage() const{ return m_modifierPercentage; } /** *

The new modifier to show pricing plan rates as a percentage.

*/ inline void SetModifierPercentage(double value) { m_modifierPercentage = value; } /** *

The new modifier to show pricing plan rates as a percentage.

*/ inline UpdatePricingRuleResult& WithModifierPercentage(double value) { SetModifierPercentage(value); return *this;} /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline const Aws::String& GetService() const{ return m_service; } /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline void SetService(const Aws::String& value) { m_service = value; } /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline void SetService(Aws::String&& value) { m_service = std::move(value); } /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline void SetService(const char* value) { m_service.assign(value); } /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline UpdatePricingRuleResult& WithService(const Aws::String& value) { SetService(value); return *this;} /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline UpdatePricingRuleResult& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} /** *

If the Scope attribute is set to SERVICE, the * attribute indicates which service the PricingRule is applicable * for.

*/ inline UpdatePricingRuleResult& WithService(const char* value) { SetService(value); return *this;} /** *

The pricing plans count that this pricing rule is associated with.

*/ inline long long GetAssociatedPricingPlanCount() const{ return m_associatedPricingPlanCount; } /** *

The pricing plans count that this pricing rule is associated with.

*/ inline void SetAssociatedPricingPlanCount(long long value) { m_associatedPricingPlanCount = value; } /** *

The pricing plans count that this pricing rule is associated with.

*/ inline UpdatePricingRuleResult& WithAssociatedPricingPlanCount(long long value) { SetAssociatedPricingPlanCount(value); return *this;} /** *

The most recent time the pricing rule was modified.

*/ inline long long GetLastModifiedTime() const{ return m_lastModifiedTime; } /** *

The most recent time the pricing rule was modified.

*/ inline void SetLastModifiedTime(long long value) { m_lastModifiedTime = value; } /** *

The most recent time the pricing rule was modified.

*/ inline UpdatePricingRuleResult& WithLastModifiedTime(long long value) { SetLastModifiedTime(value); return *this;} /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline const Aws::String& GetBillingEntity() const{ return m_billingEntity; } /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline void SetBillingEntity(const Aws::String& value) { m_billingEntity = value; } /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline void SetBillingEntity(Aws::String&& value) { m_billingEntity = std::move(value); } /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline void SetBillingEntity(const char* value) { m_billingEntity.assign(value); } /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline UpdatePricingRuleResult& WithBillingEntity(const Aws::String& value) { SetBillingEntity(value); return *this;} /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline UpdatePricingRuleResult& WithBillingEntity(Aws::String&& value) { SetBillingEntity(std::move(value)); return *this;} /** *

The seller of services provided by Amazon Web Services, their affiliates, or * third-party providers selling services via Amazon Web Services Marketplace.

*/ inline UpdatePricingRuleResult& WithBillingEntity(const char* value) { SetBillingEntity(value); return *this;} /** *

The set of tiering configurations for the pricing rule.

*/ inline const UpdateTieringInput& GetTiering() const{ return m_tiering; } /** *

The set of tiering configurations for the pricing rule.

*/ inline void SetTiering(const UpdateTieringInput& value) { m_tiering = value; } /** *

The set of tiering configurations for the pricing rule.

*/ inline void SetTiering(UpdateTieringInput&& value) { m_tiering = std::move(value); } /** *

The set of tiering configurations for the pricing rule.

*/ inline UpdatePricingRuleResult& WithTiering(const UpdateTieringInput& value) { SetTiering(value); return *this;} /** *

The set of tiering configurations for the pricing rule.

*/ inline UpdatePricingRuleResult& WithTiering(UpdateTieringInput&& value) { SetTiering(std::move(value)); return *this;} /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline const Aws::String& GetUsageType() const{ return m_usageType; } /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline void SetUsageType(const Aws::String& value) { m_usageType = value; } /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline void SetUsageType(Aws::String&& value) { m_usageType = std::move(value); } /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline void SetUsageType(const char* value) { m_usageType.assign(value); } /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline UpdatePricingRuleResult& WithUsageType(const Aws::String& value) { SetUsageType(value); return *this;} /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline UpdatePricingRuleResult& WithUsageType(Aws::String&& value) { SetUsageType(std::move(value)); return *this;} /** *

Usage type is the unit that each service uses to measure the usage of a * specific type of resource.

If the Scope attribute is set to * SKU, this attribute indicates which usage type the * PricingRule is modifying. For example, * USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double * Extra Large instance in the US West (Oregon) Region.

*/ inline UpdatePricingRuleResult& WithUsageType(const char* value) { SetUsageType(value); return *this;} /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline const Aws::String& GetOperation() const{ return m_operation; } /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline void SetOperation(const Aws::String& value) { m_operation = value; } /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline void SetOperation(Aws::String&& value) { m_operation = std::move(value); } /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline void SetOperation(const char* value) { m_operation.assign(value); } /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline UpdatePricingRuleResult& WithOperation(const Aws::String& value) { SetOperation(value); return *this;} /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline UpdatePricingRuleResult& WithOperation(Aws::String&& value) { SetOperation(std::move(value)); return *this;} /** *

Operation refers to the specific Amazon Web Services covered by this line * item. This describes the specific usage of the line item.

If the * Scope attribute is set to SKU, this attribute * indicates which operation the PricingRule is modifying. For * example, a value of RunInstances:0202 indicates the operation of * running an Amazon EC2 instance.

*/ inline UpdatePricingRuleResult& WithOperation(const char* value) { SetOperation(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline UpdatePricingRuleResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline UpdatePricingRuleResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline UpdatePricingRuleResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_arn; Aws::String m_name; Aws::String m_description; PricingRuleScope m_scope; PricingRuleType m_type; double m_modifierPercentage; Aws::String m_service; long long m_associatedPricingPlanCount; long long m_lastModifiedTime; Aws::String m_billingEntity; UpdateTieringInput m_tiering; Aws::String m_usageType; Aws::String m_operation; Aws::String m_requestId; }; } // namespace Model } // namespace BillingConductor } // namespace Aws