Class: AWSCDK::Rekognition::CfnStreamProcessorProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rekognition/cfn_stream_processor_props.rb

Overview

Properties for defining a CfnStreamProcessor.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kinesis_video_stream:, role_arn:, bounding_box_regions_of_interest: nil, connected_home_settings: nil, data_sharing_preference: nil, face_search_settings: nil, kinesis_data_stream: nil, kms_key_id: nil, name: nil, notification_channel: nil, polygon_regions_of_interest: nil, s3_destination: nil, tags: nil) ⇒ CfnStreamProcessorProps

Returns a new instance of CfnStreamProcessorProps.

Parameters:



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'rekognition/cfn_stream_processor_props.rb', line 22

def initialize(kinesis_video_stream:, role_arn:, bounding_box_regions_of_interest: nil, connected_home_settings: nil, data_sharing_preference: nil, face_search_settings: nil, kinesis_data_stream: nil, kms_key_id: nil, name: nil, notification_channel: nil, polygon_regions_of_interest: nil, s3_destination: nil, tags: nil)
  @kinesis_video_stream = kinesis_video_stream.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::KinesisVideoStreamProperty.new(**kinesis_video_stream.transform_keys(&:to_sym)) : kinesis_video_stream
  Jsii::Type.check_type(@kinesis_video_stream, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuS2luZXNpc1ZpZGVvU3RyZWFtUHJvcGVydHkifV19fQ==")), "kinesisVideoStream")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @bounding_box_regions_of_interest = bounding_box_regions_of_interest
  Jsii::Type.check_type(@bounding_box_regions_of_interest, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVrb2duaXRpb24uQ2ZuU3RyZWFtUHJvY2Vzc29yLkJvdW5kaW5nQm94UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "boundingBoxRegionsOfInterest") unless @bounding_box_regions_of_interest.nil?
  @connected_home_settings = connected_home_settings.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::ConnectedHomeSettingsProperty.new(**connected_home_settings.transform_keys(&:to_sym)) : connected_home_settings
  Jsii::Type.check_type(@connected_home_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuQ29ubmVjdGVkSG9tZVNldHRpbmdzUHJvcGVydHkifV19fQ==")), "connectedHomeSettings") unless @connected_home_settings.nil?
  @data_sharing_preference = data_sharing_preference.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::DataSharingPreferenceProperty.new(**data_sharing_preference.transform_keys(&:to_sym)) : data_sharing_preference
  Jsii::Type.check_type(@data_sharing_preference, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuRGF0YVNoYXJpbmdQcmVmZXJlbmNlUHJvcGVydHkifV19fQ==")), "dataSharingPreference") unless @data_sharing_preference.nil?
  @face_search_settings = face_search_settings.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::FaceSearchSettingsProperty.new(**face_search_settings.transform_keys(&:to_sym)) : face_search_settings
  Jsii::Type.check_type(@face_search_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuRmFjZVNlYXJjaFNldHRpbmdzUHJvcGVydHkifV19fQ==")), "faceSearchSettings") unless @face_search_settings.nil?
  @kinesis_data_stream = kinesis_data_stream.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::KinesisDataStreamProperty.new(**kinesis_data_stream.transform_keys(&:to_sym)) : kinesis_data_stream
  Jsii::Type.check_type(@kinesis_data_stream, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuS2luZXNpc0RhdGFTdHJlYW1Qcm9wZXJ0eSJ9XX19")), "kinesisDataStream") unless @kinesis_data_stream.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?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @notification_channel = notification_channel.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::NotificationChannelProperty.new(**notification_channel.transform_keys(&:to_sym)) : notification_channel
  Jsii::Type.check_type(@notification_channel, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuTm90aWZpY2F0aW9uQ2hhbm5lbFByb3BlcnR5In1dfX0=")), "notificationChannel") unless @notification_channel.nil?
  @polygon_regions_of_interest = polygon_regions_of_interest
  Jsii::Type.check_type(@polygon_regions_of_interest, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "polygonRegionsOfInterest") unless @polygon_regions_of_interest.nil?
  @s3_destination = s3_destination.is_a?(Hash) ? ::AWSCDK::Rekognition::CfnStreamProcessor::S3DestinationProperty.new(**s3_destination.transform_keys(&:to_sym)) : s3_destination
  Jsii::Type.check_type(@s3_destination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWtvZ25pdGlvbi5DZm5TdHJlYW1Qcm9jZXNzb3IuUzNEZXN0aW5hdGlvblByb3BlcnR5In1dfX0=")), "s3Destination") unless @s3_destination.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

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

List of BoundingBox objects, each of which denotes a region of interest on screen.

For more information, see the BoundingBox field of RegionOfInterest .



71
72
73
# File 'rekognition/cfn_stream_processor_props.rb', line 71

def bounding_box_regions_of_interest
  @bounding_box_regions_of_interest
end

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

Connected home settings to use on a streaming video.

You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of StreamProcessorSettings .



78
79
80
# File 'rekognition/cfn_stream_processor_props.rb', line 78

def connected_home_settings
  @connected_home_settings
end

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

Allows you to opt in or opt out to share data with Rekognition to improve model performance.

You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see StreamProcessorDataSharingPreference .



85
86
87
# File 'rekognition/cfn_stream_processor_props.rb', line 85

def data_sharing_preference
  @data_sharing_preference
end

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

The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor.

For more information regarding the contents of the parameters, see FaceSearchSettings .



92
93
94
# File 'rekognition/cfn_stream_processor_props.rb', line 92

def face_search_settings
  @face_search_settings
end

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

Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input.

This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at KinesisDataStream .



99
100
101
# File 'rekognition/cfn_stream_processor_props.rb', line 99

def kinesis_data_stream
  @kinesis_data_stream
end

#kinesis_video_streamAWSCDK::IResolvable, AWSCDK::Rekognition::CfnStreamProcessor::KinesisVideoStreamProperty (readonly)

The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor.

For more information, see KinesisVideoStream .



57
58
59
# File 'rekognition/cfn_stream_processor_props.rb', line 57

def kinesis_video_stream
  @kinesis_video_stream
end

#kms_key_idString? (readonly)

The identifier for your Amazon Key Management Service key (Amazon KMS key).

Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of CreateStreamProcessor .



106
107
108
# File 'rekognition/cfn_stream_processor_props.rb', line 106

def kms_key_id
  @kms_key_id
end

#nameString? (readonly)

The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of StreamProcessor . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.



111
112
113
# File 'rekognition/cfn_stream_processor_props.rb', line 111

def name
  @name
end

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

The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation.

Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see StreamProcessorNotificationChannel .



118
119
120
# File 'rekognition/cfn_stream_processor_props.rb', line 118

def notification_channel
  @notification_channel
end

#polygon_regions_of_interestObject? (readonly)

A set of ordered lists of Point objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of Point objects. For more information, see the Polygon field of RegionOfInterest .



123
124
125
# File 'rekognition/cfn_stream_processor_props.rb', line 123

def polygon_regions_of_interest
  @polygon_regions_of_interest
end

#role_arnString (readonly)

The ARN of the IAM role that allows access to the stream processor.

The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of CreateStreamProcessor .



64
65
66
# File 'rekognition/cfn_stream_processor_props.rb', line 64

def role_arn
  @role_arn
end

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

The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation.

For more information, see the S3Destination section of StreamProcessorOutput .



130
131
132
# File 'rekognition/cfn_stream_processor_props.rb', line 130

def s3_destination
  @s3_destination
end

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

A set of tags (key-value pairs) that you want to attach to the stream processor.

For more information, see the Tags section of CreateStreamProcessor .



137
138
139
# File 'rekognition/cfn_stream_processor_props.rb', line 137

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'rekognition/cfn_stream_processor_props.rb', line 139

def self.jsii_properties
  {
    :kinesis_video_stream => "kinesisVideoStream",
    :role_arn => "roleArn",
    :bounding_box_regions_of_interest => "boundingBoxRegionsOfInterest",
    :connected_home_settings => "connectedHomeSettings",
    :data_sharing_preference => "dataSharingPreference",
    :face_search_settings => "faceSearchSettings",
    :kinesis_data_stream => "kinesisDataStream",
    :kms_key_id => "kmsKeyId",
    :name => "name",
    :notification_channel => "notificationChannel",
    :polygon_regions_of_interest => "polygonRegionsOfInterest",
    :s3_destination => "s3Destination",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'rekognition/cfn_stream_processor_props.rb', line 157

def to_jsii
  result = {}
  result.merge!({
    "kinesisVideoStream" => @kinesis_video_stream,
    "roleArn" => @role_arn,
    "boundingBoxRegionsOfInterest" => @bounding_box_regions_of_interest,
    "connectedHomeSettings" => @connected_home_settings,
    "dataSharingPreference" => @data_sharing_preference,
    "faceSearchSettings" => @face_search_settings,
    "kinesisDataStream" => @kinesis_data_stream,
    "kmsKeyId" => @kms_key_id,
    "name" => @name,
    "notificationChannel" => @notification_channel,
    "polygonRegionsOfInterest" => @polygon_regions_of_interest,
    "s3Destination" => @s3_destination,
    "tags" => @tags,
  })
  result.compact
end