/* * 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 UpdateComponent operation. /// Update a component. /// /// /// /// There are a few modes for updating a component. The deploymentType field /// defines the mode. /// /// /// /// You can't update a component while its deployment status, or the deployment status /// of a service instance attached to it, is IN_PROGRESS. /// /// /// /// For more information about components, see Proton /// components in the Proton User Guide. /// /// public partial class UpdateComponentRequest : AmazonProtonRequest { private string _clientToken; private ComponentDeploymentUpdateType _deploymentType; private string _description; private string _name; private string _serviceInstanceName; private string _serviceName; private string _serviceSpec; private string _templateFile; /// /// Gets and sets the property ClientToken. /// /// The client token for the updated 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 DeploymentType. /// /// The deployment type. It defines the mode for updating a component, as follows: /// ///
/// /// NONE /// /// /// /// In this mode, a deployment doesn't occur. Only the requested metadata parameters /// are updated. You can only specify description in this mode. /// ///
/// /// CURRENT_VERSION /// /// /// /// In this mode, the component is deployed and updated with the new serviceSpec, /// templateSource, and/or type that you provide. Only requested /// parameters are updated. /// ///
///
[AWSProperty(Required=true)] public ComponentDeploymentUpdateType DeploymentType { get { return this._deploymentType; } set { this._deploymentType = value; } } // Check to see if DeploymentType property is set internal bool IsSetDeploymentType() { return this._deploymentType != 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 Name. /// /// The name of the component to update. /// /// [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. Don't /// specify to keep the component's current service instance attachment. Specify an empty /// string to detach the component from the service instance it's attached to. Specify /// non-empty values for both serviceInstanceName and serviceName /// or for neither of them. /// /// [AWSProperty(Min=0, 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. /// Don't specify to keep the component's current service instance attachment. Specify /// an empty string to detach the component from the service instance it's attached to. /// Specify non-empty values for both serviceInstanceName and serviceName /// or for neither of them. /// /// [AWSProperty(Min=0, 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 the component is attached 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 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(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; } } }