Class: AWSCDK::BillingConductor::CfnPricingRuleProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::BillingConductor::CfnPricingRuleProps
- Defined in:
- billing_conductor/cfn_pricing_rule_props.rb
Overview
Properties for defining a CfnPricingRule.
Instance Attribute Summary collapse
-
#billing_entity ⇒ String?
readonly
The seller of services provided by AWS , their affiliates, or third-party providers selling services via AWS Marketplace .
-
#description ⇒ String?
readonly
The pricing rule description.
-
#modifier_percentage ⇒ Numeric?
readonly
A percentage modifier applied on the public pricing rates.
-
#name ⇒ String
readonly
The name of a pricing rule.
-
#operation ⇒ String?
readonly
Operation is the specific AWS action covered by this line item.
-
#scope ⇒ String
readonly
The scope of pricing rule that indicates if it's globally applicable or service-specific.
-
#service ⇒ String?
readonly
If the
Scopeattribute isSERVICE, this attribute indicates which service thePricingRuleis applicable for. -
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
A map that contains tag keys and tag values that are attached to a pricing rule.
-
#tiering ⇒ AWSCDK::IResolvable, ...
readonly
The set of tiering configurations for the pricing rule.
-
#type ⇒ String
readonly
The type of pricing rule.
-
#usage_type ⇒ String?
readonly
Usage Type is the unit that each service uses to measure the usage of a specific type of resource.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name:, scope:, type:, billing_entity: nil, description: nil, modifier_percentage: nil, operation: nil, service: nil, tags: nil, tiering: nil, usage_type: nil) ⇒ CfnPricingRuleProps
constructor
A new instance of CfnPricingRuleProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(name:, scope:, type:, billing_entity: nil, description: nil, modifier_percentage: nil, operation: nil, service: nil, tags: nil, tiering: nil, usage_type: nil) ⇒ CfnPricingRuleProps
Returns a new instance of CfnPricingRuleProps.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 20 def initialize(name:, scope:, type:, billing_entity: nil, description: nil, modifier_percentage: nil, operation: nil, service: nil, tags: nil, tiering: nil, usage_type: nil) @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @scope = scope Jsii::Type.check_type(@scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scope") @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @billing_entity = billing_entity Jsii::Type.check_type(@billing_entity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "billingEntity") unless @billing_entity.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @modifier_percentage = modifier_percentage Jsii::Type.check_type(@modifier_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "modifierPercentage") unless @modifier_percentage.nil? @operation = operation Jsii::Type.check_type(@operation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "operation") unless @operation.nil? @service = service Jsii::Type.check_type(@service, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "service") unless @service.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @tiering = tiering.is_a?(Hash) ? ::AWSCDK::BillingConductor::CfnPricingRule::TieringProperty.new(**tiering.transform_keys(&:to_sym)) : tiering Jsii::Type.check_type(@tiering, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iaWxsaW5nY29uZHVjdG9yLkNmblByaWNpbmdSdWxlLlRpZXJpbmdQcm9wZXJ0eSJ9XX19")), "tiering") unless @tiering.nil? @usage_type = usage_type Jsii::Type.check_type(@usage_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "usageType") unless @usage_type.nil? end |
Instance Attribute Details
#billing_entity ⇒ String? (readonly)
The seller of services provided by AWS , their affiliates, or third-party providers selling services via AWS Marketplace .
64 65 66 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 64 def billing_entity @billing_entity end |
#description ⇒ String? (readonly)
The pricing rule description.
69 70 71 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 69 def description @description end |
#modifier_percentage ⇒ Numeric? (readonly)
A percentage modifier applied on the public pricing rates.
74 75 76 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 74 def modifier_percentage @modifier_percentage end |
#name ⇒ String (readonly)
The name of a pricing rule.
49 50 51 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 49 def name @name end |
#operation ⇒ String? (readonly)
Operation is the specific AWS action 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.
83 84 85 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 83 def operation @operation end |
#scope ⇒ String (readonly)
The scope of pricing rule that indicates if it's globally applicable or service-specific.
54 55 56 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 54 def scope @scope end |
#service ⇒ String? (readonly)
If the Scope attribute is SERVICE , this attribute indicates which service the PricingRule is applicable for.
88 89 90 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 88 def service @service end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
A map that contains tag keys and tag values that are attached to a pricing rule.
93 94 95 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 93 def @tags end |
#tiering ⇒ AWSCDK::IResolvable, ... (readonly)
The set of tiering configurations for the pricing rule.
98 99 100 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 98 def tiering @tiering end |
#type ⇒ String (readonly)
The type of pricing rule.
59 60 61 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 59 def type @type end |
#usage_type ⇒ String? (readonly)
Usage Type is the unit that each service uses to measure the usage of a specific type of resource.
103 104 105 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 103 def usage_type @usage_type end |
Class Method Details
.jsii_properties ⇒ Object
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 105 def self.jsii_properties { :name => "name", :scope => "scope", :type => "type", :billing_entity => "billingEntity", :description => "description", :modifier_percentage => "modifierPercentage", :operation => "operation", :service => "service", :tags => "tags", :tiering => "tiering", :usage_type => "usageType", } end |
Instance Method Details
#to_jsii ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
# File 'billing_conductor/cfn_pricing_rule_props.rb', line 121 def to_jsii result = {} result.merge!({ "name" => @name, "scope" => @scope, "type" => @type, "billingEntity" => @billing_entity, "description" => @description, "modifierPercentage" => @modifier_percentage, "operation" => @operation, "service" => @service, "tags" => @tags, "tiering" => @tiering, "usageType" => @usage_type, }) result.compact end |