/* * 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 { /// /// Specify one or more Automated ABR rule types. Note: Force include and Allowed renditions /// are mutually exclusive. /// public partial class AutomatedAbrRule { private List _allowedRenditions = new List(); private List _forceIncludeRenditions = new List(); private MinBottomRenditionSize _minBottomRenditionSize; private MinTopRenditionSize _minTopRenditionSize; private RuleType _type; /// /// Gets and sets the property AllowedRenditions. When customer adds the allowed renditions /// rule for auto ABR ladder, they are required to add at leat one rendition to allowedRenditions /// list /// public List AllowedRenditions { get { return this._allowedRenditions; } set { this._allowedRenditions = value; } } // Check to see if AllowedRenditions property is set internal bool IsSetAllowedRenditions() { return this._allowedRenditions != null && this._allowedRenditions.Count > 0; } /// /// Gets and sets the property ForceIncludeRenditions. When customer adds the force include /// renditions rule for auto ABR ladder, they are required to add at leat one rendition /// to forceIncludeRenditions list /// public List ForceIncludeRenditions { get { return this._forceIncludeRenditions; } set { this._forceIncludeRenditions = value; } } // Check to see if ForceIncludeRenditions property is set internal bool IsSetForceIncludeRenditions() { return this._forceIncludeRenditions != null && this._forceIncludeRenditions.Count > 0; } /// /// Gets and sets the property MinBottomRenditionSize. Use Min bottom rendition size to /// specify a minimum size for the lowest resolution in your ABR stack. * The lowest resolution /// in your ABR stack will be equal to or greater than the value that you enter. For example: /// If you specify 640x360 the lowest resolution in your ABR stack will be equal to or /// greater than to 640x360. * If you specify a Min top rendition size rule, the value /// that you specify for Min bottom rendition size must be less than, or equal to, Min /// top rendition size. /// public MinBottomRenditionSize MinBottomRenditionSize { get { return this._minBottomRenditionSize; } set { this._minBottomRenditionSize = value; } } // Check to see if MinBottomRenditionSize property is set internal bool IsSetMinBottomRenditionSize() { return this._minBottomRenditionSize != null; } /// /// Gets and sets the property MinTopRenditionSize. Use Min top rendition size to specify /// a minimum size for the highest resolution in your ABR stack. * The highest resolution /// in your ABR stack will be equal to or greater than the value that you enter. For example: /// If you specify 1280x720 the highest resolution in your ABR stack will be equal to /// or greater than 1280x720. * If you specify a value for Max resolution, the value that /// you specify for Min top rendition size must be less than, or equal to, Max resolution. /// public MinTopRenditionSize MinTopRenditionSize { get { return this._minTopRenditionSize; } set { this._minTopRenditionSize = value; } } // Check to see if MinTopRenditionSize property is set internal bool IsSetMinTopRenditionSize() { return this._minTopRenditionSize != null; } /// /// Gets and sets the property Type. Use Min top rendition size to specify a minimum size /// for the highest resolution in your ABR stack. * The highest resolution in your ABR /// stack will be equal to or greater than the value that you enter. For example: If you /// specify 1280x720 the highest resolution in your ABR stack will be equal to or greater /// than 1280x720. * If you specify a value for Max resolution, the value that you specify /// for Min top rendition size must be less than, or equal to, Max resolution. Use Min /// bottom rendition size to specify a minimum size for the lowest resolution in your /// ABR stack. * The lowest resolution in your ABR stack will be equal to or greater than /// the value that you enter. For example: If you specify 640x360 the lowest resolution /// in your ABR stack will be equal to or greater than to 640x360. * If you specify a /// Min top rendition size rule, the value that you specify for Min bottom rendition size /// must be less than, or equal to, Min top rendition size. Use Force include renditions /// to specify one or more resolutions to include your ABR stack. * (Recommended) To optimize /// automated ABR, specify as few resolutions as possible. * (Required) The number of /// resolutions that you specify must be equal to, or less than, the Max renditions setting. /// * If you specify a Min top rendition size rule, specify at least one resolution that /// is equal to, or greater than, Min top rendition size. * If you specify a Min bottom /// rendition size rule, only specify resolutions that are equal to, or greater than, /// Min bottom rendition size. * If you specify a Force include renditions rule, do not /// specify a separate rule for Allowed renditions. * Note: The ABR stack may include /// other resolutions that you do not specify here, depending on the Max renditions setting. /// Use Allowed renditions to specify a list of possible resolutions in your ABR stack. /// * (Required) The number of resolutions that you specify must be equal to, or greater /// than, the Max renditions setting. * MediaConvert will create an ABR stack exclusively /// from the list of resolutions that you specify. * Some resolutions in the Allowed renditions /// list may not be included, however you can force a resolution to be included by setting /// Required to ENABLED. * You must specify at least one resolution that is greater than /// or equal to any resolutions that you specify in Min top rendition size or Min bottom /// rendition size. * If you specify Allowed renditions, you must not specify a separate /// rule for Force include renditions. /// public RuleType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }