Class: AWSCDK::S3::CfnStorageLensGroup::FilterProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3/cfn_storage_lens_group.rb

Overview

This resource sets the criteria for the Storage Lens group data that is displayed.

For multiple filter conditions, the AND or OR logical operator is used.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_and: nil, match_any_prefix: nil, match_any_suffix: nil, match_any_tag: nil, match_object_age: nil, match_object_size: nil, _or: nil) ⇒ FilterProperty

Returns a new instance of FilterProperty.

Parameters:



635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
# File 's3/cfn_storage_lens_group.rb', line 635

def initialize(_and: nil, match_any_prefix: nil, match_any_suffix: nil, match_any_tag: nil, match_object_age: nil, match_object_size: nil, _or: nil)
  @_and = _and.is_a?(Hash) ? ::AWSCDK::S3::CfnStorageLensGroup::AndProperty.new(**_and.transform_keys(&:to_sym)) : _and
  Jsii::Type.check_type(@_and, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5TdG9yYWdlTGVuc0dyb3VwLkFuZFByb3BlcnR5In1dfX0=")), "and") unless @_and.nil?
  @match_any_prefix = match_any_prefix
  Jsii::Type.check_type(@match_any_prefix, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "matchAnyPrefix") unless @match_any_prefix.nil?
  @match_any_suffix = match_any_suffix
  Jsii::Type.check_type(@match_any_suffix, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "matchAnySuffix") unless @match_any_suffix.nil?
  @match_any_tag = match_any_tag
  Jsii::Type.check_type(@match_any_tag, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UYWcifV19fSwia2luZCI6ImFycmF5In19XX19")), "matchAnyTag") unless @match_any_tag.nil?
  @match_object_age = match_object_age.is_a?(Hash) ? ::AWSCDK::S3::CfnStorageLensGroup::MatchObjectAgeProperty.new(**match_object_age.transform_keys(&:to_sym)) : match_object_age
  Jsii::Type.check_type(@match_object_age, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5TdG9yYWdlTGVuc0dyb3VwLk1hdGNoT2JqZWN0QWdlUHJvcGVydHkifV19fQ==")), "matchObjectAge") unless @match_object_age.nil?
  @match_object_size = match_object_size.is_a?(Hash) ? ::AWSCDK::S3::CfnStorageLensGroup::MatchObjectSizeProperty.new(**match_object_size.transform_keys(&:to_sym)) : match_object_size
  Jsii::Type.check_type(@match_object_size, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5TdG9yYWdlTGVuc0dyb3VwLk1hdGNoT2JqZWN0U2l6ZVByb3BlcnR5In1dfX0=")), "matchObjectSize") unless @match_object_size.nil?
  @_or = _or.is_a?(Hash) ? ::AWSCDK::S3::CfnStorageLensGroup::OrProperty.new(**_or.transform_keys(&:to_sym)) : _or
  Jsii::Type.check_type(@_or, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5DZm5TdG9yYWdlTGVuc0dyb3VwLk9yUHJvcGVydHkifV19fQ==")), "or") unless @_or.nil?
end

Instance Attribute Details

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

This property contains the And logical operator, which allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data.

Objects must match all of the listed filter conditions that are joined by the And logical operator. Only one of each filter condition is allowed.



658
659
660
# File 's3/cfn_storage_lens_group.rb', line 658

def _and
  @_and
end

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

This property contains the Or logical operator, which allows multiple filter conditions to be joined.

Objects can match any of the listed filter conditions, which are joined by the Or logical operator. Only one of each filter condition is allowed.



696
697
698
# File 's3/cfn_storage_lens_group.rb', line 696

def _or
  @_or
end

#match_any_prefixArray<String>? (readonly)

This property contains a list of prefixes.

At least one prefix must be specified. Up to 10 prefixes are allowed.



665
666
667
# File 's3/cfn_storage_lens_group.rb', line 665

def match_any_prefix
  @match_any_prefix
end

#match_any_suffixArray<String>? (readonly)

This property contains a list of suffixes.

At least one suffix must be specified. Up to 10 suffixes are allowed.



672
673
674
# File 's3/cfn_storage_lens_group.rb', line 672

def match_any_suffix
  @match_any_suffix
end

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

This property contains the list of S3 object tags.

At least one object tag must be specified. Up to 10 object tags are allowed.



679
680
681
# File 's3/cfn_storage_lens_group.rb', line 679

def match_any_tag
  @match_any_tag
end

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

This property contains DaysGreaterThan and DaysLessThan to define the object age range (minimum and maximum number of days).



684
685
686
# File 's3/cfn_storage_lens_group.rb', line 684

def match_object_age
  @match_object_age
end

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

This property contains BytesGreaterThan and BytesLessThan to define the object size range (minimum and maximum number of Bytes).



689
690
691
# File 's3/cfn_storage_lens_group.rb', line 689

def match_object_size
  @match_object_size
end

Class Method Details

.jsii_propertiesObject



698
699
700
701
702
703
704
705
706
707
708
# File 's3/cfn_storage_lens_group.rb', line 698

def self.jsii_properties
  {
    :_and => "and",
    :match_any_prefix => "matchAnyPrefix",
    :match_any_suffix => "matchAnySuffix",
    :match_any_tag => "matchAnyTag",
    :match_object_age => "matchObjectAge",
    :match_object_size => "matchObjectSize",
    :_or => "or",
  }
end

Instance Method Details

#to_jsiiObject



710
711
712
713
714
715
716
717
718
719
720
721
722
# File 's3/cfn_storage_lens_group.rb', line 710

def to_jsii
  result = {}
  result.merge!({
    "and" => @_and,
    "matchAnyPrefix" => @match_any_prefix,
    "matchAnySuffix" => @match_any_suffix,
    "matchAnyTag" => @match_any_tag,
    "matchObjectAge" => @match_object_age,
    "matchObjectSize" => @match_object_size,
    "or" => @_or,
  })
  result.compact
end