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

Represents a segment of video or other time-delimited data.

See * Also:

AWS * API Reference

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

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 Fragment& 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 Fragment& 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 Fragment& WithFragmentNumber(const char* value) { SetFragmentNumber(value); return *this;} /** *

The total fragment size, including information about the fragment and * contained media data.

*/ inline long long GetFragmentSizeInBytes() const{ return m_fragmentSizeInBytes; } /** *

The total fragment size, including information about the fragment and * contained media data.

*/ inline bool FragmentSizeInBytesHasBeenSet() const { return m_fragmentSizeInBytesHasBeenSet; } /** *

The total fragment size, including information about the fragment and * contained media data.

*/ inline void SetFragmentSizeInBytes(long long value) { m_fragmentSizeInBytesHasBeenSet = true; m_fragmentSizeInBytes = value; } /** *

The total fragment size, including information about the fragment and * contained media data.

*/ inline Fragment& WithFragmentSizeInBytes(long long value) { SetFragmentSizeInBytes(value); return *this;} /** *

The timestamp from the producer corresponding to the fragment.

*/ inline const Aws::Utils::DateTime& GetProducerTimestamp() const{ return m_producerTimestamp; } /** *

The timestamp from the producer corresponding to the fragment.

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

The timestamp from the producer corresponding to the fragment.

*/ inline void SetProducerTimestamp(const Aws::Utils::DateTime& value) { m_producerTimestampHasBeenSet = true; m_producerTimestamp = value; } /** *

The timestamp from the producer corresponding to the fragment.

*/ inline void SetProducerTimestamp(Aws::Utils::DateTime&& value) { m_producerTimestampHasBeenSet = true; m_producerTimestamp = std::move(value); } /** *

The timestamp from the producer corresponding to the fragment.

*/ inline Fragment& WithProducerTimestamp(const Aws::Utils::DateTime& value) { SetProducerTimestamp(value); return *this;} /** *

The timestamp from the producer corresponding to the fragment.

*/ inline Fragment& WithProducerTimestamp(Aws::Utils::DateTime&& value) { SetProducerTimestamp(std::move(value)); return *this;} /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline const Aws::Utils::DateTime& GetServerTimestamp() const{ return m_serverTimestamp; } /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline bool ServerTimestampHasBeenSet() const { return m_serverTimestampHasBeenSet; } /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline void SetServerTimestamp(const Aws::Utils::DateTime& value) { m_serverTimestampHasBeenSet = true; m_serverTimestamp = value; } /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline void SetServerTimestamp(Aws::Utils::DateTime&& value) { m_serverTimestampHasBeenSet = true; m_serverTimestamp = std::move(value); } /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline Fragment& WithServerTimestamp(const Aws::Utils::DateTime& value) { SetServerTimestamp(value); return *this;} /** *

The timestamp from the AWS server corresponding to the fragment.

*/ inline Fragment& WithServerTimestamp(Aws::Utils::DateTime&& value) { SetServerTimestamp(std::move(value)); return *this;} /** *

The playback duration or other time value associated with the fragment.

*/ inline long long GetFragmentLengthInMilliseconds() const{ return m_fragmentLengthInMilliseconds; } /** *

The playback duration or other time value associated with the fragment.

*/ inline bool FragmentLengthInMillisecondsHasBeenSet() const { return m_fragmentLengthInMillisecondsHasBeenSet; } /** *

The playback duration or other time value associated with the fragment.

*/ inline void SetFragmentLengthInMilliseconds(long long value) { m_fragmentLengthInMillisecondsHasBeenSet = true; m_fragmentLengthInMilliseconds = value; } /** *

The playback duration or other time value associated with the fragment.

*/ inline Fragment& WithFragmentLengthInMilliseconds(long long value) { SetFragmentLengthInMilliseconds(value); return *this;} private: Aws::String m_fragmentNumber; bool m_fragmentNumberHasBeenSet = false; long long m_fragmentSizeInBytes; bool m_fragmentSizeInBytesHasBeenSet = false; Aws::Utils::DateTime m_producerTimestamp; bool m_producerTimestampHasBeenSet = false; Aws::Utils::DateTime m_serverTimestamp; bool m_serverTimestampHasBeenSet = false; long long m_fragmentLengthInMilliseconds; bool m_fragmentLengthInMillisecondsHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideoArchivedMedia } // namespace Aws