/*
* 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 ExportEBSVolumeRecommendations operation.
/// Exports optimization recommendations for Amazon EBS volumes.
///
///
///
/// 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 Amazon EBS volume export job in progress per Amazon Web Services
/// Region.
///
///
public partial class ExportEBSVolumeRecommendationsRequest : AmazonComputeOptimizerRequest
{
private List _accountIds = new List();
private List _fieldsToExport = new List();
private FileFormat _fileFormat;
private List _filters = new List();
private bool? _includeMemberAccounts;
private S3DestinationConfig _s3DestinationConfig;
///
/// Gets and sets the property AccountIds.
///
/// The IDs of the Amazon Web Services accounts for which to export Amazon EBS volume
/// 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 Amazon
/// EBS volume 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 S3DestinationConfig.
///
[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;
}
}
}