/* * 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; } } }