Class: AWSCDK::PinpointEmail::CfnConfigurationSetEventDestination::EventDestinationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
pinpoint_email/cfn_configuration_set_event_destination.rb

Overview

In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints.

Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(matching_event_types:, cloud_watch_destination: nil, enabled: nil, kinesis_firehose_destination: nil, pinpoint_destination: nil, sns_destination: nil) ⇒ EventDestinationProperty

Returns a new instance of EventDestinationProperty.

Parameters:



638
639
640
641
642
643
644
645
646
647
648
649
650
651
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 638

def initialize(matching_event_types:, cloud_watch_destination: nil, enabled: nil, kinesis_firehose_destination: nil, pinpoint_destination: nil, sns_destination: nil)
  @matching_event_types = matching_event_types
  Jsii::Type.check_type(@matching_event_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "matchingEventTypes")
  @cloud_watch_destination = cloud_watch_destination.is_a?(Hash) ? ::AWSCDK::PinpointEmail::CfnConfigurationSetEventDestination::CloudWatchDestinationProperty.new(**cloud_watch_destination.transform_keys(&:to_sym)) : cloud_watch_destination
  Jsii::Type.check_type(@cloud_watch_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waW5wb2ludGVtYWlsLkNmbkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLkNsb3VkV2F0Y2hEZXN0aW5hdGlvblByb3BlcnR5In1dfX0=")), "cloudWatchDestination") unless @cloud_watch_destination.nil?
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled") unless @enabled.nil?
  @kinesis_firehose_destination = kinesis_firehose_destination.is_a?(Hash) ? ::AWSCDK::PinpointEmail::CfnConfigurationSetEventDestination::KinesisFirehoseDestinationProperty.new(**kinesis_firehose_destination.transform_keys(&:to_sym)) : kinesis_firehose_destination
  Jsii::Type.check_type(@kinesis_firehose_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waW5wb2ludGVtYWlsLkNmbkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLktpbmVzaXNGaXJlaG9zZURlc3RpbmF0aW9uUHJvcGVydHkifV19fQ==")), "kinesisFirehoseDestination") unless @kinesis_firehose_destination.nil?
  @pinpoint_destination = pinpoint_destination.is_a?(Hash) ? ::AWSCDK::PinpointEmail::CfnConfigurationSetEventDestination::PinpointDestinationProperty.new(**pinpoint_destination.transform_keys(&:to_sym)) : pinpoint_destination
  Jsii::Type.check_type(@pinpoint_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waW5wb2ludGVtYWlsLkNmbkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLlBpbnBvaW50RGVzdGluYXRpb25Qcm9wZXJ0eSJ9XX19")), "pinpointDestination") unless @pinpoint_destination.nil?
  @sns_destination = sns_destination.is_a?(Hash) ? ::AWSCDK::PinpointEmail::CfnConfigurationSetEventDestination::SNSDestinationProperty.new(**sns_destination.transform_keys(&:to_sym)) : sns_destination
  Jsii::Type.check_type(@sns_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19waW5wb2ludGVtYWlsLkNmbkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLlNuc0Rlc3RpbmF0aW9uUHJvcGVydHkifV19fQ==")), "snsDestination") unless @sns_destination.nil?
end

Instance Attribute Details

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

An object that defines an Amazon CloudWatch destination for email events.

You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.



666
667
668
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 666

def cloud_watch_destination
  @cloud_watch_destination
end

#enabledBoolean, ... (readonly)

If true , the event destination is enabled.

When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition .

If false , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.



675
676
677
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 675

def enabled
  @enabled
end

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

An object that defines an Amazon Kinesis Data Firehose destination for email events.

You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.



682
683
684
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 682

def kinesis_firehose_destination
  @kinesis_firehose_destination
end

#matching_event_typesArray<String> (readonly)

The types of events that Amazon Pinpoint sends to the specified event destinations.

Acceptable values: SEND , REJECT , BOUNCE , COMPLAINT , DELIVERY , OPEN , CLICK , and RENDERING_FAILURE .



659
660
661
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 659

def matching_event_types
  @matching_event_types
end

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

An object that defines a Amazon Pinpoint destination for email events.

You can use Amazon Pinpoint events to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments for your campaigns.



689
690
691
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 689

def pinpoint_destination
  @pinpoint_destination
end

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

An object that defines an Amazon SNS destination for email events.

You can use Amazon SNS to send notification when certain email events occur.



696
697
698
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 696

def sns_destination
  @sns_destination
end

Class Method Details

.jsii_propertiesObject



698
699
700
701
702
703
704
705
706
707
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 698

def self.jsii_properties
  {
    :matching_event_types => "matchingEventTypes",
    :cloud_watch_destination => "cloudWatchDestination",
    :enabled => "enabled",
    :kinesis_firehose_destination => "kinesisFirehoseDestination",
    :pinpoint_destination => "pinpointDestination",
    :sns_destination => "snsDestination",
  }
end

Instance Method Details

#to_jsiiObject



709
710
711
712
713
714
715
716
717
718
719
720
# File 'pinpoint_email/cfn_configuration_set_event_destination.rb', line 709

def to_jsii
  result = {}
  result.merge!({
    "matchingEventTypes" => @matching_event_types,
    "cloudWatchDestination" => @cloud_watch_destination,
    "enabled" => @enabled,
    "kinesisFirehoseDestination" => @kinesis_firehose_destination,
    "pinpointDestination" => @pinpoint_destination,
    "snsDestination" => @sns_destination,
  })
  result.compact
end