Class: AWSCDK::Events::CfnArchiveProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
events/cfn_archive_props.rb

Overview

Properties for defining a CfnArchive.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_arn:, archive_name: nil, description: nil, event_pattern: nil, kms_key_identifier: nil, retention_days: nil) ⇒ CfnArchiveProps

Returns a new instance of CfnArchiveProps.

Parameters:

  • source_arn (String, AWSCDK::Interfaces::AWSEvents::IEventBusRef)

    The ARN of the event bus that sends events to the archive.

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

    The name for the archive to create.

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

    A description for the archive.

  • event_pattern (Object, nil) (defaults to: nil)

    An event pattern to use to filter events sent to the archive.

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

    The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive.

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

    The number of days to retain events for.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'events/cfn_archive_props.rb', line 15

def initialize(source_arn:, archive_name: nil, description: nil, event_pattern: nil, kms_key_identifier: nil, retention_days: nil)
  @source_arn = source_arn
  Jsii::Type.check_type(@source_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19ldmVudHMuSUV2ZW50QnVzUmVmIn1dfX0=")), "sourceArn")
  @archive_name = archive_name
  Jsii::Type.check_type(@archive_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "archiveName") unless @archive_name.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @event_pattern = event_pattern
  Jsii::Type.check_type(@event_pattern, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "eventPattern") unless @event_pattern.nil?
  @kms_key_identifier = kms_key_identifier
  Jsii::Type.check_type(@kms_key_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyIdentifier") unless @kms_key_identifier.nil?
  @retention_days = retention_days
  Jsii::Type.check_type(@retention_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retentionDays") unless @retention_days.nil?
end

Instance Attribute Details

#archive_nameString? (readonly)

The name for the archive to create.



39
40
41
# File 'events/cfn_archive_props.rb', line 39

def archive_name
  @archive_name
end

#descriptionString? (readonly)

A description for the archive.



44
45
46
# File 'events/cfn_archive_props.rb', line 44

def description
  @description
end

#event_patternObject? (readonly)

An event pattern to use to filter events sent to the archive.



49
50
51
# File 'events/cfn_archive_props.rb', line 49

def event_pattern
  @event_pattern
end

#kms_key_identifierString? (readonly)

The identifier of the AWS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt this archive.

The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.

If you do not specify a customer managed key identifier, EventBridge uses an AWS owned key to encrypt the archive.

For more information, see Identify and view keys in the AWS Key Management Service Developer Guide .

If you have specified that EventBridge use a customer managed key for encrypting the source event bus, we strongly recommend you also specify a customer managed key for any archives for the event bus as well.

For more information, see Encrypting archives in the Amazon EventBridge User Guide .



64
65
66
# File 'events/cfn_archive_props.rb', line 64

def kms_key_identifier
  @kms_key_identifier
end

#retention_daysNumeric? (readonly)

The number of days to retain events for.

Default value is 0. If set to 0, events are retained indefinitely



71
72
73
# File 'events/cfn_archive_props.rb', line 71

def retention_days
  @retention_days
end

#source_arnString, AWSCDK::Interfaces::AWSEvents::IEventBusRef (readonly)

The ARN of the event bus that sends events to the archive.



34
35
36
# File 'events/cfn_archive_props.rb', line 34

def source_arn
  @source_arn
end

Class Method Details

.jsii_propertiesObject



73
74
75
76
77
78
79
80
81
82
# File 'events/cfn_archive_props.rb', line 73

def self.jsii_properties
  {
    :source_arn => "sourceArn",
    :archive_name => "archiveName",
    :description => "description",
    :event_pattern => "eventPattern",
    :kms_key_identifier => "kmsKeyIdentifier",
    :retention_days => "retentionDays",
  }
end

Instance Method Details

#to_jsiiObject



84
85
86
87
88
89
90
91
92
93
94
95
# File 'events/cfn_archive_props.rb', line 84

def to_jsii
  result = {}
  result.merge!({
    "sourceArn" => @source_arn,
    "archiveName" => @archive_name,
    "description" => @description,
    "eventPattern" => @event_pattern,
    "kmsKeyIdentifier" => @kms_key_identifier,
    "retentionDays" => @retention_days,
  })
  result.compact
end