/* * 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 { /// /// Describes an Auto Scaling group recommendation. /// public partial class AutoScalingGroupRecommendation { private string _accountId; private string _autoScalingGroupArn; private string _autoScalingGroupName; private AutoScalingGroupConfiguration _currentConfiguration; private CurrentPerformanceRisk _currentPerformanceRisk; private EffectiveRecommendationPreferences _effectiveRecommendationPreferences; private Finding _finding; private List _inferredWorkloadTypes = new List(); private DateTime? _lastRefreshTimestamp; private double? _lookBackPeriodInDays; private List _recommendationOptions = new List(); private List _utilizationMetrics = new List(); /// /// Gets and sets the property AccountId. /// /// The Amazon Web Services account ID of the Auto Scaling group. /// /// public string AccountId { get { return this._accountId; } set { this._accountId = value; } } // Check to see if AccountId property is set internal bool IsSetAccountId() { return this._accountId != null; } /// /// Gets and sets the property AutoScalingGroupArn. /// /// The Amazon Resource Name (ARN) of the Auto Scaling group. /// /// public string AutoScalingGroupArn { get { return this._autoScalingGroupArn; } set { this._autoScalingGroupArn = value; } } // Check to see if AutoScalingGroupArn property is set internal bool IsSetAutoScalingGroupArn() { return this._autoScalingGroupArn != null; } /// /// Gets and sets the property AutoScalingGroupName. /// /// The name of the Auto Scaling group. /// /// public string AutoScalingGroupName { get { return this._autoScalingGroupName; } set { this._autoScalingGroupName = value; } } // Check to see if AutoScalingGroupName property is set internal bool IsSetAutoScalingGroupName() { return this._autoScalingGroupName != null; } /// /// Gets and sets the property CurrentConfiguration. /// /// An array of objects that describe the current configuration of the Auto Scaling group. /// /// public AutoScalingGroupConfiguration CurrentConfiguration { get { return this._currentConfiguration; } set { this._currentConfiguration = value; } } // Check to see if CurrentConfiguration property is set internal bool IsSetCurrentConfiguration() { return this._currentConfiguration != null; } /// /// Gets and sets the property CurrentPerformanceRisk. /// /// The risk of the current Auto Scaling group not meeting the performance needs of its /// workloads. The higher the risk, the more likely the current Auto Scaling group configuration /// has insufficient capacity and cannot meet workload requirements. /// /// public CurrentPerformanceRisk CurrentPerformanceRisk { get { return this._currentPerformanceRisk; } set { this._currentPerformanceRisk = value; } } // Check to see if CurrentPerformanceRisk property is set internal bool IsSetCurrentPerformanceRisk() { return this._currentPerformanceRisk != null; } /// /// Gets and sets the property EffectiveRecommendationPreferences. /// /// An object that describes the effective recommendation preferences for the Auto Scaling /// group. /// /// public EffectiveRecommendationPreferences EffectiveRecommendationPreferences { get { return this._effectiveRecommendationPreferences; } set { this._effectiveRecommendationPreferences = value; } } // Check to see if EffectiveRecommendationPreferences property is set internal bool IsSetEffectiveRecommendationPreferences() { return this._effectiveRecommendationPreferences != null; } /// /// Gets and sets the property Finding. /// /// The finding classification of the Auto Scaling group. /// /// /// /// Findings for Auto Scaling groups include: /// ///
  • /// /// NotOptimized —An Auto Scaling group is considered not optimized /// when Compute Optimizer identifies a recommendation that can provide better performance /// for your workload. /// ///
  • /// /// Optimized —An Auto Scaling group is considered optimized when /// Compute Optimizer determines that the group is correctly provisioned to run your workload /// based on the chosen instance type. For optimized resources, Compute Optimizer might /// recommend a new generation instance type. /// ///
///
public Finding Finding { get { return this._finding; } set { this._finding = value; } } // Check to see if Finding property is set internal bool IsSetFinding() { return this._finding != null; } /// /// Gets and sets the property InferredWorkloadTypes. /// /// The applications that might be running on the instances in the Auto Scaling group /// as inferred by Compute Optimizer. /// /// /// /// Compute Optimizer can infer if one of the following applications might be running /// on the instances: /// ///
  • /// /// AmazonEmr - Infers that Amazon EMR might be running on the instances. /// ///
  • /// /// ApacheCassandra - Infers that Apache Cassandra might be running on the /// instances. /// ///
  • /// /// ApacheHadoop - Infers that Apache Hadoop might be running on the instances. /// ///
  • /// /// Memcached - Infers that Memcached might be running on the instances. /// ///
  • /// /// NGINX - Infers that NGINX might be running on the instances. /// ///
  • /// /// PostgreSql - Infers that PostgreSQL might be running on the instances. /// ///
  • /// /// Redis - Infers that Redis might be running on the instances. /// ///
  • /// /// Kafka - Infers that Kafka might be running on the instance. /// ///
  • /// /// SQLServer - Infers that SQLServer might be running on the instance. /// ///
///
public List InferredWorkloadTypes { get { return this._inferredWorkloadTypes; } set { this._inferredWorkloadTypes = value; } } // Check to see if InferredWorkloadTypes property is set internal bool IsSetInferredWorkloadTypes() { return this._inferredWorkloadTypes != null && this._inferredWorkloadTypes.Count > 0; } /// /// Gets and sets the property LastRefreshTimestamp. /// /// The timestamp of when the Auto Scaling group recommendation was last generated. /// /// public DateTime LastRefreshTimestamp { get { return this._lastRefreshTimestamp.GetValueOrDefault(); } set { this._lastRefreshTimestamp = value; } } // Check to see if LastRefreshTimestamp property is set internal bool IsSetLastRefreshTimestamp() { return this._lastRefreshTimestamp.HasValue; } /// /// Gets and sets the property LookBackPeriodInDays. /// /// The number of days for which utilization metrics were analyzed for the Auto Scaling /// group. /// /// public double LookBackPeriodInDays { get { return this._lookBackPeriodInDays.GetValueOrDefault(); } set { this._lookBackPeriodInDays = value; } } // Check to see if LookBackPeriodInDays property is set internal bool IsSetLookBackPeriodInDays() { return this._lookBackPeriodInDays.HasValue; } /// /// Gets and sets the property RecommendationOptions. /// /// An array of objects that describe the recommendation options for the Auto Scaling /// group. /// /// public List RecommendationOptions { get { return this._recommendationOptions; } set { this._recommendationOptions = value; } } // Check to see if RecommendationOptions property is set internal bool IsSetRecommendationOptions() { return this._recommendationOptions != null && this._recommendationOptions.Count > 0; } /// /// Gets and sets the property UtilizationMetrics. /// /// An array of objects that describe the utilization metrics of the Auto Scaling group. /// /// public List UtilizationMetrics { get { return this._utilizationMetrics; } set { this._utilizationMetrics = value; } } // Check to see if UtilizationMetrics property is set internal bool IsSetUtilizationMetrics() { return this._utilizationMetrics != null && this._utilizationMetrics.Count > 0; } } }