/* * 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 { /// /// Container for the parameters to the PutRecommendationPreferences operation. /// Creates a new recommendation preference or updates an existing recommendation preference, /// such as enhanced infrastructure metrics. /// /// /// /// For more information, see Activating /// enhanced infrastructure metrics in the Compute Optimizer User Guide. /// /// public partial class PutRecommendationPreferencesRequest : AmazonComputeOptimizerRequest { private EnhancedInfrastructureMetrics _enhancedInfrastructureMetrics; private ExternalMetricsPreference _externalMetricsPreference; private InferredWorkloadTypesPreference _inferredWorkloadTypes; private ResourceType _resourceType; private Scope _scope; /// /// Gets and sets the property EnhancedInfrastructureMetrics. /// /// The status of the enhanced infrastructure metrics recommendation preference to create /// or update. /// /// /// /// Specify the Active status to activate the preference, or specify Inactive /// to deactivate the preference. /// /// /// /// For more information, see Enhanced /// infrastructure metrics in the Compute Optimizer User Guide. /// /// public EnhancedInfrastructureMetrics EnhancedInfrastructureMetrics { get { return this._enhancedInfrastructureMetrics; } set { this._enhancedInfrastructureMetrics = value; } } // Check to see if EnhancedInfrastructureMetrics property is set internal bool IsSetEnhancedInfrastructureMetrics() { return this._enhancedInfrastructureMetrics != null; } /// /// Gets and sets the property ExternalMetricsPreference. /// /// The provider of the external metrics recommendation preference to create or update. /// /// /// /// Specify a valid provider in the source field to activate the preference. /// To delete this preference, see the DeleteRecommendationPreferences action. /// /// /// /// This preference can only be set for the Ec2Instance resource type. /// /// /// /// For more information, see External /// metrics ingestion in the Compute Optimizer User Guide. /// /// public ExternalMetricsPreference ExternalMetricsPreference { get { return this._externalMetricsPreference; } set { this._externalMetricsPreference = value; } } // Check to see if ExternalMetricsPreference property is set internal bool IsSetExternalMetricsPreference() { return this._externalMetricsPreference != null; } /// /// Gets and sets the property InferredWorkloadTypes. /// /// The status of the inferred workload types recommendation preference to create or update. /// /// /// /// The inferred workload type feature is active by default. To deactivate it, create /// a recommendation preference. /// /// /// /// Specify the Inactive status to deactivate the feature, or specify Active /// to activate it. /// /// /// /// For more information, see Inferred /// workload types in the Compute Optimizer User Guide. /// /// public InferredWorkloadTypesPreference InferredWorkloadTypes { get { return this._inferredWorkloadTypes; } set { this._inferredWorkloadTypes = value; } } // Check to see if InferredWorkloadTypes property is set internal bool IsSetInferredWorkloadTypes() { return this._inferredWorkloadTypes != null; } /// /// Gets and sets the property ResourceType. /// /// The target resource type of the recommendation preference to create. /// /// /// /// The Ec2Instance option encompasses standalone instances and instances /// that are part of Auto Scaling groups. The AutoScalingGroup option encompasses /// only instances that are part of an Auto Scaling group. /// /// /// /// The valid values for this parameter are Ec2Instance and AutoScalingGroup. /// /// /// [AWSProperty(Required=true)] public ResourceType ResourceType { get { return this._resourceType; } set { this._resourceType = value; } } // Check to see if ResourceType property is set internal bool IsSetResourceType() { return this._resourceType != null; } /// /// Gets and sets the property Scope. /// /// An object that describes the scope of the recommendation preference to create. /// /// /// /// You can create recommendation preferences at the organization level (for management /// accounts of an organization only), account level, and resource level. For more information, /// see Activating /// enhanced infrastructure metrics in the Compute Optimizer User Guide. /// /// /// /// You cannot create recommendation preferences for Auto Scaling groups at the organization /// and account levels. You can create recommendation preferences for Auto Scaling groups /// only at the resource level by specifying a scope name of ResourceArn /// and a scope value of the Auto Scaling group Amazon Resource Name (ARN). This will /// configure the preference for all instances that are part of the specified Auto Scaling /// group. You also cannot create recommendation preferences at the resource level for /// instances that are part of an Auto Scaling group. You can create recommendation preferences /// at the resource level only for standalone instances. /// /// /// public Scope Scope { get { return this._scope; } set { this._scope = value; } } // Check to see if Scope property is set internal bool IsSetScope() { return this._scope != null; } } }