Class: AWSCDK::Budgets::CfnBudget::ExpressionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
budgets/cfn_budget.rb

Overview

Use Expression to filter in various Budgets APIs.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_and: nil, cost_categories: nil, dimensions: nil, _not: nil, _or: nil, tags: nil) ⇒ ExpressionProperty

Returns a new instance of ExpressionProperty.

Parameters:



1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
# File 'budgets/cfn_budget.rb', line 1021

def initialize(_and: nil, cost_categories: nil, dimensions: nil, _not: nil, _or: nil, tags: nil)
  @_and = _and
  Jsii::Type.check_type(@_and, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYnVkZ2V0cy5DZm5CdWRnZXQuRXhwcmVzc2lvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "and") unless @_and.nil?
  @cost_categories = cost_categories.is_a?(Hash) ? ::AWSCDK::Budgets::CfnBudget::CostCategoryValuesProperty.new(**cost_categories.transform_keys(&:to_sym)) : cost_categories
  Jsii::Type.check_type(@cost_categories, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19idWRnZXRzLkNmbkJ1ZGdldC5Db3N0Q2F0ZWdvcnlWYWx1ZXNQcm9wZXJ0eSJ9XX19")), "costCategories") unless @cost_categories.nil?
  @dimensions = dimensions.is_a?(Hash) ? ::AWSCDK::Budgets::CfnBudget::ExpressionDimensionValuesProperty.new(**dimensions.transform_keys(&:to_sym)) : dimensions
  Jsii::Type.check_type(@dimensions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19idWRnZXRzLkNmbkJ1ZGdldC5FeHByZXNzaW9uRGltZW5zaW9uVmFsdWVzUHJvcGVydHkifV19fQ==")), "dimensions") unless @dimensions.nil?
  @_not = _not.is_a?(Hash) ? ::AWSCDK::Budgets::CfnBudget::ExpressionProperty.new(**_not.transform_keys(&:to_sym)) : _not
  Jsii::Type.check_type(@_not, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19idWRnZXRzLkNmbkJ1ZGdldC5FeHByZXNzaW9uUHJvcGVydHkifV19fQ==")), "not") unless @_not.nil?
  @_or = _or
  Jsii::Type.check_type(@_or, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYnVkZ2V0cy5DZm5CdWRnZXQuRXhwcmVzc2lvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "or") unless @_or.nil?
  @tags = tags.is_a?(Hash) ? ::AWSCDK::Budgets::CfnBudget::TagValuesProperty.new(**tags.transform_keys(&:to_sym)) : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYnVkZ2V0cy5DZm5CdWRnZXQuVGFnVmFsdWVzUHJvcGVydHkifQ==")), "tags") unless @tags.nil?
end

Instance Attribute Details

#_andAWSCDK::IResolvable, ... (readonly)

Return results that match both Dimension objects.



1040
1041
1042
# File 'budgets/cfn_budget.rb', line 1040

def _and
  @_and
end

#_notAWSCDK::IResolvable, ... (readonly)

Return results that don't match a Dimension object.



1055
1056
1057
# File 'budgets/cfn_budget.rb', line 1055

def _not
  @_not
end

#_orAWSCDK::IResolvable, ... (readonly)

Return results that match either Dimension object.



1060
1061
1062
# File 'budgets/cfn_budget.rb', line 1060

def _or
  @_or
end

#cost_categoriesAWSCDK::IResolvable, ... (readonly)

The filter that's based on CostCategoryValues.



1045
1046
1047
# File 'budgets/cfn_budget.rb', line 1045

def cost_categories
  @cost_categories
end

#dimensionsAWSCDK::IResolvable, ... (readonly)

The specific Dimension to use for Expression.



1050
1051
1052
# File 'budgets/cfn_budget.rb', line 1050

def dimensions
  @dimensions
end

#tagsAWSCDK::Budgets::CfnBudget::TagValuesProperty? (readonly)

The specific Tag to use for Expression.



1065
1066
1067
# File 'budgets/cfn_budget.rb', line 1065

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
# File 'budgets/cfn_budget.rb', line 1067

def self.jsii_properties
  {
    :_and => "and",
    :cost_categories => "costCategories",
    :dimensions => "dimensions",
    :_not => "not",
    :_or => "or",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
# File 'budgets/cfn_budget.rb', line 1078

def to_jsii
  result = {}
  result.merge!({
    "and" => @_and,
    "costCategories" => @cost_categories,
    "dimensions" => @dimensions,
    "not" => @_not,
    "or" => @_or,
    "tags" => @tags,
  })
  result.compact
end