Class: AWSCDK::ImageBuilder::CfnLifecyclePolicy::AmiExclusionRulesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
image_builder/cfn_lifecycle_policy.rb

Overview

Defines criteria for AMIs that are excluded from lifecycle actions.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(is_public: nil, last_launched: nil, regions: nil, shared_accounts: nil, tag_map: nil) ⇒ AmiExclusionRulesProperty

Returns a new instance of AmiExclusionRulesProperty.

Parameters:

  • is_public (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Configures whether public AMIs are excluded from the lifecycle action.

  • last_launched (AWSCDK::IResolvable, AWSCDK::ImageBuilder::CfnLifecyclePolicy::LastLaunchedProperty, nil) (defaults to: nil)

    Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.

  • regions (Array<String>, nil) (defaults to: nil)

    Configures AWS Region s that are excluded from the lifecycle action.

  • shared_accounts (Array<String>, nil) (defaults to: nil)

    Specifies AWS account s whose resources are excluded from the lifecycle action.

  • tag_map (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    Lists tags that should be excluded from lifecycle actions for the AMIs that have them.



655
656
657
658
659
660
661
662
663
664
665
666
# File 'image_builder/cfn_lifecycle_policy.rb', line 655

def initialize(is_public: nil, last_launched: nil, regions: nil, shared_accounts: nil, tag_map: nil)
  @is_public = is_public
  Jsii::Type.check_type(@is_public, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "isPublic") unless @is_public.nil?
  @last_launched = last_launched.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnLifecyclePolicy::LastLaunchedProperty.new(**last_launched.transform_keys(&:to_sym)) : last_launched
  Jsii::Type.check_type(@last_launched, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuTGlmZWN5Y2xlUG9saWN5Lkxhc3RMYXVuY2hlZFByb3BlcnR5In1dfX0=")), "lastLaunched") unless @last_launched.nil?
  @regions = regions
  Jsii::Type.check_type(@regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "regions") unless @regions.nil?
  @shared_accounts = shared_accounts
  Jsii::Type.check_type(@shared_accounts, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "sharedAccounts") unless @shared_accounts.nil?
  @tag_map = tag_map
  Jsii::Type.check_type(@tag_map, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "tagMap") unless @tag_map.nil?
end

Instance Attribute Details

#is_publicBoolean, ... (readonly)

Configures whether public AMIs are excluded from the lifecycle action.



672
673
674
# File 'image_builder/cfn_lifecycle_policy.rb', line 672

def is_public
  @is_public
end

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

Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.



677
678
679
# File 'image_builder/cfn_lifecycle_policy.rb', line 677

def last_launched
  @last_launched
end

#regionsArray<String>? (readonly)

Configures AWS Region s that are excluded from the lifecycle action.



682
683
684
# File 'image_builder/cfn_lifecycle_policy.rb', line 682

def regions
  @regions
end

#shared_accountsArray<String>? (readonly)

Specifies AWS account s whose resources are excluded from the lifecycle action.



687
688
689
# File 'image_builder/cfn_lifecycle_policy.rb', line 687

def shared_accounts
  @shared_accounts
end

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

Lists tags that should be excluded from lifecycle actions for the AMIs that have them.



692
693
694
# File 'image_builder/cfn_lifecycle_policy.rb', line 692

def tag_map
  @tag_map
end

Class Method Details

.jsii_propertiesObject



694
695
696
697
698
699
700
701
702
# File 'image_builder/cfn_lifecycle_policy.rb', line 694

def self.jsii_properties
  {
    :is_public => "isPublic",
    :last_launched => "lastLaunched",
    :regions => "regions",
    :shared_accounts => "sharedAccounts",
    :tag_map => "tagMap",
  }
end

Instance Method Details

#to_jsiiObject



704
705
706
707
708
709
710
711
712
713
714
# File 'image_builder/cfn_lifecycle_policy.rb', line 704

def to_jsii
  result = {}
  result.merge!({
    "isPublic" => @is_public,
    "lastLaunched" => @last_launched,
    "regions" => @regions,
    "sharedAccounts" => @shared_accounts,
    "tagMap" => @tag_map,
  })
  result.compact
end