Class: AWSCDK::CloudFormation::CfnGuardHook::StackFiltersProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_formation/cfn_guard_hook.rb

Overview

The StackFilters property type specifies stack level filters for a Hook.

The StackNames or StackRoles properties are optional. However, you must specify at least one of these properties.

For more information, see CloudFormation Hooks stack level filters .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filtering_criteria:, stack_names: nil, stack_roles: nil) ⇒ StackFiltersProperty

Returns a new instance of StackFiltersProperty.

Parameters:



770
771
772
773
774
775
776
777
# File 'cloud_formation/cfn_guard_hook.rb', line 770

def initialize(filtering_criteria:, stack_names: nil, stack_roles: nil)
  @filtering_criteria = filtering_criteria
  Jsii::Type.check_type(@filtering_criteria, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "filteringCriteria")
  @stack_names = stack_names.is_a?(Hash) ? ::AWSCDK::CloudFormation::CfnGuardHook::StackNamesProperty.new(**stack_names.transform_keys(&:to_sym)) : stack_names
  Jsii::Type.check_type(@stack_names, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZvcm1hdGlvbi5DZm5HdWFyZEhvb2suU3RhY2tOYW1lc1Byb3BlcnR5In1dfX0=")), "stackNames") unless @stack_names.nil?
  @stack_roles = stack_roles.is_a?(Hash) ? ::AWSCDK::CloudFormation::CfnGuardHook::StackRolesProperty.new(**stack_roles.transform_keys(&:to_sym)) : stack_roles
  Jsii::Type.check_type(@stack_roles, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbG91ZGZvcm1hdGlvbi5DZm5HdWFyZEhvb2suU3RhY2tSb2xlc1Byb3BlcnR5In1dfX0=")), "stackRoles") unless @stack_roles.nil?
end

Instance Attribute Details

#filtering_criteriaString (readonly)

Note:

Default: - "ALL"

The filtering criteria.

  • All stack names and stack roles ( All ): The Hook will only be invoked when all specified filters match.
  • Any stack names and stack roles ( Any ): The Hook will be invoked if at least one of the specified filters match.


787
788
789
# File 'cloud_formation/cfn_guard_hook.rb', line 787

def filtering_criteria
  @filtering_criteria
end

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

Includes or excludes specific stacks from Hook invocations.



792
793
794
# File 'cloud_formation/cfn_guard_hook.rb', line 792

def stack_names
  @stack_names
end

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

Includes or excludes specific stacks from Hook invocations based on their associated IAM roles.



797
798
799
# File 'cloud_formation/cfn_guard_hook.rb', line 797

def stack_roles
  @stack_roles
end

Class Method Details

.jsii_propertiesObject



799
800
801
802
803
804
805
# File 'cloud_formation/cfn_guard_hook.rb', line 799

def self.jsii_properties
  {
    :filtering_criteria => "filteringCriteria",
    :stack_names => "stackNames",
    :stack_roles => "stackRoles",
  }
end

Instance Method Details

#to_jsiiObject



807
808
809
810
811
812
813
814
815
# File 'cloud_formation/cfn_guard_hook.rb', line 807

def to_jsii
  result = {}
  result.merge!({
    "filteringCriteria" => @filtering_criteria,
    "stackNames" => @stack_names,
    "stackRoles" => @stack_roles,
  })
  result.compact
end