Class: AWSCDK::IVSChat::CfnRoomProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ivs_chat/cfn_room_props.rb

Overview

Properties for defining a CfnRoom.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logging_configuration_identifiers: nil, maximum_message_length: nil, maximum_message_rate_per_second: nil, message_review_handler: nil, name: nil, tags: nil) ⇒ CfnRoomProps

Returns a new instance of CfnRoomProps.

Parameters:

  • logging_configuration_identifiers (Array<String, AWSCDK::Interfaces::AWSIvschat::ILoggingConfigurationRef>, nil) (defaults to: nil)

    List of logging-configuration identifiers attached to the room.

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

    Maximum number of characters in a single message.

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

    Maximum number of messages per second that can be sent to the room (by all clients).

  • message_review_handler (AWSCDK::IResolvable, AWSCDK::IVSChat::CfnRoom::MessageReviewHandlerProperty, nil) (defaults to: nil)

    Configuration information for optional review of messages.

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

    Room name.

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

    An array of key-value pairs to apply to this resource.



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

def initialize(logging_configuration_identifiers: nil, maximum_message_length: nil, maximum_message_rate_per_second: nil, message_review_handler: nil, name: nil, tags: nil)
  @logging_configuration_identifiers = logging_configuration_identifiers
  Jsii::Type.check_type(@logging_configuration_identifiers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2l2c2NoYXQuSUxvZ2dpbmdDb25maWd1cmF0aW9uUmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "loggingConfigurationIdentifiers") unless @logging_configuration_identifiers.nil?
  @maximum_message_length = maximum_message_length
  Jsii::Type.check_type(@maximum_message_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumMessageLength") unless @maximum_message_length.nil?
  @maximum_message_rate_per_second = maximum_message_rate_per_second
  Jsii::Type.check_type(@maximum_message_rate_per_second, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumMessageRatePerSecond") unless @maximum_message_rate_per_second.nil?
  @message_review_handler = message_review_handler.is_a?(Hash) ? ::AWSCDK::IVSChat::CfnRoom::MessageReviewHandlerProperty.new(**message_review_handler.transform_keys(&:to_sym)) : message_review_handler
  Jsii::Type.check_type(@message_review_handler, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pdnNjaGF0LkNmblJvb20uTWVzc2FnZVJldmlld0hhbmRsZXJQcm9wZXJ0eSJ9XX19")), "messageReviewHandler") unless @message_review_handler.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.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

#logging_configuration_identifiersArray<String, AWSCDK::Interfaces::AWSIvschat::ILoggingConfigurationRef>? (readonly)

List of logging-configuration identifiers attached to the room.



34
35
36
# File 'ivs_chat/cfn_room_props.rb', line 34

def logging_configuration_identifiers
  @logging_configuration_identifiers
end

#maximum_message_lengthNumeric? (readonly)

Note:

Default: - 500

Maximum number of characters in a single message.

Messages are expected to be UTF-8 encoded and this limit applies specifically to rune/code-point count, not number of bytes.



42
43
44
# File 'ivs_chat/cfn_room_props.rb', line 42

def maximum_message_length
  @maximum_message_length
end

#maximum_message_rate_per_secondNumeric? (readonly)

Note:

Default: - 10

Maximum number of messages per second that can be sent to the room (by all clients).



48
49
50
# File 'ivs_chat/cfn_room_props.rb', line 48

def maximum_message_rate_per_second
  @maximum_message_rate_per_second
end

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

Configuration information for optional review of messages.



53
54
55
# File 'ivs_chat/cfn_room_props.rb', line 53

def message_review_handler
  @message_review_handler
end

#nameString? (readonly)

Room name.

The value does not need to be unique.



60
61
62
# File 'ivs_chat/cfn_room_props.rb', line 60

def name
  @name
end

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

An array of key-value pairs to apply to this resource.

For more information, see Tag .



67
68
69
# File 'ivs_chat/cfn_room_props.rb', line 67

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



69
70
71
72
73
74
75
76
77
78
# File 'ivs_chat/cfn_room_props.rb', line 69

def self.jsii_properties
  {
    :logging_configuration_identifiers => "loggingConfigurationIdentifiers",
    :maximum_message_length => "maximumMessageLength",
    :maximum_message_rate_per_second => "maximumMessageRatePerSecond",
    :message_review_handler => "messageReviewHandler",
    :name => "name",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



80
81
82
83
84
85
86
87
88
89
90
91
# File 'ivs_chat/cfn_room_props.rb', line 80

def to_jsii
  result = {}
  result.merge!({
    "loggingConfigurationIdentifiers" => @logging_configuration_identifiers,
    "maximumMessageLength" => @maximum_message_length,
    "maximumMessageRatePerSecond" => @maximum_message_rate_per_second,
    "messageReviewHandler" => @message_review_handler,
    "name" => @name,
    "tags" => @tags,
  })
  result.compact
end