/* * 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 ExportAutoScalingGroupRecommendations operation. /// Exports optimization recommendations for Auto Scaling groups. /// /// /// /// Recommendations are exported in a comma-separated values (.csv) file, and its metadata /// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple /// Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting /// Recommendations in the Compute Optimizer User Guide. /// /// /// /// You can have only one Auto Scaling group export job in progress per Amazon Web Services /// Region. /// /// public partial class ExportAutoScalingGroupRecommendationsRequest : AmazonComputeOptimizerRequest { private List _accountIds = new List(); private List _fieldsToExport = new List(); private FileFormat _fileFormat; private List _filters = new List(); private bool? _includeMemberAccounts; private RecommendationPreferences _recommendationPreferences; private S3DestinationConfig _s3DestinationConfig; /// /// Gets and sets the property AccountIds. /// /// The IDs of the Amazon Web Services accounts for which to export Auto Scaling group /// recommendations. /// /// /// /// If your account is the management account of an organization, use this parameter to /// specify the member account for which you want to export recommendations. /// /// /// /// This parameter cannot be specified together with the include member accounts parameter. /// The parameters are mutually exclusive. /// /// /// /// Recommendations for member accounts are not included in the export if this parameter, /// or the include member accounts parameter, is omitted. /// /// /// /// You can specify multiple account IDs per request. /// /// public List AccountIds { get { return this._accountIds; } set { this._accountIds = value; } } // Check to see if AccountIds property is set internal bool IsSetAccountIds() { return this._accountIds != null && this._accountIds.Count > 0; } /// /// Gets and sets the property FieldsToExport. /// /// The recommendations data to include in the export file. For more information about /// the fields that can be exported, see Exported /// files in the Compute Optimizer User Guide. /// /// public List FieldsToExport { get { return this._fieldsToExport; } set { this._fieldsToExport = value; } } // Check to see if FieldsToExport property is set internal bool IsSetFieldsToExport() { return this._fieldsToExport != null && this._fieldsToExport.Count > 0; } /// /// Gets and sets the property FileFormat. /// /// The format of the export file. /// /// /// /// The only export file format currently supported is Csv. /// /// public FileFormat FileFormat { get { return this._fileFormat; } set { this._fileFormat = value; } } // Check to see if FileFormat property is set internal bool IsSetFileFormat() { return this._fileFormat != null; } /// /// Gets and sets the property Filters. /// /// An array of objects to specify a filter that exports a more specific set of Auto Scaling /// group recommendations. /// /// public List Filters { get { return this._filters; } set { this._filters = value; } } // Check to see if Filters property is set internal bool IsSetFilters() { return this._filters != null && this._filters.Count > 0; } /// /// Gets and sets the property IncludeMemberAccounts. /// /// Indicates whether to include recommendations for resources in all member accounts /// of the organization if your account is the management account of an organization. /// /// /// /// The member accounts must also be opted in to Compute Optimizer, and trusted access /// for Compute Optimizer must be enabled in the organization account. For more information, /// see Compute /// Optimizer and Amazon Web Services Organizations trusted access in the Compute /// Optimizer User Guide. /// /// /// /// Recommendations for member accounts of the organization are not included in the export /// file if this parameter is omitted. /// /// /// /// This parameter cannot be specified together with the account IDs parameter. The parameters /// are mutually exclusive. /// /// /// /// Recommendations for member accounts are not included in the export if this parameter, /// or the account IDs parameter, is omitted. /// /// public bool IncludeMemberAccounts { get { return this._includeMemberAccounts.GetValueOrDefault(); } set { this._includeMemberAccounts = value; } } // Check to see if IncludeMemberAccounts property is set internal bool IsSetIncludeMemberAccounts() { return this._includeMemberAccounts.HasValue; } /// /// Gets and sets the property RecommendationPreferences. /// /// An object to specify the preferences for the Auto Scaling group recommendations to /// export. /// /// public RecommendationPreferences RecommendationPreferences { get { return this._recommendationPreferences; } set { this._recommendationPreferences = value; } } // Check to see if RecommendationPreferences property is set internal bool IsSetRecommendationPreferences() { return this._recommendationPreferences != null; } /// /// Gets and sets the property S3DestinationConfig. /// /// An object to specify the destination Amazon Simple Storage Service (Amazon S3) bucket /// name and key prefix for the export job. /// /// /// /// You must create the destination Amazon S3 bucket for your recommendations export before /// you create the export job. Compute Optimizer does not create the S3 bucket for you. /// After you create the S3 bucket, ensure that it has the required permissions policy /// to allow Compute Optimizer to write the export file to it. If you plan to specify /// an object prefix when you create the export job, you must include the object prefix /// in the policy that you add to the S3 bucket. For more information, see Amazon /// S3 Bucket Policy for Compute Optimizer in the Compute Optimizer User Guide. /// /// [AWSProperty(Required=true)] public S3DestinationConfig S3DestinationConfig { get { return this._s3DestinationConfig; } set { this._s3DestinationConfig = value; } } // Check to see if S3DestinationConfig property is set internal bool IsSetS3DestinationConfig() { return this._s3DestinationConfig != null; } } }