Class: AWSCDK::SecurityLake::CfnSubscriberProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
security_lake/cfn_subscriber_props.rb

Overview

Properties for defining a CfnSubscriber.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_types:, data_lake_arn:, sources:, subscriber_identity:, subscriber_name:, subscriber_description: nil, tags: nil) ⇒ CfnSubscriberProps

Returns a new instance of CfnSubscriberProps.

Parameters:

  • access_types (Array<String>)

    You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.

  • data_lake_arn (String)

    The Amazon Resource Name (ARN) used to create the data lake.

  • sources (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::SecurityLake::CfnSubscriber::SourceProperty>)

    Amazon Security Lake supports log and event collection for natively supported AWS services .

  • subscriber_identity (AWSCDK::IResolvable, AWSCDK::SecurityLake::CfnSubscriber::SubscriberIdentityProperty)

    The AWS identity used to access your data.

  • subscriber_name (String)

    The name of your Amazon Security Lake subscriber account.

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

    The subscriber descriptions for a subscriber account.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An array of objects, one for each tag to associate with the subscriber.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'security_lake/cfn_subscriber_props.rb', line 16

def initialize(access_types:, data_lake_arn:, sources:, subscriber_identity:, subscriber_name:, subscriber_description: nil, tags: nil)
  @access_types = access_types
  Jsii::Type.check_type(@access_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "accessTypes")
  @data_lake_arn = data_lake_arn
  Jsii::Type.check_type(@data_lake_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataLakeArn")
  @sources = sources
  Jsii::Type.check_type(@sources, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2VjdXJpdHlsYWtlLkNmblN1YnNjcmliZXIuU291cmNlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "sources")
  @subscriber_identity = subscriber_identity.is_a?(Hash) ? ::AWSCDK::SecurityLake::CfnSubscriber::SubscriberIdentityProperty.new(**subscriber_identity.transform_keys(&:to_sym)) : subscriber_identity
  Jsii::Type.check_type(@subscriber_identity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zZWN1cml0eWxha2UuQ2ZuU3Vic2NyaWJlci5TdWJzY3JpYmVySWRlbnRpdHlQcm9wZXJ0eSJ9XX19")), "subscriberIdentity")
  @subscriber_name = subscriber_name
  Jsii::Type.check_type(@subscriber_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subscriberName")
  @subscriber_description = subscriber_description
  Jsii::Type.check_type(@subscriber_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subscriberDescription") unless @subscriber_description.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#access_typesArray<String> (readonly)

You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.

Subscribers can consume data by directly querying AWS Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as LAKEFORMATION .



39
40
41
# File 'security_lake/cfn_subscriber_props.rb', line 39

def access_types
  @access_types
end

#data_lake_arnString (readonly)

The Amazon Resource Name (ARN) used to create the data lake.



44
45
46
# File 'security_lake/cfn_subscriber_props.rb', line 44

def data_lake_arn
  @data_lake_arn
end

#sourcesAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::SecurityLake::CfnSubscriber::SourceProperty> (readonly)

Amazon Security Lake supports log and event collection for natively supported AWS services .

For more information, see the Amazon Security Lake User Guide .



51
52
53
# File 'security_lake/cfn_subscriber_props.rb', line 51

def sources
  @sources
end

#subscriber_descriptionString? (readonly)

The subscriber descriptions for a subscriber account.

The description for a subscriber includes subscriber_name , account_id , external_id , and subscriber_id .



68
69
70
# File 'security_lake/cfn_subscriber_props.rb', line 68

def subscriber_description
  @subscriber_description
end

#subscriber_identityAWSCDK::IResolvable, AWSCDK::SecurityLake::CfnSubscriber::SubscriberIdentityProperty (readonly)

The AWS identity used to access your data.



56
57
58
# File 'security_lake/cfn_subscriber_props.rb', line 56

def subscriber_identity
  @subscriber_identity
end

#subscriber_nameString (readonly)

The name of your Amazon Security Lake subscriber account.



61
62
63
# File 'security_lake/cfn_subscriber_props.rb', line 61

def subscriber_name
  @subscriber_name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An array of objects, one for each tag to associate with the subscriber.

For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.



75
76
77
# File 'security_lake/cfn_subscriber_props.rb', line 75

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



77
78
79
80
81
82
83
84
85
86
87
# File 'security_lake/cfn_subscriber_props.rb', line 77

def self.jsii_properties
  {
    :access_types => "accessTypes",
    :data_lake_arn => "dataLakeArn",
    :sources => "sources",
    :subscriber_identity => "subscriberIdentity",
    :subscriber_name => "subscriberName",
    :subscriber_description => "subscriberDescription",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'security_lake/cfn_subscriber_props.rb', line 89

def to_jsii
  result = {}
  result.merge!({
    "accessTypes" => @access_types,
    "dataLakeArn" => @data_lake_arn,
    "sources" => @sources,
    "subscriberIdentity" => @subscriber_identity,
    "subscriberName" => @subscriber_name,
    "subscriberDescription" => @subscriber_description,
    "tags" => @tags,
  })
  result.compact
end