/** * 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 MediaPackageVod { namespace Model { /** * A Microsoft Smooth Streaming (MSS) PackagingConfiguration.

See Also:

* AWS * API Reference

*/ class MssPackage { public: AWS_MEDIAPACKAGEVOD_API MssPackage(); AWS_MEDIAPACKAGEVOD_API MssPackage(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIAPACKAGEVOD_API MssPackage& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIAPACKAGEVOD_API Aws::Utils::Json::JsonValue Jsonize() const; inline const MssEncryption& GetEncryption() const{ return m_encryption; } inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; } inline void SetEncryption(const MssEncryption& value) { m_encryptionHasBeenSet = true; m_encryption = value; } inline void SetEncryption(MssEncryption&& value) { m_encryptionHasBeenSet = true; m_encryption = std::move(value); } inline MssPackage& WithEncryption(const MssEncryption& value) { SetEncryption(value); return *this;} inline MssPackage& WithEncryption(MssEncryption&& value) { SetEncryption(std::move(value)); return *this;} /** * A list of MSS manifest configurations. */ inline const Aws::Vector& GetMssManifests() const{ return m_mssManifests; } /** * A list of MSS manifest configurations. */ inline bool MssManifestsHasBeenSet() const { return m_mssManifestsHasBeenSet; } /** * A list of MSS manifest configurations. */ inline void SetMssManifests(const Aws::Vector& value) { m_mssManifestsHasBeenSet = true; m_mssManifests = value; } /** * A list of MSS manifest configurations. */ inline void SetMssManifests(Aws::Vector&& value) { m_mssManifestsHasBeenSet = true; m_mssManifests = std::move(value); } /** * A list of MSS manifest configurations. */ inline MssPackage& WithMssManifests(const Aws::Vector& value) { SetMssManifests(value); return *this;} /** * A list of MSS manifest configurations. */ inline MssPackage& WithMssManifests(Aws::Vector&& value) { SetMssManifests(std::move(value)); return *this;} /** * A list of MSS manifest configurations. */ inline MssPackage& AddMssManifests(const MssManifest& value) { m_mssManifestsHasBeenSet = true; m_mssManifests.push_back(value); return *this; } /** * A list of MSS manifest configurations. */ inline MssPackage& AddMssManifests(MssManifest&& value) { m_mssManifestsHasBeenSet = true; m_mssManifests.push_back(std::move(value)); return *this; } /** * The duration (in seconds) of each segment. */ inline int GetSegmentDurationSeconds() const{ return m_segmentDurationSeconds; } /** * The duration (in seconds) of each segment. */ inline bool SegmentDurationSecondsHasBeenSet() const { return m_segmentDurationSecondsHasBeenSet; } /** * The duration (in seconds) of each segment. */ inline void SetSegmentDurationSeconds(int value) { m_segmentDurationSecondsHasBeenSet = true; m_segmentDurationSeconds = value; } /** * The duration (in seconds) of each segment. */ inline MssPackage& WithSegmentDurationSeconds(int value) { SetSegmentDurationSeconds(value); return *this;} private: MssEncryption m_encryption; bool m_encryptionHasBeenSet = false; Aws::Vector m_mssManifests; bool m_mssManifestsHasBeenSet = false; int m_segmentDurationSeconds; bool m_segmentDurationSecondsHasBeenSet = false; }; } // namespace Model } // namespace MediaPackageVod } // namespace Aws