/* * 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 PutConformancePack operation. /// Creates or updates a conformance pack. A conformance pack is a collection of Config /// rules that can be easily deployed in an account and a region and across an organization. /// For information on how many conformance packs you can have per account, see /// Service Limits in the Config Developer Guide. /// /// /// /// This API creates a service-linked role AWSServiceRoleForConfigConforms /// in your account. The service-linked role is created only when the role does not exist /// in your account. /// /// /// /// You must specify only one of the follow parameters: TemplateS3Uri, TemplateBody /// or TemplateSSMDocumentDetails. /// /// /// public partial class PutConformancePackRequest : AmazonConfigServiceRequest { private List _conformancePackInputParameters = new List(); private string _conformancePackName; private string _deliveryS3Bucket; private string _deliveryS3KeyPrefix; private string _templateBody; private string _templateS3Uri; private TemplateSSMDocumentDetails _templateSSMDocumentDetails; /// /// 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 ConformancePackName. /// /// The unique name of the conformance pack you want to deploy. /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string ConformancePackName { get { return this._conformancePackName; } set { this._conformancePackName = value; } } // Check to see if ConformancePackName property is set internal bool IsSetConformancePackName() { return this._conformancePackName != null; } /// /// Gets and sets the property DeliveryS3Bucket. /// /// The name of the Amazon S3 bucket where Config stores conformance pack templates. /// /// /// /// This field is optional. /// /// /// [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 TemplateBody. /// /// A string containing the full conformance pack template body. The structure containing /// the template body has a minimum length of 1 byte and a maximum length of 51,200 bytes. /// /// /// /// You can use a YAML template with two resource types: Config rule (AWS::Config::ConfigRule) /// and remediation action (AWS::Config::RemediationConfiguration). /// /// /// [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. /// /// The location of the file containing the template body (s3://bucketname/prefix). /// The uri must point to a conformance pack template (max size: 300 KB) that is located /// in an Amazon S3 bucket in the same Region as the conformance pack. /// /// /// /// 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; } /// /// Gets and sets the property TemplateSSMDocumentDetails. /// /// An object of type TemplateSSMDocumentDetails, which contains the name /// or the Amazon Resource Name (ARN) of the Amazon Web Services Systems Manager document /// (SSM document) and the version of the SSM document that is used to create a conformance /// pack. /// /// public TemplateSSMDocumentDetails TemplateSSMDocumentDetails { get { return this._templateSSMDocumentDetails; } set { this._templateSSMDocumentDetails = value; } } // Check to see if TemplateSSMDocumentDetails property is set internal bool IsSetTemplateSSMDocumentDetails() { return this._templateSSMDocumentDetails != null; } } }