Class: AWSCDK::WorkspacesWeb::CfnSessionLogger::S3LogConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
workspaces_web/cfn_session_logger.rb

Overview

The S3 log configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket:, folder_structure:, log_file_format:, bucket_owner: nil, key_prefix: nil) ⇒ S3LogConfigurationProperty

Returns a new instance of S3LogConfigurationProperty.

Parameters:

  • bucket (String)

    The S3 bucket name where logs are delivered.

  • folder_structure (String)

    The folder structure that defines the organizational structure for log files in S3.

  • log_file_format (String)

    The format of the LogFile that is written to S3.

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

    The expected bucket owner of the target S3 bucket.

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

    The S3 path prefix that determines where log files are stored.



684
685
686
687
688
689
690
691
692
693
694
695
# File 'workspaces_web/cfn_session_logger.rb', line 684

def initialize(bucket:, folder_structure:, log_file_format:, bucket_owner: nil, key_prefix: nil)
  @bucket = bucket
  Jsii::Type.check_type(@bucket, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucket")
  @folder_structure = folder_structure
  Jsii::Type.check_type(@folder_structure, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "folderStructure")
  @log_file_format = log_file_format
  Jsii::Type.check_type(@log_file_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "logFileFormat")
  @bucket_owner = bucket_owner
  Jsii::Type.check_type(@bucket_owner, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketOwner") unless @bucket_owner.nil?
  @key_prefix = key_prefix
  Jsii::Type.check_type(@key_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keyPrefix") unless @key_prefix.nil?
end

Instance Attribute Details

#bucketString (readonly)

The S3 bucket name where logs are delivered.



701
702
703
# File 'workspaces_web/cfn_session_logger.rb', line 701

def bucket
  @bucket
end

#bucket_ownerString? (readonly)

The expected bucket owner of the target S3 bucket.

The caller must have permissions to write to the target bucket.



718
719
720
# File 'workspaces_web/cfn_session_logger.rb', line 718

def bucket_owner
  @bucket_owner
end

#folder_structureString (readonly)

The folder structure that defines the organizational structure for log files in S3.



706
707
708
# File 'workspaces_web/cfn_session_logger.rb', line 706

def folder_structure
  @folder_structure
end

#key_prefixString? (readonly)

The S3 path prefix that determines where log files are stored.



723
724
725
# File 'workspaces_web/cfn_session_logger.rb', line 723

def key_prefix
  @key_prefix
end

#log_file_formatString (readonly)

The format of the LogFile that is written to S3.



711
712
713
# File 'workspaces_web/cfn_session_logger.rb', line 711

def log_file_format
  @log_file_format
end

Class Method Details

.jsii_propertiesObject



725
726
727
728
729
730
731
732
733
# File 'workspaces_web/cfn_session_logger.rb', line 725

def self.jsii_properties
  {
    :bucket => "bucket",
    :folder_structure => "folderStructure",
    :log_file_format => "logFileFormat",
    :bucket_owner => "bucketOwner",
    :key_prefix => "keyPrefix",
  }
end

Instance Method Details

#to_jsiiObject



735
736
737
738
739
740
741
742
743
744
745
# File 'workspaces_web/cfn_session_logger.rb', line 735

def to_jsii
  result = {}
  result.merge!({
    "bucket" => @bucket,
    "folderStructure" => @folder_structure,
    "logFileFormat" => @log_file_format,
    "bucketOwner" => @bucket_owner,
    "keyPrefix" => @key_prefix,
  })
  result.compact
end