Class: AWSCDK::RolesAnywhere::CfnTrustAnchor::NotificationSettingProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
roles_anywhere/cfn_trust_anchor.rb

Overview

Customizable notification settings that will be applied to notification events.

IAM Roles Anywhere consumes these settings while notifying across multiple channels - CloudWatch metrics, EventBridge, and Health Dashboard .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled:, event:, channel: nil, threshold: nil) ⇒ NotificationSettingProperty

Returns a new instance of NotificationSettingProperty.

Parameters:

  • enabled (Boolean, AWSCDK::IResolvable)

    Indicates whether the notification setting is enabled.

  • event (String)

    The event to which this notification setting is applied.

  • channel (String, nil) (defaults to: nil)

    The specified channel of notification.

  • threshold (Numeric, nil) (defaults to: nil)

    The number of days before a notification event.



609
610
611
612
613
614
615
616
617
618
# File 'roles_anywhere/cfn_trust_anchor.rb', line 609

def initialize(enabled:, event:, channel: nil, threshold: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled")
  @event = event
  Jsii::Type.check_type(@event, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "event")
  @channel = channel
  Jsii::Type.check_type(@channel, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "channel") unless @channel.nil?
  @threshold = threshold
  Jsii::Type.check_type(@threshold, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "threshold") unless @threshold.nil?
end

Instance Attribute Details

#channelString? (readonly)

The specified channel of notification.

IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and Health Dashboard to notify for an event.

In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.



638
639
640
# File 'roles_anywhere/cfn_trust_anchor.rb', line 638

def channel
  @channel
end

#enabledBoolean, AWSCDK::IResolvable (readonly)

Indicates whether the notification setting is enabled.



624
625
626
# File 'roles_anywhere/cfn_trust_anchor.rb', line 624

def enabled
  @enabled
end

#eventString (readonly)

The event to which this notification setting is applied.



629
630
631
# File 'roles_anywhere/cfn_trust_anchor.rb', line 629

def event
  @event
end

#thresholdNumeric? (readonly)

The number of days before a notification event.

This value is required for a notification setting that is enabled.



645
646
647
# File 'roles_anywhere/cfn_trust_anchor.rb', line 645

def threshold
  @threshold
end

Class Method Details

.jsii_propertiesObject



647
648
649
650
651
652
653
654
# File 'roles_anywhere/cfn_trust_anchor.rb', line 647

def self.jsii_properties
  {
    :enabled => "enabled",
    :event => "event",
    :channel => "channel",
    :threshold => "threshold",
  }
end

Instance Method Details

#to_jsiiObject



656
657
658
659
660
661
662
663
664
665
# File 'roles_anywhere/cfn_trust_anchor.rb', line 656

def to_jsii
  result = {}
  result.merge!({
    "enabled" => @enabled,
    "event" => @event,
    "channel" => @channel,
    "threshold" => @threshold,
  })
  result.compact
end