/* * Copyright 2018-2023 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. */ package com.amazonaws.services.elasticbeanstalk.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* The result message containing the options for the specified solution stack. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateConfigurationTemplateRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** ** The name of the application associated with the configuration template to update. *
*
     * If no application is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
* The name of the configuration template to update. *
*
     * If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
* A new description for the configuration. *
*/ private String description; /** ** A list of configuration option settings to update with the new specified option value. *
*/ private com.amazonaws.internal.SdkInternalList* A list of configuration options to remove from the configuration set. *
*
     * Constraint: You can remove only UserDefined configuration options.
     * 
     *        If no application is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     * @param templateName
     *        The name of the configuration template to update.
     *        
     *        If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     */
    public UpdateConfigurationTemplateRequest(String applicationName, String templateName) {
        setApplicationName(applicationName);
        setTemplateName(templateName);
    }
    /**
     * 
* The name of the application associated with the configuration template to update. *
*
     * If no application is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *        If no application is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     */
    public void setApplicationName(String applicationName) {
        this.applicationName = applicationName;
    }
    /**
     * 
* The name of the application associated with the configuration template to update. *
*
     * If no application is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *         If no application is found with this name, UpdateConfigurationTemplate returns an
     *         InvalidParameterValue error.
     */
    public String getApplicationName() {
        return this.applicationName;
    }
    /**
     * 
* The name of the application associated with the configuration template to update. *
*
     * If no application is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *        If no application is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public UpdateConfigurationTemplateRequest withApplicationName(String applicationName) {
        setApplicationName(applicationName);
        return this;
    }
    /**
     * 
* The name of the configuration template to update. *
*
     * If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *        If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     */
    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }
    /**
     * 
* The name of the configuration template to update. *
*
     * If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *         If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     *         InvalidParameterValue error.
     */
    public String getTemplateName() {
        return this.templateName;
    }
    /**
     * 
* The name of the configuration template to update. *
*
     * If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     * InvalidParameterValue error.
     * 
     *        If no configuration template is found with this name, UpdateConfigurationTemplate returns an
     *        InvalidParameterValue error.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public UpdateConfigurationTemplateRequest withTemplateName(String templateName) {
        setTemplateName(templateName);
        return this;
    }
    /**
     * 
* A new description for the configuration. *
* * @param description * A new description for the configuration. */ public void setDescription(String description) { this.description = description; } /** ** A new description for the configuration. *
* * @return A new description for the configuration. */ public String getDescription() { return this.description; } /** ** A new description for the configuration. *
* * @param description * A new description for the configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateConfigurationTemplateRequest withDescription(String description) { setDescription(description); return this; } /** ** A list of configuration option settings to update with the new specified option value. *
* * @return A list of configuration option settings to update with the new specified option value. */ public java.util.List* A list of configuration option settings to update with the new specified option value. *
* * @param optionSettings * A list of configuration option settings to update with the new specified option value. */ public void setOptionSettings(java.util.Collection* A list of configuration option settings to update with the new specified option value. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setOptionSettings(java.util.Collection)} or {@link #withOptionSettings(java.util.Collection)} if you want * to override the existing values. *
* * @param optionSettings * A list of configuration option settings to update with the new specified option value. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateConfigurationTemplateRequest withOptionSettings(ConfigurationOptionSetting... optionSettings) { if (this.optionSettings == null) { setOptionSettings(new com.amazonaws.internal.SdkInternalList* A list of configuration option settings to update with the new specified option value. *
* * @param optionSettings * A list of configuration option settings to update with the new specified option value. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateConfigurationTemplateRequest withOptionSettings(java.util.Collection* A list of configuration options to remove from the configuration set. *
*
     * Constraint: You can remove only UserDefined configuration options.
     * 
     *         Constraint: You can remove only  
     * A list of configuration options to remove from the configuration set.
     *  
     * Constraint: You can remove only UserDefined configuration options.
     */
    public java.util.ListUserDefined configuration options.
     * 
     *        Constraint: You can remove only  
     * A list of configuration options to remove from the configuration set.
     *  
     * Constraint: You can remove only  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setOptionsToRemove(java.util.Collection)} or {@link #withOptionsToRemove(java.util.Collection)} if you
     * want to override the existing values.
     * UserDefined configuration options.
     */
    public void setOptionsToRemove(java.util.CollectionUserDefined configuration options.
     * 
     *        Constraint: You can remove only  
     * A list of configuration options to remove from the configuration set.
     *  
     * Constraint: You can remove only UserDefined configuration options.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public UpdateConfigurationTemplateRequest withOptionsToRemove(OptionSpecification... optionsToRemove) {
        if (this.optionsToRemove == null) {
            setOptionsToRemove(new com.amazonaws.internal.SdkInternalListUserDefined configuration options.
     * 
     *        Constraint: You can remove only UserDefined configuration options.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public UpdateConfigurationTemplateRequest withOptionsToRemove(java.util.Collection