/* * 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 mediapackagev2-2022-12-25.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.MediaPackageV2.Model { /// /// The parameters for encrypting content. /// public partial class Encryption { private string _constantInitializationVector; private EncryptionMethod _encryptionMethod; private int? _keyRotationIntervalSeconds; private SpekeKeyProvider _spekeKeyProvider; /// /// Gets and sets the property ConstantInitializationVector. /// /// A 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction /// with the key for encrypting content. If you don't specify a value, then MediaPackage /// creates the constant initialization vector (IV). /// /// [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. /// /// The encryption method to use. /// /// [AWSProperty(Required=true)] public EncryptionMethod 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 KeyRotationIntervalSeconds. /// /// The frequency (in seconds) of key changes for live workflows, in which content is /// streamed real time. The service retrieves content keys before the live content begins /// streaming, and then retrieves them as needed over the lifetime of the workflow. By /// default, key rotation is set to 300 seconds (5 minutes), the minimum rotation interval, /// which is equivalent to setting it to 300. If you don't enter an interval, content /// keys aren't rotated. /// /// /// /// The following example setting causes the service to rotate keys every thirty minutes: /// 1800 /// /// [AWSProperty(Min=300, Max=31536000)] public int KeyRotationIntervalSeconds { get { return this._keyRotationIntervalSeconds.GetValueOrDefault(); } set { this._keyRotationIntervalSeconds = value; } } // Check to see if KeyRotationIntervalSeconds property is set internal bool IsSetKeyRotationIntervalSeconds() { return this._keyRotationIntervalSeconds.HasValue; } /// /// Gets and sets the property SpekeKeyProvider. /// /// The parameters for the SPEKE key provider. /// /// [AWSProperty(Required=true)] 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; } } }