Class: AWSCDK::BillingConductor::CfnCustomLineItemProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::BillingConductor::CfnCustomLineItemProps
- Defined in:
- billing_conductor/cfn_custom_line_item_props.rb
Overview
Properties for defining a CfnCustomLineItem.
Instance Attribute Summary collapse
-
#account_id ⇒ String?
readonly
The AWS account in which this custom line item will be applied to.
-
#billing_group_arn ⇒ String
readonly
The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
-
#billing_period_range ⇒ AWSCDK::IResolvable, ...
readonly
A time range for which the custom line item is effective.
-
#computation_rule ⇒ String?
readonly
The computation rule that determines how the custom line item charges are computed and reflected in the bill.
-
#custom_line_item_charge_details ⇒ AWSCDK::IResolvable, ...
readonly
The charge details of a custom line item.
-
#description ⇒ String?
readonly
The custom line item's description.
-
#name ⇒ String
readonly
The custom line item's name.
-
#presentation_details ⇒ AWSCDK::IResolvable, ...
readonly
Configuration details specifying how the custom line item charges are presented, including which service the charges are shown under.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
A map that contains tag keys and tag values that are attached to a custom line item.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(billing_group_arn:, name:, account_id: nil, billing_period_range: nil, computation_rule: nil, custom_line_item_charge_details: nil, description: nil, presentation_details: nil, tags: nil) ⇒ CfnCustomLineItemProps
constructor
A new instance of CfnCustomLineItemProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(billing_group_arn:, name:, account_id: nil, billing_period_range: nil, computation_rule: nil, custom_line_item_charge_details: nil, description: nil, presentation_details: nil, tags: nil) ⇒ CfnCustomLineItemProps
Returns a new instance of CfnCustomLineItemProps.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 18 def initialize(billing_group_arn:, name:, account_id: nil, billing_period_range: nil, computation_rule: nil, custom_line_item_charge_details: nil, description: nil, presentation_details: nil, tags: nil) @billing_group_arn = billing_group_arn Jsii::Type.check_type(@billing_group_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "billingGroupArn") @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @account_id = account_id Jsii::Type.check_type(@account_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accountId") unless @account_id.nil? @billing_period_range = billing_period_range.is_a?(Hash) ? ::AWSCDK::BillingConductor::CfnCustomLineItem::BillingPeriodRangeProperty.new(**billing_period_range.transform_keys(&:to_sym)) : billing_period_range Jsii::Type.check_type(@billing_period_range, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iaWxsaW5nY29uZHVjdG9yLkNmbkN1c3RvbUxpbmVJdGVtLkJpbGxpbmdQZXJpb2RSYW5nZVByb3BlcnR5In1dfX0=")), "billingPeriodRange") unless @billing_period_range.nil? @computation_rule = computation_rule Jsii::Type.check_type(@computation_rule, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "computationRule") unless @computation_rule.nil? @custom_line_item_charge_details = custom_line_item_charge_details.is_a?(Hash) ? ::AWSCDK::BillingConductor::CfnCustomLineItem::CustomLineItemChargeDetailsProperty.new(**custom_line_item_charge_details.transform_keys(&:to_sym)) : custom_line_item_charge_details Jsii::Type.check_type(@custom_line_item_charge_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iaWxsaW5nY29uZHVjdG9yLkNmbkN1c3RvbUxpbmVJdGVtLkN1c3RvbUxpbmVJdGVtQ2hhcmdlRGV0YWlsc1Byb3BlcnR5In1dfX0=")), "customLineItemChargeDetails") unless @custom_line_item_charge_details.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @presentation_details = presentation_details.is_a?(Hash) ? ::AWSCDK::BillingConductor::CfnCustomLineItem::PresentationDetailsProperty.new(**presentation_details.transform_keys(&:to_sym)) : presentation_details Jsii::Type.check_type(@presentation_details, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19iaWxsaW5nY29uZHVjdG9yLkNmbkN1c3RvbUxpbmVJdGVtLlByZXNlbnRhdGlvbkRldGFpbHNQcm9wZXJ0eSJ9XX19")), "presentationDetails") unless @presentation_details.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? end |
Instance Attribute Details
#account_id ⇒ String? (readonly)
The AWS account in which this custom line item will be applied to.
53 54 55 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 53 def account_id @account_id end |
#billing_group_arn ⇒ String (readonly)
The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
43 44 45 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 43 def billing_group_arn @billing_group_arn end |
#billing_period_range ⇒ AWSCDK::IResolvable, ... (readonly)
A time range for which the custom line item is effective.
58 59 60 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 58 def billing_period_range @billing_period_range end |
#computation_rule ⇒ String? (readonly)
The computation rule that determines how the custom line item charges are computed and reflected in the bill.
63 64 65 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 63 def computation_rule @computation_rule end |
#custom_line_item_charge_details ⇒ AWSCDK::IResolvable, ... (readonly)
The charge details of a custom line item.
It should contain only one of Flat or Percentage .
70 71 72 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 70 def custom_line_item_charge_details @custom_line_item_charge_details end |
#description ⇒ String? (readonly)
The custom line item's description.
This is shown on the Bills page in association with the charge value.
77 78 79 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 77 def description @description end |
#name ⇒ String (readonly)
The custom line item's name.
48 49 50 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 48 def name @name end |
#presentation_details ⇒ AWSCDK::IResolvable, ... (readonly)
Configuration details specifying how the custom line item charges are presented, including which service the charges are shown under.
82 83 84 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 82 def presentation_details @presentation_details end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
A map that contains tag keys and tag values that are attached to a custom line item.
87 88 89 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 87 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 89 def self.jsii_properties { :billing_group_arn => "billingGroupArn", :name => "name", :account_id => "accountId", :billing_period_range => "billingPeriodRange", :computation_rule => "computationRule", :custom_line_item_charge_details => "customLineItemChargeDetails", :description => "description", :presentation_details => "presentationDetails", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'billing_conductor/cfn_custom_line_item_props.rb', line 103 def to_jsii result = {} result.merge!({ "billingGroupArn" => @billing_group_arn, "name" => @name, "accountId" => @account_id, "billingPeriodRange" => @billing_period_range, "computationRule" => @computation_rule, "customLineItemChargeDetails" => @custom_line_item_charge_details, "description" => @description, "presentationDetails" => @presentation_details, "tags" => @tags, }) result.compact end |