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

The HLS content protection settings, if any, that you want Elastic Transcoder * to apply to your output files.

See Also:

AWS * API Reference

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

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline const Aws::String& GetMethod() const{ return m_method; } /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; } /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline void SetMethod(const Aws::String& value) { m_methodHasBeenSet = true; m_method = value; } /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline void SetMethod(Aws::String&& value) { m_methodHasBeenSet = true; m_method = std::move(value); } /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline void SetMethod(const char* value) { m_methodHasBeenSet = true; m_method.assign(value); } /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline HlsContentProtection& WithMethod(const Aws::String& value) { SetMethod(value); return *this;} /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline HlsContentProtection& WithMethod(Aws::String&& value) { SetMethod(std::move(value)); return *this;} /** *

The content protection method for your output. The only valid value is: * aes-128.

This value is written into the method attribute of * the EXT-X-KEY metadata tag in the output playlist.

*/ inline HlsContentProtection& WithMethod(const char* value) { SetMethod(value); return *this;} /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline const Aws::String& GetKey() const{ return m_key; } /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline HlsContentProtection& WithKey(const Aws::String& value) { SetKey(value); return *this;} /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline HlsContentProtection& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} /** *

If you want Elastic Transcoder to generate a key for you, leave this field * blank.

If you choose to supply your own key, you must encrypt the key by * using AWS KMS. The key must be base64-encoded, and it must be one of the * following bit lengths before being base64-encoded:

128, * 192, or 256.

*/ inline HlsContentProtection& WithKey(const char* value) { SetKey(value); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline const Aws::String& GetKeyMd5() const{ return m_keyMd5; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline bool KeyMd5HasBeenSet() const { return m_keyMd5HasBeenSet; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline void SetKeyMd5(const Aws::String& value) { m_keyMd5HasBeenSet = true; m_keyMd5 = value; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline void SetKeyMd5(Aws::String&& value) { m_keyMd5HasBeenSet = true; m_keyMd5 = std::move(value); } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline void SetKeyMd5(const char* value) { m_keyMd5HasBeenSet = true; m_keyMd5.assign(value); } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline HlsContentProtection& WithKeyMd5(const Aws::String& value) { SetKeyMd5(value); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline HlsContentProtection& WithKeyMd5(Aws::String&& value) { SetKeyMd5(std::move(value)); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The MD5 digest of the key that you want Elastic Transcoder * to use to encrypt your output file, and that you want Elastic Transcoder to use * as a checksum to make sure your key was not corrupted in transit. The key MD5 * must be base64-encoded, and it must be exactly 16 bytes before being base64- * encoded.

*/ inline HlsContentProtection& WithKeyMd5(const char* value) { SetKeyMd5(value); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline const Aws::String& GetInitializationVector() const{ return m_initializationVector; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline bool InitializationVectorHasBeenSet() const { return m_initializationVectorHasBeenSet; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline void SetInitializationVector(const Aws::String& value) { m_initializationVectorHasBeenSet = true; m_initializationVector = value; } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline void SetInitializationVector(Aws::String&& value) { m_initializationVectorHasBeenSet = true; m_initializationVector = std::move(value); } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline void SetInitializationVector(const char* value) { m_initializationVectorHasBeenSet = true; m_initializationVector.assign(value); } /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline HlsContentProtection& WithInitializationVector(const Aws::String& value) { SetInitializationVector(value); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline HlsContentProtection& WithInitializationVector(Aws::String&& value) { SetInitializationVector(std::move(value)); return *this;} /** *

If Elastic Transcoder is generating your key for you, you must leave this * field blank.

The series of random bits created by a random bit generator, * unique for every encryption operation, that you want Elastic Transcoder to use * to encrypt your output files. The initialization vector must be base64-encoded, * and it must be exactly 16 bytes before being base64-encoded.

*/ inline HlsContentProtection& WithInitializationVector(const char* value) { SetInitializationVector(value); return *this;} /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline const Aws::String& GetLicenseAcquisitionUrl() const{ return m_licenseAcquisitionUrl; } /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline bool LicenseAcquisitionUrlHasBeenSet() const { return m_licenseAcquisitionUrlHasBeenSet; } /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline void SetLicenseAcquisitionUrl(const Aws::String& value) { m_licenseAcquisitionUrlHasBeenSet = true; m_licenseAcquisitionUrl = value; } /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline void SetLicenseAcquisitionUrl(Aws::String&& value) { m_licenseAcquisitionUrlHasBeenSet = true; m_licenseAcquisitionUrl = std::move(value); } /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline void SetLicenseAcquisitionUrl(const char* value) { m_licenseAcquisitionUrlHasBeenSet = true; m_licenseAcquisitionUrl.assign(value); } /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline HlsContentProtection& WithLicenseAcquisitionUrl(const Aws::String& value) { SetLicenseAcquisitionUrl(value); return *this;} /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline HlsContentProtection& WithLicenseAcquisitionUrl(Aws::String&& value) { SetLicenseAcquisitionUrl(std::move(value)); return *this;} /** *

The location of the license key required to decrypt your HLS playlist. The * URL must be an absolute path, and is referenced in the URI attribute of the * EXT-X-KEY metadata tag in the playlist file.

*/ inline HlsContentProtection& WithLicenseAcquisitionUrl(const char* value) { SetLicenseAcquisitionUrl(value); return *this;} /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline const Aws::String& GetKeyStoragePolicy() const{ return m_keyStoragePolicy; } /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline bool KeyStoragePolicyHasBeenSet() const { return m_keyStoragePolicyHasBeenSet; } /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline void SetKeyStoragePolicy(const Aws::String& value) { m_keyStoragePolicyHasBeenSet = true; m_keyStoragePolicy = value; } /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline void SetKeyStoragePolicy(Aws::String&& value) { m_keyStoragePolicyHasBeenSet = true; m_keyStoragePolicy = std::move(value); } /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline void SetKeyStoragePolicy(const char* value) { m_keyStoragePolicyHasBeenSet = true; m_keyStoragePolicy.assign(value); } /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline HlsContentProtection& WithKeyStoragePolicy(const Aws::String& value) { SetKeyStoragePolicy(value); return *this;} /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline HlsContentProtection& WithKeyStoragePolicy(Aws::String&& value) { SetKeyStoragePolicy(std::move(value)); return *this;} /** *

Specify whether you want Elastic Transcoder to write your HLS license key to * an Amazon S3 bucket. If you choose WithVariantPlaylists, * LicenseAcquisitionUrl must be left blank and Elastic Transcoder * writes your data key into the same bucket as the associated playlist.

*/ inline HlsContentProtection& WithKeyStoragePolicy(const char* value) { SetKeyStoragePolicy(value); return *this;} private: Aws::String m_method; bool m_methodHasBeenSet = false; Aws::String m_key; bool m_keyHasBeenSet = false; Aws::String m_keyMd5; bool m_keyMd5HasBeenSet = false; Aws::String m_initializationVector; bool m_initializationVectorHasBeenSet = false; Aws::String m_licenseAcquisitionUrl; bool m_licenseAcquisitionUrlHasBeenSet = false; Aws::String m_keyStoragePolicy; bool m_keyStoragePolicyHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws