Class: AWSCDK::Logs::LogStreamProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
logs/log_stream_props.rb

Overview

Properties for a LogStream.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(log_group:, log_stream_name: nil, removal_policy: nil) ⇒ LogStreamProps

Returns a new instance of LogStreamProps.

Parameters:

  • log_group (AWSCDK::Interfaces::AWSLogs::ILogGroupRef)

    The log group to create a log stream for.

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

    The name of the log stream to create.

  • removal_policy (AWSCDK::RemovalPolicy, nil) (defaults to: nil)

    Determine what happens when the log stream resource is removed from the app.



10
11
12
13
14
15
16
17
# File 'logs/log_stream_props.rb', line 10

def initialize(log_group:, log_stream_name: nil, removal_policy: nil)
  @log_group = log_group
  Jsii::Type.check_type(@log_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19sb2dzLklMb2dHcm91cFJlZiJ9")), "logGroup")
  @log_stream_name = log_stream_name
  Jsii::Type.check_type(@log_stream_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logStreamName") unless @log_stream_name.nil?
  @removal_policy = removal_policy
  Jsii::Type.check_type(@removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "removalPolicy") unless @removal_policy.nil?
end

Instance Attribute Details

#log_groupAWSCDK::Interfaces::AWSLogs::ILogGroupRef (readonly)

The log group to create a log stream for.



22
23
24
# File 'logs/log_stream_props.rb', line 22

def log_group
  @log_group
end

#log_stream_nameString? (readonly)

Note:

Default: Automatically generated

The name of the log stream to create.

The name must be unique within the log group.

Returns:

  • (String, nil)


29
30
31
# File 'logs/log_stream_props.rb', line 29

def log_stream_name
  @log_stream_name
end

#removal_policyAWSCDK::RemovalPolicy? (readonly)

Note:

Default: RemovalPolicy.Retain

Determine what happens when the log stream resource is removed from the app.

Normally you want to retain the log stream so you can diagnose issues from logs even after a deployment that no longer includes the log stream.

The date-based retention policy of your log group will age out the logs after a certain time.

Returns:



40
41
42
# File 'logs/log_stream_props.rb', line 40

def removal_policy
  @removal_policy
end

Class Method Details

.jsii_propertiesObject



42
43
44
45
46
47
48
# File 'logs/log_stream_props.rb', line 42

def self.jsii_properties
  {
    :log_group => "logGroup",
    :log_stream_name => "logStreamName",
    :removal_policy => "removalPolicy",
  }
end

Instance Method Details

#to_jsiiObject



50
51
52
53
54
55
56
57
58
# File 'logs/log_stream_props.rb', line 50

def to_jsii
  result = {}
  result.merge!({
    "logGroup" => @log_group,
    "logStreamName" => @log_stream_name,
    "removalPolicy" => @removal_policy,
  })
  result.compact
end