/** * 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 mediapackagev2 { namespace Model { /** *

The encryption type.

See Also:

AWS * API Reference

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

The encryption method to use.

*/ inline const TsEncryptionMethod& GetTsEncryptionMethod() const{ return m_tsEncryptionMethod; } /** *

The encryption method to use.

*/ inline bool TsEncryptionMethodHasBeenSet() const { return m_tsEncryptionMethodHasBeenSet; } /** *

The encryption method to use.

*/ inline void SetTsEncryptionMethod(const TsEncryptionMethod& value) { m_tsEncryptionMethodHasBeenSet = true; m_tsEncryptionMethod = value; } /** *

The encryption method to use.

*/ inline void SetTsEncryptionMethod(TsEncryptionMethod&& value) { m_tsEncryptionMethodHasBeenSet = true; m_tsEncryptionMethod = std::move(value); } /** *

The encryption method to use.

*/ inline EncryptionMethod& WithTsEncryptionMethod(const TsEncryptionMethod& value) { SetTsEncryptionMethod(value); return *this;} /** *

The encryption method to use.

*/ inline EncryptionMethod& WithTsEncryptionMethod(TsEncryptionMethod&& value) { SetTsEncryptionMethod(std::move(value)); return *this;} /** *

The encryption method to use.

*/ inline const CmafEncryptionMethod& GetCmafEncryptionMethod() const{ return m_cmafEncryptionMethod; } /** *

The encryption method to use.

*/ inline bool CmafEncryptionMethodHasBeenSet() const { return m_cmafEncryptionMethodHasBeenSet; } /** *

The encryption method to use.

*/ inline void SetCmafEncryptionMethod(const CmafEncryptionMethod& value) { m_cmafEncryptionMethodHasBeenSet = true; m_cmafEncryptionMethod = value; } /** *

The encryption method to use.

*/ inline void SetCmafEncryptionMethod(CmafEncryptionMethod&& value) { m_cmafEncryptionMethodHasBeenSet = true; m_cmafEncryptionMethod = std::move(value); } /** *

The encryption method to use.

*/ inline EncryptionMethod& WithCmafEncryptionMethod(const CmafEncryptionMethod& value) { SetCmafEncryptionMethod(value); return *this;} /** *

The encryption method to use.

*/ inline EncryptionMethod& WithCmafEncryptionMethod(CmafEncryptionMethod&& value) { SetCmafEncryptionMethod(std::move(value)); return *this;} private: TsEncryptionMethod m_tsEncryptionMethod; bool m_tsEncryptionMethodHasBeenSet = false; CmafEncryptionMethod m_cmafEncryptionMethod; bool m_cmafEncryptionMethodHasBeenSet = false; }; } // namespace Model } // namespace mediapackagev2 } // namespace Aws