/* * 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 imagebuilder-2019-12-02.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.Imagebuilder.Model { /// /// Container for the parameters to the CreateComponent operation. /// Creates a new component that can be used to build, validate, test, and assess your /// image. The component is based on a YAML document that you specify using exactly one /// of the following methods: /// /// /// public partial class CreateComponentRequest : AmazonImagebuilderRequest { private string _changeDescription; private string _clientToken; private string _data; private string _description; private string _kmsKeyId; private string _name; private Platform _platform; private string _semanticVersion; private List _supportedOsVersions = new List(); private Dictionary _tags = new Dictionary(); private string _uri; /// /// Gets and sets the property ChangeDescription. /// /// The change description of the component. Describes what change has been made in this /// version, or what makes this version different from other versions of this component. /// /// [AWSProperty(Min=1, Max=1024)] public string ChangeDescription { get { return this._changeDescription; } set { this._changeDescription = value; } } // Check to see if ChangeDescription property is set internal bool IsSetChangeDescription() { return this._changeDescription != null; } /// /// Gets and sets the property ClientToken. /// /// The idempotency token of the component. /// /// [AWSProperty(Min=1, Max=36)] public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Data. /// /// Component data contains inline YAML document content for the component. /// Alternatively, you can specify the uri of a YAML document file stored /// in Amazon S3. However, you cannot specify both properties. /// /// [AWSProperty(Min=1, Max=16000)] public string Data { get { return this._data; } set { this._data = value; } } // Check to see if Data property is set internal bool IsSetData() { return this._data != null; } /// /// Gets and sets the property Description. /// /// Describes the contents of the component. /// /// [AWSProperty(Min=1, Max=1024)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property KmsKeyId. /// /// The ID of the KMS key that is used to encrypt this component. /// /// [AWSProperty(Min=1, Max=1024)] public string KmsKeyId { get { return this._kmsKeyId; } set { this._kmsKeyId = value; } } // Check to see if KmsKeyId property is set internal bool IsSetKmsKeyId() { return this._kmsKeyId != null; } /// /// Gets and sets the property Name. /// /// The name of the component. /// /// [AWSProperty(Required=true)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property Platform. /// /// The operating system platform of the component. /// /// [AWSProperty(Required=true)] public Platform Platform { get { return this._platform; } set { this._platform = value; } } // Check to see if Platform property is set internal bool IsSetPlatform() { return this._platform != null; } /// /// Gets and sets the property SemanticVersion. /// /// The semantic version of the component. This version follows the semantic version syntax. /// /// /// /// The semantic version has four nodes: <major>.<minor>.<patch>/<build>. /// You can assign values for the first three, and can filter on all of them. /// /// /// /// Assignment: For the first three nodes you can assign any positive integer /// value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. /// Image Builder automatically assigns the build number to the fourth node. /// /// /// /// Patterns: You can use any numeric pattern that adheres to the assignment requirements /// for the nodes that you can assign. For example, you might choose a software version /// pattern, such as 1.0.0, or a date, such as 2021.01.01. /// /// /// [AWSProperty(Required=true)] public string SemanticVersion { get { return this._semanticVersion; } set { this._semanticVersion = value; } } // Check to see if SemanticVersion property is set internal bool IsSetSemanticVersion() { return this._semanticVersion != null; } /// /// Gets and sets the property SupportedOsVersions. /// /// The operating system (OS) version supported by the component. If the OS information /// is available, a prefix match is performed against the base image OS version during /// image recipe creation. /// /// [AWSProperty(Min=1, Max=25)] public List SupportedOsVersions { get { return this._supportedOsVersions; } set { this._supportedOsVersions = value; } } // Check to see if SupportedOsVersions property is set internal bool IsSetSupportedOsVersions() { return this._supportedOsVersions != null && this._supportedOsVersions.Count > 0; } /// /// Gets and sets the property Tags. /// /// The tags that apply to the component. /// /// [AWSProperty(Min=1, Max=50)] public Dictionary 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; } /// /// Gets and sets the property Uri. /// /// The uri of a YAML component document file. This must be an S3 URL (s3://bucket/key), /// and the requester must have permission to access the S3 bucket it points to. If you /// use Amazon S3, you can specify component content up to your service quota. /// /// /// /// Alternatively, you can specify the YAML document inline, using the component data /// property. You cannot specify both properties. /// /// public string Uri { get { return this._uri; } set { this._uri = value; } } // Check to see if Uri property is set internal bool IsSetUri() { return this._uri != null; } } }