/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Rekognition { namespace Model { /** *

Specifies the starting point in a Kinesis stream to start processing. You can * use the producer timestamp or the fragment number. One of either producer * timestamp or fragment number is required. If you use the producer timestamp, you * must put the time in milliseconds. For more information about fragment numbers, * see Fragment. *

See Also:

AWS * API Reference

*/ class KinesisVideoStreamStartSelector { public: AWS_REKOGNITION_API KinesisVideoStreamStartSelector(); AWS_REKOGNITION_API KinesisVideoStreamStartSelector(Aws::Utils::Json::JsonView jsonValue); AWS_REKOGNITION_API KinesisVideoStreamStartSelector& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_REKOGNITION_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The timestamp from the producer corresponding to the fragment, in * milliseconds, expressed in unix time format.

*/ inline long long GetProducerTimestamp() const{ return m_producerTimestamp; } /** *

The timestamp from the producer corresponding to the fragment, in * milliseconds, expressed in unix time format.

*/ inline bool ProducerTimestampHasBeenSet() const { return m_producerTimestampHasBeenSet; } /** *

The timestamp from the producer corresponding to the fragment, in * milliseconds, expressed in unix time format.

*/ inline void SetProducerTimestamp(long long value) { m_producerTimestampHasBeenSet = true; m_producerTimestamp = value; } /** *

The timestamp from the producer corresponding to the fragment, in * milliseconds, expressed in unix time format.

*/ inline KinesisVideoStreamStartSelector& WithProducerTimestamp(long long value) { SetProducerTimestamp(value); return *this;} /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline const Aws::String& GetFragmentNumber() const{ return m_fragmentNumber; } /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline bool FragmentNumberHasBeenSet() const { return m_fragmentNumberHasBeenSet; } /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline void SetFragmentNumber(const Aws::String& value) { m_fragmentNumberHasBeenSet = true; m_fragmentNumber = value; } /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline void SetFragmentNumber(Aws::String&& value) { m_fragmentNumberHasBeenSet = true; m_fragmentNumber = std::move(value); } /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline void SetFragmentNumber(const char* value) { m_fragmentNumberHasBeenSet = true; m_fragmentNumber.assign(value); } /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline KinesisVideoStreamStartSelector& WithFragmentNumber(const Aws::String& value) { SetFragmentNumber(value); return *this;} /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline KinesisVideoStreamStartSelector& WithFragmentNumber(Aws::String&& value) { SetFragmentNumber(std::move(value)); return *this;} /** *

The unique identifier of the fragment. This value monotonically increases * based on the ingestion order.

*/ inline KinesisVideoStreamStartSelector& WithFragmentNumber(const char* value) { SetFragmentNumber(value); return *this;} private: long long m_producerTimestamp; bool m_producerTimestampHasBeenSet = false; Aws::String m_fragmentNumber; bool m_fragmentNumberHasBeenSet = false; }; } // namespace Model } // namespace Rekognition } // namespace Aws