Class: AWSCDK::KinesisVideo::CfnStreamProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_video/cfn_stream_props.rb

Overview

Properties for defining a CfnStream.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_retention_in_hours: nil, device_name: nil, kms_key_id: nil, media_type: nil, name: nil, stream_storage_configuration: nil, tags: nil) ⇒ CfnStreamProps

Returns a new instance of CfnStreamProps.

Parameters:

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

    How long the stream retains data, in hours.

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

    The name of the device that is associated with the stream.

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

    The ID of the AWS Key Management Service ( AWS ) key that Kinesis Video Streams uses to encrypt data on the stream.

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

    The MediaType of the stream.

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

    The name of the stream.

  • stream_storage_configuration (AWSCDK::IResolvable, AWSCDK::KinesisVideo::CfnStream::StreamStorageConfigurationProperty, nil) (defaults to: nil)

    The configuration for stream storage, including the default storage tier for stream data.

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

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



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

def initialize(data_retention_in_hours: nil, device_name: nil, kms_key_id: nil, media_type: nil, name: nil, stream_storage_configuration: nil, tags: nil)
  @data_retention_in_hours = data_retention_in_hours
  Jsii::Type.check_type(@data_retention_in_hours, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "dataRetentionInHours") unless @data_retention_in_hours.nil?
  @device_name = device_name
  Jsii::Type.check_type(@device_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deviceName") unless @device_name.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @media_type = media_type
  Jsii::Type.check_type(@media_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "mediaType") unless @media_type.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @stream_storage_configuration = stream_storage_configuration.is_a?(Hash) ? ::AWSCDK::KinesisVideo::CfnStream::StreamStorageConfigurationProperty.new(**stream_storage_configuration.transform_keys(&:to_sym)) : stream_storage_configuration
  Jsii::Type.check_type(@stream_storage_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzdmlkZW8uQ2ZuU3RyZWFtLlN0cmVhbVN0b3JhZ2VDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "streamStorageConfiguration") unless @stream_storage_configuration.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

#data_retention_in_hoursNumeric? (readonly)

How long the stream retains data, in hours.



37
38
39
# File 'kinesis_video/cfn_stream_props.rb', line 37

def data_retention_in_hours
  @data_retention_in_hours
end

#device_nameString? (readonly)

The name of the device that is associated with the stream.



42
43
44
# File 'kinesis_video/cfn_stream_props.rb', line 42

def device_name
  @device_name
end

#kms_key_idString? (readonly)

The ID of the AWS Key Management Service ( AWS ) key that Kinesis Video Streams uses to encrypt data on the stream.



47
48
49
# File 'kinesis_video/cfn_stream_props.rb', line 47

def kms_key_id
  @kms_key_id
end

#media_typeString? (readonly)

The MediaType of the stream.



52
53
54
# File 'kinesis_video/cfn_stream_props.rb', line 52

def media_type
  @media_type
end

#nameString? (readonly)

The name of the stream.



57
58
59
# File 'kinesis_video/cfn_stream_props.rb', line 57

def name
  @name
end

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

The configuration for stream storage, including the default storage tier for stream data.

This configuration determines how stream data is stored and accessed, with different tiers offering varying levels of performance and cost optimization.



64
65
66
# File 'kinesis_video/cfn_stream_props.rb', line 64

def stream_storage_configuration
  @stream_storage_configuration
end

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

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

For more information, see Tag .



71
72
73
# File 'kinesis_video/cfn_stream_props.rb', line 71

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



73
74
75
76
77
78
79
80
81
82
83
# File 'kinesis_video/cfn_stream_props.rb', line 73

def self.jsii_properties
  {
    :data_retention_in_hours => "dataRetentionInHours",
    :device_name => "deviceName",
    :kms_key_id => "kmsKeyId",
    :media_type => "mediaType",
    :name => "name",
    :stream_storage_configuration => "streamStorageConfiguration",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'kinesis_video/cfn_stream_props.rb', line 85

def to_jsii
  result = {}
  result.merge!({
    "dataRetentionInHours" => @data_retention_in_hours,
    "deviceName" => @device_name,
    "kmsKeyId" => @kms_key_id,
    "mediaType" => @media_type,
    "name" => @name,
    "streamStorageConfiguration" => @stream_storage_configuration,
    "tags" => @tags,
  })
  result.compact
end