/*
* 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 PutOrganizationConformancePack operation.
/// Deploys conformance packs across member accounts in an Amazon Web Services Organization.
/// For information on how many organization conformance packs and how many Config rules
/// you can have per account, see
/// Service Limits in the Config Developer Guide.
///
///
///
/// Only a management account and a delegated administrator can call this API. When calling
/// this API with a delegated administrator, you must ensure Organizations ListDelegatedAdministrator
/// permissions are added. An organization can have up to 3 delegated administrators.
///
///
///
/// This API enables organization service access for config-multiaccountsetup.amazonaws.com
/// through the EnableAWSServiceAccess
action and creates a service-linked
/// role AWSServiceRoleForConfigMultiAccountSetup
in the management or delegated
/// administrator account of your organization. The service-linked role is created only
/// when the role does not exist in the caller account. To use this API with delegated
/// administrator, register a delegated administrator by calling Amazon Web Services Organization
/// register-delegate-admin
for config-multiaccountsetup.amazonaws.com
.
///
///
///
/// Prerequisite: Ensure you call EnableAllFeatures
API to enable all features
/// in an organization.
///
///
///
/// You must specify either the TemplateS3Uri
or the TemplateBody
/// parameter, but not both. If you provide both Config uses the TemplateS3Uri
/// parameter and ignores the TemplateBody
parameter.
///
///
///
/// Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS
/// until the conformance pack is created or updated. You cannot update a conformance
/// pack while it is in this state.
///
///
///
public partial class PutOrganizationConformancePackRequest : AmazonConfigServiceRequest
{
private List _conformancePackInputParameters = new List();
private string _deliveryS3Bucket;
private string _deliveryS3KeyPrefix;
private List _excludedAccounts = new List();
private string _organizationConformancePackName;
private string _templateBody;
private string _templateS3Uri;
///
/// Gets and sets the property ConformancePackInputParameters.
///
/// A list of ConformancePackInputParameter
objects.
///
///
[AWSProperty(Min=0, Max=60)]
public List ConformancePackInputParameters
{
get { return this._conformancePackInputParameters; }
set { this._conformancePackInputParameters = value; }
}
// Check to see if ConformancePackInputParameters property is set
internal bool IsSetConformancePackInputParameters()
{
return this._conformancePackInputParameters != null && this._conformancePackInputParameters.Count > 0;
}
///
/// Gets and sets the property DeliveryS3Bucket.
///
/// The name of the Amazon S3 bucket where Config stores conformance pack templates.
///
///
///
/// This field is optional. If used, it must be prefixed with awsconfigconforms
.
///
///
///
[AWSProperty(Min=0, Max=63)]
public string DeliveryS3Bucket
{
get { return this._deliveryS3Bucket; }
set { this._deliveryS3Bucket = value; }
}
// Check to see if DeliveryS3Bucket property is set
internal bool IsSetDeliveryS3Bucket()
{
return this._deliveryS3Bucket != null;
}
///
/// Gets and sets the property DeliveryS3KeyPrefix.
///
/// The prefix for the Amazon S3 bucket.
///
///
///
/// This field is optional.
///
///
///
[AWSProperty(Min=0, Max=1024)]
public string DeliveryS3KeyPrefix
{
get { return this._deliveryS3KeyPrefix; }
set { this._deliveryS3KeyPrefix = value; }
}
// Check to see if DeliveryS3KeyPrefix property is set
internal bool IsSetDeliveryS3KeyPrefix()
{
return this._deliveryS3KeyPrefix != null;
}
///
/// Gets and sets the property ExcludedAccounts.
///
/// A list of Amazon Web Services accounts to be excluded from an organization conformance
/// pack while deploying a conformance pack.
///
///
[AWSProperty(Min=0, Max=1000)]
public List ExcludedAccounts
{
get { return this._excludedAccounts; }
set { this._excludedAccounts = value; }
}
// Check to see if ExcludedAccounts property is set
internal bool IsSetExcludedAccounts()
{
return this._excludedAccounts != null && this._excludedAccounts.Count > 0;
}
///
/// Gets and sets the property OrganizationConformancePackName.
///
/// Name of the organization conformance pack you want to create.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string OrganizationConformancePackName
{
get { return this._organizationConformancePackName; }
set { this._organizationConformancePackName = value; }
}
// Check to see if OrganizationConformancePackName property is set
internal bool IsSetOrganizationConformancePackName()
{
return this._organizationConformancePackName != null;
}
///
/// Gets and sets the property TemplateBody.
///
/// A string containing full conformance pack template body. Structure containing the
/// template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.
///
///
[AWSProperty(Min=1, Max=51200)]
public string TemplateBody
{
get { return this._templateBody; }
set { this._templateBody = value; }
}
// Check to see if TemplateBody property is set
internal bool IsSetTemplateBody()
{
return this._templateBody != null;
}
///
/// Gets and sets the property TemplateS3Uri.
///
/// Location of file containing the template body. The uri must point to the conformance
/// pack template (max size: 300 KB).
///
///
///
/// You must have access to read Amazon S3 bucket.
///
///
///
[AWSProperty(Min=1, Max=1024)]
public string TemplateS3Uri
{
get { return this._templateS3Uri; }
set { this._templateS3Uri = value; }
}
// Check to see if TemplateS3Uri property is set
internal bool IsSetTemplateS3Uri()
{
return this._templateS3Uri != null;
}
}
}