/*
* 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.elasticmapreduce.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Amazon EMR releases 4.x or later.
*
* An optional configuration specification to be used when provisioning cluster instances, which can include * configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, * properties, and optional nested configurations. A classification refers to an application-specific configuration * file. Properties are the settings you want to change in that file. For more information, see Configuring Applications. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Configuration implements Serializable, Cloneable, StructuredPojo { /** ** The classification within a configuration. *
*/ private String classification; /** ** A list of additional configurations to apply within a configuration object. *
*/ private com.amazonaws.internal.SdkInternalList* A set of properties specified within a configuration classification. *
*/ private com.amazonaws.internal.SdkInternalMap* The classification within a configuration. *
* * @param classification * The classification within a configuration. */ public void setClassification(String classification) { this.classification = classification; } /** ** The classification within a configuration. *
* * @return The classification within a configuration. */ public String getClassification() { return this.classification; } /** ** The classification within a configuration. *
* * @param classification * The classification within a configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public Configuration withClassification(String classification) { setClassification(classification); return this; } /** ** A list of additional configurations to apply within a configuration object. *
* * @return A list of additional configurations to apply within a configuration object. */ public java.util.List* A list of additional configurations to apply within a configuration object. *
* * @param configurations * A list of additional configurations to apply within a configuration object. */ public void setConfigurations(java.util.Collection* A list of additional configurations to apply within a configuration object. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setConfigurations(java.util.Collection)} or {@link #withConfigurations(java.util.Collection)} if you want * to override the existing values. *
* * @param configurations * A list of additional configurations to apply within a configuration object. * @return Returns a reference to this object so that method calls can be chained together. */ public Configuration withConfigurations(Configuration... configurations) { if (this.configurations == null) { setConfigurations(new com.amazonaws.internal.SdkInternalList* A list of additional configurations to apply within a configuration object. *
* * @param configurations * A list of additional configurations to apply within a configuration object. * @return Returns a reference to this object so that method calls can be chained together. */ public Configuration withConfigurations(java.util.Collection* A set of properties specified within a configuration classification. *
* * @return A set of properties specified within a configuration classification. */ public java.util.Map* A set of properties specified within a configuration classification. *
* * @param properties * A set of properties specified within a configuration classification. */ public void setProperties(java.util.Map* A set of properties specified within a configuration classification. *
* * @param properties * A set of properties specified within a configuration classification. * @return Returns a reference to this object so that method calls can be chained together. */ public Configuration withProperties(java.util.Map