/*
* 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 elastictranscoder-2012-09-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.ElasticTranscoder.Model
{
///
/// The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply to the
/// output files associated with this playlist.
///
///
///
/// PlayReady DRM encrypts your media files using aes-ctr
encryption.
///
///
///
/// If you use DRM for an HLSv3
playlist, your outputs must have a master
/// playlist.
///
///
public partial class PlayReadyDrm
{
private string _format;
private string _initializationVector;
private string _key;
private string _keyId;
private string _keyMd5;
private string _licenseAcquisitionUrl;
///
/// Gets and sets the property Format.
///
/// The type of DRM, if any, that you want Elastic Transcoder to apply to the output files
/// associated with this playlist.
///
///
public string Format
{
get { return this._format; }
set { this._format = value; }
}
// Check to see if Format property is set
internal bool IsSetFormat()
{
return this._format != null;
}
///
/// Gets and sets the property InitializationVector.
///
/// 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 files. The initialization
/// vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded.
/// If no initialization vector is provided, Elastic Transcoder generates one for you.
///
///
[AWSProperty(Min=0, Max=255)]
public string InitializationVector
{
get { return this._initializationVector; }
set { this._initializationVector = value; }
}
// Check to see if InitializationVector property is set
internal bool IsSetInitializationVector()
{
return this._initializationVector != null;
}
///
/// Gets and sets the property Key.
///
/// The DRM key for your file, provided by your DRM license provider. The key must be
/// base64-encoded, and it must be one of the following bit lengths before being base64-encoded:
///
///
///
/// 128
, 192
, or 256
.
///
///
///
/// The key must also be encrypted by using AWS KMS.
///
///
public string Key
{
get { return this._key; }
set { this._key = value; }
}
// Check to see if Key property is set
internal bool IsSetKey()
{
return this._key != null;
}
///
/// Gets and sets the property KeyId.
///
/// The ID for your DRM key, so that your DRM license provider knows which key to provide.
///
///
///
/// The key ID must be provided in big endian, and Elastic Transcoder converts it to little
/// endian before inserting it into the PlayReady DRM headers. If you are unsure whether
/// your license server provides your key ID in big or little endian, check with your
/// DRM provider.
///
///
public string KeyId
{
get { return this._keyId; }
set { this._keyId = value; }
}
// Check to see if KeyId property is set
internal bool IsSetKeyId()
{
return this._keyId != null;
}
///
/// Gets and sets the property KeyMd5.
///
/// The MD5 digest of the key used for DRM on your 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.
///
///
public string KeyMd5
{
get { return this._keyMd5; }
set { this._keyMd5 = value; }
}
// Check to see if KeyMd5 property is set
internal bool IsSetKeyMd5()
{
return this._keyMd5 != null;
}
///
/// Gets and sets the property LicenseAcquisitionUrl.
///
/// The location of the license key required to play DRM content. The URL must be an absolute
/// path, and is referenced by the PlayReady header. The PlayReady header is referenced
/// in the protection header of the client manifest for Smooth Streaming outputs, and
/// in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example
/// URL looks like this: https://www.example.com/exampleKey/
///
///
[AWSProperty(Min=1, Max=512)]
public string LicenseAcquisitionUrl
{
get { return this._licenseAcquisitionUrl; }
set { this._licenseAcquisitionUrl = value; }
}
// Check to see if LicenseAcquisitionUrl property is set
internal bool IsSetLicenseAcquisitionUrl()
{
return this._licenseAcquisitionUrl != null;
}
}
}