commonMain.aws.sdk.kotlin.services.rekognition.model.DescribeStreamProcessorResponse.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rekognition-jvm Show documentation
Show all versions of rekognition-jvm Show documentation
The AWS SDK for Kotlin client for Rekognition
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.rekognition.model
import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant
public class DescribeStreamProcessorResponse private constructor(builder: Builder) {
/**
* Date and time the stream processor was created
*/
public val creationTimestamp: aws.smithy.kotlin.runtime.time.Instant? = builder.creationTimestamp
/**
* Shows whether you are sharing 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.
*/
public val dataSharingPreference: aws.sdk.kotlin.services.rekognition.model.StreamProcessorDataSharingPreference? = builder.dataSharingPreference
/**
* Kinesis video stream that provides the source streaming video.
*/
public val input: aws.sdk.kotlin.services.rekognition.model.StreamProcessorInput? = builder.input
/**
* The identifier for your AWS Key Management Service key (AWS KMS key). This is an optional parameter for label detection stream processors.
*/
public val kmsKeyId: kotlin.String? = builder.kmsKeyId
/**
* The time, in Unix format, the stream processor was last updated. For example, when the stream processor moves from a running state to a failed state, or when the user starts or stops the stream processor.
*/
public val lastUpdateTimestamp: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdateTimestamp
/**
* Name of the stream processor.
*/
public val name: kotlin.String? = builder.name
/**
* 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. For example, if Amazon Rekognition detects a person at second 2, a pet at second 4, and a person again at second 5, Amazon Rekognition sends 2 object class detected notifications, one for a person at second 2 and one for a pet at second 4.
*
* Amazon Rekognition also publishes an an end-of-session notification with a summary when the stream processing session is complete.
*/
public val notificationChannel: aws.sdk.kotlin.services.rekognition.model.StreamProcessorNotificationChannel? = builder.notificationChannel
/**
* Kinesis data stream to which Amazon Rekognition Video puts the analysis results.
*/
public val output: aws.sdk.kotlin.services.rekognition.model.StreamProcessorOutput? = builder.output
/**
* Specifies locations in the frames where Amazon Rekognition checks for objects or people. This is an optional parameter for label detection stream processors.
*/
public val regionsOfInterest: List? = builder.regionsOfInterest
/**
* ARN of the IAM role that allows access to the stream processor.
*/
public val roleArn: kotlin.String? = builder.roleArn
/**
* Input parameters used in a streaming video analyzed by a stream processor. You can use `FaceSearch` to recognize faces in a streaming video, or you can use `ConnectedHome` to detect labels.
*/
public val settings: aws.sdk.kotlin.services.rekognition.model.StreamProcessorSettings? = builder.settings
/**
* Current status of the stream processor.
*/
public val status: aws.sdk.kotlin.services.rekognition.model.StreamProcessorStatus? = builder.status
/**
* Detailed status message about the stream processor.
*/
public val statusMessage: kotlin.String? = builder.statusMessage
/**
* ARN of the stream processor.
*/
public val streamProcessorArn: kotlin.String? = builder.streamProcessorArn
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.rekognition.model.DescribeStreamProcessorResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("DescribeStreamProcessorResponse(")
append("creationTimestamp=$creationTimestamp,")
append("dataSharingPreference=$dataSharingPreference,")
append("input=$input,")
append("kmsKeyId=$kmsKeyId,")
append("lastUpdateTimestamp=$lastUpdateTimestamp,")
append("name=$name,")
append("notificationChannel=$notificationChannel,")
append("output=$output,")
append("regionsOfInterest=$regionsOfInterest,")
append("roleArn=$roleArn,")
append("settings=$settings,")
append("status=$status,")
append("statusMessage=$statusMessage,")
append("streamProcessorArn=$streamProcessorArn")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = creationTimestamp?.hashCode() ?: 0
result = 31 * result + (dataSharingPreference?.hashCode() ?: 0)
result = 31 * result + (input?.hashCode() ?: 0)
result = 31 * result + (kmsKeyId?.hashCode() ?: 0)
result = 31 * result + (lastUpdateTimestamp?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (notificationChannel?.hashCode() ?: 0)
result = 31 * result + (output?.hashCode() ?: 0)
result = 31 * result + (regionsOfInterest?.hashCode() ?: 0)
result = 31 * result + (roleArn?.hashCode() ?: 0)
result = 31 * result + (settings?.hashCode() ?: 0)
result = 31 * result + (status?.hashCode() ?: 0)
result = 31 * result + (statusMessage?.hashCode() ?: 0)
result = 31 * result + (streamProcessorArn?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as DescribeStreamProcessorResponse
if (creationTimestamp != other.creationTimestamp) return false
if (dataSharingPreference != other.dataSharingPreference) return false
if (input != other.input) return false
if (kmsKeyId != other.kmsKeyId) return false
if (lastUpdateTimestamp != other.lastUpdateTimestamp) return false
if (name != other.name) return false
if (notificationChannel != other.notificationChannel) return false
if (output != other.output) return false
if (regionsOfInterest != other.regionsOfInterest) return false
if (roleArn != other.roleArn) return false
if (settings != other.settings) return false
if (status != other.status) return false
if (statusMessage != other.statusMessage) return false
if (streamProcessorArn != other.streamProcessorArn) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.rekognition.model.DescribeStreamProcessorResponse = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Date and time the stream processor was created
*/
public var creationTimestamp: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* Shows whether you are sharing 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.
*/
public var dataSharingPreference: aws.sdk.kotlin.services.rekognition.model.StreamProcessorDataSharingPreference? = null
/**
* Kinesis video stream that provides the source streaming video.
*/
public var input: aws.sdk.kotlin.services.rekognition.model.StreamProcessorInput? = null
/**
* The identifier for your AWS Key Management Service key (AWS KMS key). This is an optional parameter for label detection stream processors.
*/
public var kmsKeyId: kotlin.String? = null
/**
* The time, in Unix format, the stream processor was last updated. For example, when the stream processor moves from a running state to a failed state, or when the user starts or stops the stream processor.
*/
public var lastUpdateTimestamp: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* Name of the stream processor.
*/
public var name: kotlin.String? = null
/**
* 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. For example, if Amazon Rekognition detects a person at second 2, a pet at second 4, and a person again at second 5, Amazon Rekognition sends 2 object class detected notifications, one for a person at second 2 and one for a pet at second 4.
*
* Amazon Rekognition also publishes an an end-of-session notification with a summary when the stream processing session is complete.
*/
public var notificationChannel: aws.sdk.kotlin.services.rekognition.model.StreamProcessorNotificationChannel? = null
/**
* Kinesis data stream to which Amazon Rekognition Video puts the analysis results.
*/
public var output: aws.sdk.kotlin.services.rekognition.model.StreamProcessorOutput? = null
/**
* Specifies locations in the frames where Amazon Rekognition checks for objects or people. This is an optional parameter for label detection stream processors.
*/
public var regionsOfInterest: List? = null
/**
* ARN of the IAM role that allows access to the stream processor.
*/
public var roleArn: kotlin.String? = null
/**
* Input parameters used in a streaming video analyzed by a stream processor. You can use `FaceSearch` to recognize faces in a streaming video, or you can use `ConnectedHome` to detect labels.
*/
public var settings: aws.sdk.kotlin.services.rekognition.model.StreamProcessorSettings? = null
/**
* Current status of the stream processor.
*/
public var status: aws.sdk.kotlin.services.rekognition.model.StreamProcessorStatus? = null
/**
* Detailed status message about the stream processor.
*/
public var statusMessage: kotlin.String? = null
/**
* ARN of the stream processor.
*/
public var streamProcessorArn: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.rekognition.model.DescribeStreamProcessorResponse) : this() {
this.creationTimestamp = x.creationTimestamp
this.dataSharingPreference = x.dataSharingPreference
this.input = x.input
this.kmsKeyId = x.kmsKeyId
this.lastUpdateTimestamp = x.lastUpdateTimestamp
this.name = x.name
this.notificationChannel = x.notificationChannel
this.output = x.output
this.regionsOfInterest = x.regionsOfInterest
this.roleArn = x.roleArn
this.settings = x.settings
this.status = x.status
this.statusMessage = x.statusMessage
this.streamProcessorArn = x.streamProcessorArn
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.rekognition.model.DescribeStreamProcessorResponse = DescribeStreamProcessorResponse(this)
/**
* construct an [aws.sdk.kotlin.services.rekognition.model.StreamProcessorDataSharingPreference] inside the given [block]
*/
public fun dataSharingPreference(block: aws.sdk.kotlin.services.rekognition.model.StreamProcessorDataSharingPreference.Builder.() -> kotlin.Unit) {
this.dataSharingPreference = aws.sdk.kotlin.services.rekognition.model.StreamProcessorDataSharingPreference.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.rekognition.model.StreamProcessorInput] inside the given [block]
*/
public fun input(block: aws.sdk.kotlin.services.rekognition.model.StreamProcessorInput.Builder.() -> kotlin.Unit) {
this.input = aws.sdk.kotlin.services.rekognition.model.StreamProcessorInput.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.rekognition.model.StreamProcessorNotificationChannel] inside the given [block]
*/
public fun notificationChannel(block: aws.sdk.kotlin.services.rekognition.model.StreamProcessorNotificationChannel.Builder.() -> kotlin.Unit) {
this.notificationChannel = aws.sdk.kotlin.services.rekognition.model.StreamProcessorNotificationChannel.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.rekognition.model.StreamProcessorOutput] inside the given [block]
*/
public fun output(block: aws.sdk.kotlin.services.rekognition.model.StreamProcessorOutput.Builder.() -> kotlin.Unit) {
this.output = aws.sdk.kotlin.services.rekognition.model.StreamProcessorOutput.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.rekognition.model.StreamProcessorSettings] inside the given [block]
*/
public fun settings(block: aws.sdk.kotlin.services.rekognition.model.StreamProcessorSettings.Builder.() -> kotlin.Unit) {
this.settings = aws.sdk.kotlin.services.rekognition.model.StreamProcessorSettings.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}