/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the mediaconvert-2017-08-29.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.MediaConvert.Model { /// /// Settings for HLS encryption /// public partial class HlsEncryptionSettings { private string _constantInitializationVector; private HlsEncryptionType _encryptionMethod; private HlsInitializationVectorInManifest _initializationVectorInManifest; private HlsOfflineEncrypted _offlineEncrypted; private SpekeKeyProvider _spekeKeyProvider; private StaticKeyProvider _staticKeyProvider; private HlsKeyProviderType _type; /// /// Gets and sets the property ConstantInitializationVector. This is a 128-bit, 16-byte /// hex value represented by a 32-character text string. If this parameter is not set /// then the Initialization Vector will follow the segment number by default. /// [AWSProperty(Min=32, Max=32)] public string ConstantInitializationVector { get { return this._constantInitializationVector; } set { this._constantInitializationVector = value; } } // Check to see if ConstantInitializationVector property is set internal bool IsSetConstantInitializationVector() { return this._constantInitializationVector != null; } /// /// Gets and sets the property EncryptionMethod. Encrypts the segments with the given /// encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface /// also disables encryption. /// public HlsEncryptionType EncryptionMethod { get { return this._encryptionMethod; } set { this._encryptionMethod = value; } } // Check to see if EncryptionMethod property is set internal bool IsSetEncryptionMethod() { return this._encryptionMethod != null; } /// /// Gets and sets the property InitializationVectorInManifest. The Initialization Vector /// is a 128-bit number used in conjunction with the key for encrypting blocks. If set /// to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization /// Vector is not in the manifest. /// public HlsInitializationVectorInManifest InitializationVectorInManifest { get { return this._initializationVectorInManifest; } set { this._initializationVectorInManifest = value; } } // Check to see if InitializationVectorInManifest property is set internal bool IsSetInitializationVectorInManifest() { return this._initializationVectorInManifest != null; } /// /// Gets and sets the property OfflineEncrypted. Enable this setting to insert the EXT-X-SESSION-KEY /// element into the master playlist. This allows for offline Apple HLS FairPlay content /// protection. /// public HlsOfflineEncrypted OfflineEncrypted { get { return this._offlineEncrypted; } set { this._offlineEncrypted = value; } } // Check to see if OfflineEncrypted property is set internal bool IsSetOfflineEncrypted() { return this._offlineEncrypted != null; } /// /// Gets and sets the property SpekeKeyProvider. If your output group type is HLS, DASH, /// or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant /// key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings /// instead. /// public SpekeKeyProvider SpekeKeyProvider { get { return this._spekeKeyProvider; } set { this._spekeKeyProvider = value; } } // Check to see if SpekeKeyProvider property is set internal bool IsSetSpekeKeyProvider() { return this._spekeKeyProvider != null; } /// /// Gets and sets the property StaticKeyProvider. Use these settings to set up encryption /// with a static key provider. /// public StaticKeyProvider StaticKeyProvider { get { return this._staticKeyProvider; } set { this._staticKeyProvider = value; } } // Check to see if StaticKeyProvider property is set internal bool IsSetStaticKeyProvider() { return this._staticKeyProvider != null; } /// /// Gets and sets the property Type. Specify whether your DRM encryption key is static /// or from a key provider that follows the SPEKE standard. For more information about /// SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html. /// public HlsKeyProviderType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }