/*
* 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 config-2014-11-12.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.ConfigService.Model
{
///
/// Container for the parameters to the PutConfigurationAggregator operation.
/// Creates and updates the configuration aggregator with the selected source accounts
/// and regions. The source account can be individual account(s) or an organization.
///
///
///
/// accountIds
that are passed will be replaced with existing accounts.
/// If you want to add additional accounts into the aggregator, call DescribeConfigurationAggregators
/// to get the previous accounts and then append new ones.
///
///
///
/// Config should be enabled in source accounts and regions you want to aggregate.
///
///
///
/// If your source type is an organization, you must be signed in to the management account
/// or a registered delegated administrator and all the features must be enabled in your
/// organization. If the caller is a management account, Config calls EnableAwsServiceAccess
/// API to enable integration between Config and Organizations. If the caller is a registered
/// delegated administrator, Config calls ListDelegatedAdministrators
API
/// to verify whether the caller is a valid delegated administrator.
///
///
///
/// To register a delegated administrator, see Register
/// a Delegated Administrator in the Config developer guide.
///
///
///
/// PutConfigurationAggregator
is an idempotent API. Subsequent requests
/// won’t create a duplicate resource if one was already created. If a following request
/// has different tags
values, Config will ignore these differences and treat
/// it as an idempotent request of the previous. In this case, tags
will
/// not be updated, even if they are different.
///
///
///
public partial class PutConfigurationAggregatorRequest : AmazonConfigServiceRequest
{
private List _accountAggregationSources = new List();
private string _configurationAggregatorName;
private OrganizationAggregationSource _organizationAggregationSource;
private List _tags = new List();
///
/// Gets and sets the property AccountAggregationSources.
///
/// A list of AccountAggregationSource object.
///
///
[AWSProperty(Min=0, Max=1)]
public List AccountAggregationSources
{
get { return this._accountAggregationSources; }
set { this._accountAggregationSources = value; }
}
// Check to see if AccountAggregationSources property is set
internal bool IsSetAccountAggregationSources()
{
return this._accountAggregationSources != null && this._accountAggregationSources.Count > 0;
}
///
/// Gets and sets the property ConfigurationAggregatorName.
///
/// The name of the configuration aggregator.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string ConfigurationAggregatorName
{
get { return this._configurationAggregatorName; }
set { this._configurationAggregatorName = value; }
}
// Check to see if ConfigurationAggregatorName property is set
internal bool IsSetConfigurationAggregatorName()
{
return this._configurationAggregatorName != null;
}
///
/// Gets and sets the property OrganizationAggregationSource.
///
/// An OrganizationAggregationSource object.
///
///
public OrganizationAggregationSource OrganizationAggregationSource
{
get { return this._organizationAggregationSource; }
set { this._organizationAggregationSource = value; }
}
// Check to see if OrganizationAggregationSource property is set
internal bool IsSetOrganizationAggregationSource()
{
return this._organizationAggregationSource != null;
}
///
/// Gets and sets the property Tags.
///
/// An array of tag object.
///
///
[AWSProperty(Min=0, Max=50)]
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;
}
}
}