/* * 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 proton-2020-07-20.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.Proton.Model { /// /// Container for the parameters to the CreateComponent operation. /// Create an Proton component. A component is an infrastructure extension for a service /// instance. /// /// /// /// For more information about components, see Proton /// components in the Proton User Guide. /// /// public partial class CreateComponentRequest : AmazonProtonRequest { private string _clientToken; private string _description; private string _environmentName; private string _manifest; private string _name; private string _serviceInstanceName; private string _serviceName; private string _serviceSpec; private List _tags = new List(); private string _templateFile; /// /// Gets and sets the property ClientToken. /// /// The client token for the created component. /// /// [AWSProperty(Min=0, Max=64)] 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 Description. /// /// An optional customer-provided description of the component. /// /// [AWSProperty(Sensitive=true, Min=0, Max=500)] 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 EnvironmentName. /// /// The name of the Proton environment that you want to associate this component with. /// You must specify this when you don't specify serviceInstanceName and /// serviceName. /// /// [AWSProperty(Min=1, Max=100)] public string EnvironmentName { get { return this._environmentName; } set { this._environmentName = value; } } // Check to see if EnvironmentName property is set internal bool IsSetEnvironmentName() { return this._environmentName != null; } /// /// Gets and sets the property Manifest. /// /// A path to a manifest file that lists the Infrastructure as Code (IaC) file, template /// language, and rendering engine for infrastructure that a custom component provisions. /// /// [AWSProperty(Required=true, Sensitive=true, Min=1, Max=1024)] public string Manifest { get { return this._manifest; } set { this._manifest = value; } } // Check to see if Manifest property is set internal bool IsSetManifest() { return this._manifest != null; } /// /// Gets and sets the property Name. /// /// The customer-provided name of the component. /// /// [AWSProperty(Required=true, Min=1, Max=100)] 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 ServiceInstanceName. /// /// The name of the service instance that you want to attach this component to. If you /// don't specify this, the component isn't attached to any service instance. Specify /// both serviceInstanceName and serviceName or neither of them. /// /// [AWSProperty(Min=1, Max=100)] public string ServiceInstanceName { get { return this._serviceInstanceName; } set { this._serviceInstanceName = value; } } // Check to see if ServiceInstanceName property is set internal bool IsSetServiceInstanceName() { return this._serviceInstanceName != null; } /// /// Gets and sets the property ServiceName. /// /// The name of the service that serviceInstanceName is associated with. /// If you don't specify this, the component isn't attached to any service instance. Specify /// both serviceInstanceName and serviceName or neither of them. /// /// [AWSProperty(Min=1, Max=100)] public string ServiceName { get { return this._serviceName; } set { this._serviceName = value; } } // Check to see if ServiceName property is set internal bool IsSetServiceName() { return this._serviceName != null; } /// /// Gets and sets the property ServiceSpec. /// /// The service spec that you want the component to use to access service inputs. Set /// this only when you attach the component to a service instance. /// /// [AWSProperty(Sensitive=true, Min=1, Max=51200)] public string ServiceSpec { get { return this._serviceSpec; } set { this._serviceSpec = value; } } // Check to see if ServiceSpec property is set internal bool IsSetServiceSpec() { return this._serviceSpec != null; } /// /// Gets and sets the property Tags. /// /// An optional list of metadata items that you can associate with the Proton component. /// A tag is a key-value pair. /// /// /// /// For more information, see Proton /// resources and tagging in the Proton User Guide. /// /// [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; } /// /// Gets and sets the property TemplateFile. /// /// A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom /// component provisions. /// /// /// /// Components support a single IaC file, even if you use Terraform as your template language. /// /// /// [AWSProperty(Required=true, Sensitive=true, Min=1, Max=51200)] public string TemplateFile { get { return this._templateFile; } set { this._templateFile = value; } } // Check to see if TemplateFile property is set internal bool IsSetTemplateFile() { return this._templateFile != null; } } }