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

A structure that contains the Timestamp, Error, and * ImageContent.

See Also:

AWS * API Reference

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

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline const Aws::Utils::DateTime& GetTimeStamp() const{ return m_timeStamp; } /** *

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline bool TimeStampHasBeenSet() const { return m_timeStampHasBeenSet; } /** *

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline void SetTimeStamp(const Aws::Utils::DateTime& value) { m_timeStampHasBeenSet = true; m_timeStamp = value; } /** *

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline void SetTimeStamp(Aws::Utils::DateTime&& value) { m_timeStampHasBeenSet = true; m_timeStamp = std::move(value); } /** *

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline Image& WithTimeStamp(const Aws::Utils::DateTime& value) { SetTimeStamp(value); return *this;} /** *

An attribute of the Image object that is used to extract an * image from the video stream. This field is used to manage gaps on images or to * better understand the pagination window.

*/ inline Image& WithTimeStamp(Aws::Utils::DateTime&& value) { SetTimeStamp(std::move(value)); return *this;} /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline const ImageError& GetError() const{ return m_error; } /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline void SetError(const ImageError& value) { m_errorHasBeenSet = true; m_error = value; } /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline void SetError(ImageError&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline Image& WithError(const ImageError& value) { SetError(value); return *this;} /** *

The error message shown when the image for the provided timestamp was not * extracted due to a non-tryable error. An error will be returned if:

    *
  • There is no media that exists for the specified * Timestamp.

  • The media for the specified * time does not allow an image to be extracted. In this case the media is audio * only, or the incorrect media has been ingested.

*/ inline Image& WithError(ImageError&& value) { SetError(std::move(value)); return *this;} /** *

An attribute of the Image object that is Base64 encoded.

*/ inline const Aws::String& GetImageContent() const{ return m_imageContent; } /** *

An attribute of the Image object that is Base64 encoded.

*/ inline bool ImageContentHasBeenSet() const { return m_imageContentHasBeenSet; } /** *

An attribute of the Image object that is Base64 encoded.

*/ inline void SetImageContent(const Aws::String& value) { m_imageContentHasBeenSet = true; m_imageContent = value; } /** *

An attribute of the Image object that is Base64 encoded.

*/ inline void SetImageContent(Aws::String&& value) { m_imageContentHasBeenSet = true; m_imageContent = std::move(value); } /** *

An attribute of the Image object that is Base64 encoded.

*/ inline void SetImageContent(const char* value) { m_imageContentHasBeenSet = true; m_imageContent.assign(value); } /** *

An attribute of the Image object that is Base64 encoded.

*/ inline Image& WithImageContent(const Aws::String& value) { SetImageContent(value); return *this;} /** *

An attribute of the Image object that is Base64 encoded.

*/ inline Image& WithImageContent(Aws::String&& value) { SetImageContent(std::move(value)); return *this;} /** *

An attribute of the Image object that is Base64 encoded.

*/ inline Image& WithImageContent(const char* value) { SetImageContent(value); return *this;} private: Aws::Utils::DateTime m_timeStamp; bool m_timeStampHasBeenSet = false; ImageError m_error; bool m_errorHasBeenSet = false; Aws::String m_imageContent; bool m_imageContentHasBeenSet = false; }; } // namespace Model } // namespace KinesisVideoArchivedMedia } // namespace Aws