/* * 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 Amazon Elastic Block Store (Amazon EBS) volume recommendation. /// public partial class VolumeRecommendation { private string _accountId; private VolumeConfiguration _currentConfiguration; private CurrentPerformanceRisk _currentPerformanceRisk; private EBSFinding _finding; private DateTime? _lastRefreshTimestamp; private double? _lookBackPeriodInDays; private List _tags = new List(); private List _utilizationMetrics = new List(); private string _volumeArn; private List _volumeRecommendationOptions = new List(); /// /// Gets and sets the property AccountId. /// /// The Amazon Web Services account ID of the volume. /// /// 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 CurrentConfiguration. /// /// An array of objects that describe the current configuration of the volume. /// /// public VolumeConfiguration 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 EBS volume not meeting the performance needs of its workloads. /// The higher the risk, the more likely the current EBS volume doesn't have sufficient /// capacity. /// /// 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 Finding. /// /// The finding classification of the volume. /// /// /// /// Findings for volumes include: /// ///
  • /// /// NotOptimized —A volume is considered not optimized when Compute /// Optimizer identifies a recommendation that can provide better performance for your /// workload. /// ///
  • /// /// Optimized —An volume is considered optimized when Compute Optimizer /// determines that the volume is correctly provisioned to run your workload based on /// the chosen volume type. For optimized resources, Compute Optimizer might recommend /// a new generation volume type. /// ///
///
public EBSFinding 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 LastRefreshTimestamp. /// /// The timestamp of when the volume 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 volume. /// /// 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 Tags. /// /// A list of tags assigned to your Amazon EBS volume recommendations. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property UtilizationMetrics. /// /// An array of objects that describe the utilization metrics of the volume. /// /// 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; } /// /// Gets and sets the property VolumeArn. /// /// The Amazon Resource Name (ARN) of the current volume. /// /// public string VolumeArn { get { return this._volumeArn; } set { this._volumeArn = value; } } // Check to see if VolumeArn property is set internal bool IsSetVolumeArn() { return this._volumeArn != null; } /// /// Gets and sets the property VolumeRecommendationOptions. /// /// An array of objects that describe the recommendation options for the volume. /// /// public List VolumeRecommendationOptions { get { return this._volumeRecommendationOptions; } set { this._volumeRecommendationOptions = value; } } // Check to see if VolumeRecommendationOptions property is set internal bool IsSetVolumeRecommendationOptions() { return this._volumeRecommendationOptions != null && this._volumeRecommendationOptions.Count > 0; } } }