/* * 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 compute-optimizer-2019-11-01.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.ComputeOptimizer.Model { /// /// The Amazon ECS service configurations used for recommendations. /// public partial class ServiceConfiguration { private AutoScalingConfiguration _autoScalingConfiguration; private List _containerConfigurations = new List(); private int? _cpu; private int? _memory; private string _taskDefinitionArn; /// /// Gets and sets the property AutoScalingConfiguration. /// /// Describes the Auto Scaling configuration methods for an Amazon ECS service. This /// affects the generated recommendations. For example, if Auto Scaling is configured /// on a service’s CPU, then Compute Optimizer doesn’t generate CPU size recommendations. /// /// /// /// /// The Auto Scaling configuration methods include: /// ///
  • /// /// TARGET_TRACKING_SCALING_CPU — If the Amazon ECS service is configured /// to use target scaling on CPU, Compute Optimizer doesn't generate CPU recommendations. /// ///
  • /// /// TARGET_TRACKING_SCALING_MEMORY — If the Amazon ECS service is configured /// to use target scaling on memory, Compute Optimizer doesn't generate memory recommendations. /// ///
/// /// For more information about step scaling and target scaling, see /// Step scaling policies for Application Auto Scaling and /// Target tracking scaling policies for Application Auto Scaling in the Application /// Auto Scaling User Guide. /// ///
public AutoScalingConfiguration AutoScalingConfiguration { get { return this._autoScalingConfiguration; } set { this._autoScalingConfiguration = value; } } // Check to see if AutoScalingConfiguration property is set internal bool IsSetAutoScalingConfiguration() { return this._autoScalingConfiguration != null; } /// /// Gets and sets the property ContainerConfigurations. /// /// The container configurations within a task of an Amazon ECS service. /// /// public List ContainerConfigurations { get { return this._containerConfigurations; } set { this._containerConfigurations = value; } } // Check to see if ContainerConfigurations property is set internal bool IsSetContainerConfigurations() { return this._containerConfigurations != null && this._containerConfigurations.Count > 0; } /// /// Gets and sets the property Cpu. /// /// The number of CPU units used by the tasks in the Amazon ECS service. /// /// public int Cpu { get { return this._cpu.GetValueOrDefault(); } set { this._cpu = value; } } // Check to see if Cpu property is set internal bool IsSetCpu() { return this._cpu.HasValue; } /// /// Gets and sets the property Memory. /// /// The amount of memory used by the tasks in the Amazon ECS service. /// /// public int Memory { get { return this._memory.GetValueOrDefault(); } set { this._memory = value; } } // Check to see if Memory property is set internal bool IsSetMemory() { return this._memory.HasValue; } /// /// Gets and sets the property TaskDefinitionArn. /// /// The task definition ARN used by the tasks in the Amazon ECS service. /// /// public string TaskDefinitionArn { get { return this._taskDefinitionArn; } set { this._taskDefinitionArn = value; } } // Check to see if TaskDefinitionArn property is set internal bool IsSetTaskDefinitionArn() { return this._taskDefinitionArn != null; } } }