/** * 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 MediaLive { namespace Model { /** * Frame Capture Group Settings

See Also:

AWS * API Reference

*/ class FrameCaptureGroupSettings { public: AWS_MEDIALIVE_API FrameCaptureGroupSettings(); AWS_MEDIALIVE_API FrameCaptureGroupSettings(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIALIVE_API FrameCaptureGroupSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIALIVE_API Aws::Utils::Json::JsonValue Jsonize() const; /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline const OutputLocationRef& GetDestination() const{ return m_destination; } /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline void SetDestination(const OutputLocationRef& value) { m_destinationHasBeenSet = true; m_destination = value; } /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline void SetDestination(OutputLocationRef&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline FrameCaptureGroupSettings& WithDestination(const OutputLocationRef& value) { SetDestination(value); return *this;} /** * The destination for the frame capture files. Either the URI for an Amazon S3 * bucket and object, plus a file name prefix (for example, * s3ssl://sportsDelivery/highlights/20180820/curling-) or the URI for a MediaStore * container, plus a file name prefix (for example, * mediastoressl://sportsDelivery/20180820/curling-). The final file names consist * of the prefix from the destination field (for example, "curling-") + name * modifier + the counter (5 digits, starting from 00001) + extension (which is * always .jpg). For example, curling-low.00001.jpg */ inline FrameCaptureGroupSettings& WithDestination(OutputLocationRef&& value) { SetDestination(std::move(value)); return *this;} /** * Parameters that control interactions with the CDN. */ inline const FrameCaptureCdnSettings& GetFrameCaptureCdnSettings() const{ return m_frameCaptureCdnSettings; } /** * Parameters that control interactions with the CDN. */ inline bool FrameCaptureCdnSettingsHasBeenSet() const { return m_frameCaptureCdnSettingsHasBeenSet; } /** * Parameters that control interactions with the CDN. */ inline void SetFrameCaptureCdnSettings(const FrameCaptureCdnSettings& value) { m_frameCaptureCdnSettingsHasBeenSet = true; m_frameCaptureCdnSettings = value; } /** * Parameters that control interactions with the CDN. */ inline void SetFrameCaptureCdnSettings(FrameCaptureCdnSettings&& value) { m_frameCaptureCdnSettingsHasBeenSet = true; m_frameCaptureCdnSettings = std::move(value); } /** * Parameters that control interactions with the CDN. */ inline FrameCaptureGroupSettings& WithFrameCaptureCdnSettings(const FrameCaptureCdnSettings& value) { SetFrameCaptureCdnSettings(value); return *this;} /** * Parameters that control interactions with the CDN. */ inline FrameCaptureGroupSettings& WithFrameCaptureCdnSettings(FrameCaptureCdnSettings&& value) { SetFrameCaptureCdnSettings(std::move(value)); return *this;} private: OutputLocationRef m_destination; bool m_destinationHasBeenSet = false; FrameCaptureCdnSettings m_frameCaptureCdnSettings; bool m_frameCaptureCdnSettingsHasBeenSet = false; }; } // namespace Model } // namespace MediaLive } // namespace Aws