/*
* Copyright 2012-2017 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.opsworks.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/UpdateLayer" target="_top">AWS API
* Documentation</a>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateLayerRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
* <p>
* The layer ID.
* </p>
*/
private String layerId;
/**
* <p>
* The layer name, which is used by the console.
* </p>
*/
private String name;
/**
* <p>
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS
* OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are
* installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.
* </p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
* </p>
*/
private String shortname;
/**
* <p>
* One or more user-defined key/value pairs to be added to the stack attributes.
* </p>
*/
private com.amazonaws.internal.SdkInternalMap<String, String> attributes;
/**
* <p>
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
* </p>
*/
private CloudWatchLogsConfiguration cloudWatchLogsConfiguration;
/**
* <p>
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs,
* see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.
* </p>
*/
private String customInstanceProfileArn;
/**
* <p>
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the
* layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using Custom
* JSON</a>.
* </p>
*/
private String customJson;
/**
* <p>
* An array containing the layer's custom security group IDs.
* </p>
*/
private com.amazonaws.internal.SdkInternalList<String> customSecurityGroupIds;
/**
* <p>
* An array of <code>Package</code> objects that describe the layer's packages.
* </p>
*/
private com.amazonaws.internal.SdkInternalList<String> packages;
/**
* <p>
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* </p>
*/
private com.amazonaws.internal.SdkInternalList<VolumeConfiguration> volumeConfigurations;
/**
* <p>
* Whether to disable auto healing for the layer.
* </p>
*/
private Boolean enableAutoHealing;
/**
* <p>
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP address</a> to
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*/
private Boolean autoAssignElasticIps;
/**
* <p>
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*/
private Boolean autoAssignPublicIps;
/**
* <p>
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
* </p>
*/
private Recipes customRecipes;
/**
* <p>
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then
* update your instances manually by using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack
* command or manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.
* </p>
* <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest
* security updates.
* </p>
* </note>
*/
private Boolean installUpdatesOnBoot;
/**
* <p>
* Whether to use Amazon EBS-optimized instances.
* </p>
*/
private Boolean useEbsOptimizedInstances;
/** <p/> */
private LifecycleEventConfiguration lifecycleEventConfiguration;
/**
* <p>
* The layer ID.
* </p>
*
* @param layerId
* The layer ID.
*/
public void setLayerId(String layerId) {
this.layerId = layerId;
}
/**
* <p>
* The layer ID.
* </p>
*
* @return The layer ID.
*/
public String getLayerId() {
return this.layerId;
}
/**
* <p>
* The layer ID.
* </p>
*
* @param layerId
* The layer ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withLayerId(String layerId) {
setLayerId(layerId);
return this;
}
/**
* <p>
* The layer name, which is used by the console.
* </p>
*
* @param name
* The layer name, which is used by the console.
*/
public void setName(String name) {
this.name = name;
}
/**
* <p>
* The layer name, which is used by the console.
* </p>
*
* @return The layer name, which is used by the console.
*/
public String getName() {
return this.name;
}
/**
* <p>
* The layer name, which is used by the console.
* </p>
*
* @param name
* The layer name, which is used by the console.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withName(String name) {
setName(name);
return this;
}
/**
* <p>
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS
* OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are
* installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.
* </p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
* </p>
*
* @param shortname
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by
* AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app
* files are installed. It can have a maximum of 200 characters and must be in the following format:
* /\A[a-z0-9\-\_\.]+\Z/.</p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
*/
public void setShortname(String shortname) {
this.shortname = shortname;
}
/**
* <p>
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS
* OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are
* installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.
* </p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
* </p>
*
* @return For custom layers only, use this parameter to specify the layer's short name, which is used internally by
* AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app
* files are installed. It can have a maximum of 200 characters and must be in the following format:
* /\A[a-z0-9\-\_\.]+\Z/.</p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
*/
public String getShortname() {
return this.shortname;
}
/**
* <p>
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS
* OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are
* installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/.
* </p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
* </p>
*
* @param shortname
* For custom layers only, use this parameter to specify the layer's short name, which is used internally by
* AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app
* files are installed. It can have a maximum of 200 characters and must be in the following format:
* /\A[a-z0-9\-\_\.]+\Z/.</p>
* <p>
* The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html">Layer Reference</a>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withShortname(String shortname) {
setShortname(shortname);
return this;
}
/**
* <p>
* One or more user-defined key/value pairs to be added to the stack attributes.
* </p>
*
* @return One or more user-defined key/value pairs to be added to the stack attributes.
*/
public java.util.Map<String, String> getAttributes() {
if (attributes == null) {
attributes = new com.amazonaws.internal.SdkInternalMap<String, String>();
}
return attributes;
}
/**
* <p>
* One or more user-defined key/value pairs to be added to the stack attributes.
* </p>
*
* @param attributes
* One or more user-defined key/value pairs to be added to the stack attributes.
*/
public void setAttributes(java.util.Map<String, String> attributes) {
this.attributes = attributes == null ? null : new com.amazonaws.internal.SdkInternalMap<String, String>(attributes);
}
/**
* <p>
* One or more user-defined key/value pairs to be added to the stack attributes.
* </p>
*
* @param attributes
* One or more user-defined key/value pairs to be added to the stack attributes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withAttributes(java.util.Map<String, String> attributes) {
setAttributes(attributes);
return this;
}
public UpdateLayerRequest addAttributesEntry(String key, String value) {
if (null == this.attributes) {
this.attributes = new com.amazonaws.internal.SdkInternalMap<String, String>();
}
if (this.attributes.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.attributes.put(key, value);
return this;
}
/**
* Removes all the entries added into Attributes.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest clearAttributesEntries() {
this.attributes = null;
return this;
}
/**
* <p>
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
* </p>
*
* @param cloudWatchLogsConfiguration
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
*/
public void setCloudWatchLogsConfiguration(CloudWatchLogsConfiguration cloudWatchLogsConfiguration) {
this.cloudWatchLogsConfiguration = cloudWatchLogsConfiguration;
}
/**
* <p>
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
* </p>
*
* @return Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
*/
public CloudWatchLogsConfiguration getCloudWatchLogsConfiguration() {
return this.cloudWatchLogsConfiguration;
}
/**
* <p>
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
* </p>
*
* @param cloudWatchLogsConfiguration
* Specifies CloudWatch Logs configuration options for the layer. For more information, see
* <a>CloudWatchLogsLogStream</a>.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCloudWatchLogsConfiguration(CloudWatchLogsConfiguration cloudWatchLogsConfiguration) {
setCloudWatchLogsConfiguration(cloudWatchLogsConfiguration);
return this;
}
/**
* <p>
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs,
* see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.
* </p>
*
* @param customInstanceProfileArn
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM
* ARNs, see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using
* Identifiers</a>.
*/
public void setCustomInstanceProfileArn(String customInstanceProfileArn) {
this.customInstanceProfileArn = customInstanceProfileArn;
}
/**
* <p>
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs,
* see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.
* </p>
*
* @return The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM
* ARNs, see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using
* Identifiers</a>.
*/
public String getCustomInstanceProfileArn() {
return this.customInstanceProfileArn;
}
/**
* <p>
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs,
* see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.
* </p>
*
* @param customInstanceProfileArn
* The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM
* ARNs, see <a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using
* Identifiers</a>.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCustomInstanceProfileArn(String customInstanceProfileArn) {
setCustomInstanceProfileArn(customInstanceProfileArn);
return this;
}
/**
* <p>
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the
* layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using Custom
* JSON</a>.
* </p>
*
* @param customJson
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using
* Custom JSON</a>.
*/
public void setCustomJson(String customJson) {
this.customJson = customJson;
}
/**
* <p>
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the
* layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using Custom
* JSON</a>.
* </p>
*
* @return A JSON-formatted string containing custom stack configuration and deployment attributes to be installed
* on the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using
* Custom JSON</a>.
*/
public String getCustomJson() {
return this.customJson;
}
/**
* <p>
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the
* layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using Custom
* JSON</a>.
* </p>
*
* @param customJson
* A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html"> Using
* Custom JSON</a>.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCustomJson(String customJson) {
setCustomJson(customJson);
return this;
}
/**
* <p>
* An array containing the layer's custom security group IDs.
* </p>
*
* @return An array containing the layer's custom security group IDs.
*/
public java.util.List<String> getCustomSecurityGroupIds() {
if (customSecurityGroupIds == null) {
customSecurityGroupIds = new com.amazonaws.internal.SdkInternalList<String>();
}
return customSecurityGroupIds;
}
/**
* <p>
* An array containing the layer's custom security group IDs.
* </p>
*
* @param customSecurityGroupIds
* An array containing the layer's custom security group IDs.
*/
public void setCustomSecurityGroupIds(java.util.Collection<String> customSecurityGroupIds) {
if (customSecurityGroupIds == null) {
this.customSecurityGroupIds = null;
return;
}
this.customSecurityGroupIds = new com.amazonaws.internal.SdkInternalList<String>(customSecurityGroupIds);
}
/**
* <p>
* An array containing the layer's custom security group IDs.
* </p>
* <p>
* <b>NOTE:</b> This method appends the values to the existing list (if any). Use
* {@link #setCustomSecurityGroupIds(java.util.Collection)} or
* {@link #withCustomSecurityGroupIds(java.util.Collection)} if you want to override the existing values.
* </p>
*
* @param customSecurityGroupIds
* An array containing the layer's custom security group IDs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCustomSecurityGroupIds(String... customSecurityGroupIds) {
if (this.customSecurityGroupIds == null) {
setCustomSecurityGroupIds(new com.amazonaws.internal.SdkInternalList<String>(customSecurityGroupIds.length));
}
for (String ele : customSecurityGroupIds) {
this.customSecurityGroupIds.add(ele);
}
return this;
}
/**
* <p>
* An array containing the layer's custom security group IDs.
* </p>
*
* @param customSecurityGroupIds
* An array containing the layer's custom security group IDs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCustomSecurityGroupIds(java.util.Collection<String> customSecurityGroupIds) {
setCustomSecurityGroupIds(customSecurityGroupIds);
return this;
}
/**
* <p>
* An array of <code>Package</code> objects that describe the layer's packages.
* </p>
*
* @return An array of <code>Package</code> objects that describe the layer's packages.
*/
public java.util.List<String> getPackages() {
if (packages == null) {
packages = new com.amazonaws.internal.SdkInternalList<String>();
}
return packages;
}
/**
* <p>
* An array of <code>Package</code> objects that describe the layer's packages.
* </p>
*
* @param packages
* An array of <code>Package</code> objects that describe the layer's packages.
*/
public void setPackages(java.util.Collection<String> packages) {
if (packages == null) {
this.packages = null;
return;
}
this.packages = new com.amazonaws.internal.SdkInternalList<String>(packages);
}
/**
* <p>
* An array of <code>Package</code> objects that describe the layer's packages.
* </p>
* <p>
* <b>NOTE:</b> This method appends the values to the existing list (if any). Use
* {@link #setPackages(java.util.Collection)} or {@link #withPackages(java.util.Collection)} if you want to override
* the existing values.
* </p>
*
* @param packages
* An array of <code>Package</code> objects that describe the layer's packages.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withPackages(String... packages) {
if (this.packages == null) {
setPackages(new com.amazonaws.internal.SdkInternalList<String>(packages.length));
}
for (String ele : packages) {
this.packages.add(ele);
}
return this;
}
/**
* <p>
* An array of <code>Package</code> objects that describe the layer's packages.
* </p>
*
* @param packages
* An array of <code>Package</code> objects that describe the layer's packages.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withPackages(java.util.Collection<String> packages) {
setPackages(packages);
return this;
}
/**
* <p>
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* </p>
*
* @return A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
*/
public java.util.List<VolumeConfiguration> getVolumeConfigurations() {
if (volumeConfigurations == null) {
volumeConfigurations = new com.amazonaws.internal.SdkInternalList<VolumeConfiguration>();
}
return volumeConfigurations;
}
/**
* <p>
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* </p>
*
* @param volumeConfigurations
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
*/
public void setVolumeConfigurations(java.util.Collection<VolumeConfiguration> volumeConfigurations) {
if (volumeConfigurations == null) {
this.volumeConfigurations = null;
return;
}
this.volumeConfigurations = new com.amazonaws.internal.SdkInternalList<VolumeConfiguration>(volumeConfigurations);
}
/**
* <p>
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* </p>
* <p>
* <b>NOTE:</b> This method appends the values to the existing list (if any). Use
* {@link #setVolumeConfigurations(java.util.Collection)} or {@link #withVolumeConfigurations(java.util.Collection)}
* if you want to override the existing values.
* </p>
*
* @param volumeConfigurations
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withVolumeConfigurations(VolumeConfiguration... volumeConfigurations) {
if (this.volumeConfigurations == null) {
setVolumeConfigurations(new com.amazonaws.internal.SdkInternalList<VolumeConfiguration>(volumeConfigurations.length));
}
for (VolumeConfiguration ele : volumeConfigurations) {
this.volumeConfigurations.add(ele);
}
return this;
}
/**
* <p>
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* </p>
*
* @param volumeConfigurations
* A <code>VolumeConfigurations</code> object that describes the layer's Amazon EBS volumes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withVolumeConfigurations(java.util.Collection<VolumeConfiguration> volumeConfigurations) {
setVolumeConfigurations(volumeConfigurations);
return this;
}
/**
* <p>
* Whether to disable auto healing for the layer.
* </p>
*
* @param enableAutoHealing
* Whether to disable auto healing for the layer.
*/
public void setEnableAutoHealing(Boolean enableAutoHealing) {
this.enableAutoHealing = enableAutoHealing;
}
/**
* <p>
* Whether to disable auto healing for the layer.
* </p>
*
* @return Whether to disable auto healing for the layer.
*/
public Boolean getEnableAutoHealing() {
return this.enableAutoHealing;
}
/**
* <p>
* Whether to disable auto healing for the layer.
* </p>
*
* @param enableAutoHealing
* Whether to disable auto healing for the layer.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withEnableAutoHealing(Boolean enableAutoHealing) {
setEnableAutoHealing(enableAutoHealing);
return this;
}
/**
* <p>
* Whether to disable auto healing for the layer.
* </p>
*
* @return Whether to disable auto healing for the layer.
*/
public Boolean isEnableAutoHealing() {
return this.enableAutoHealing;
}
/**
* <p>
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP address</a> to
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @param autoAssignElasticIps
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP
* address</a> to the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public void setAutoAssignElasticIps(Boolean autoAssignElasticIps) {
this.autoAssignElasticIps = autoAssignElasticIps;
}
/**
* <p>
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP address</a> to
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @return Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP
* address</a> to the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public Boolean getAutoAssignElasticIps() {
return this.autoAssignElasticIps;
}
/**
* <p>
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP address</a> to
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @param autoAssignElasticIps
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP
* address</a> to the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withAutoAssignElasticIps(Boolean autoAssignElasticIps) {
setAutoAssignElasticIps(autoAssignElasticIps);
return this;
}
/**
* <p>
* Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP address</a> to
* the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @return Whether to automatically assign an <a
* href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html">Elastic IP
* address</a> to the layer's instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public Boolean isAutoAssignElasticIps() {
return this.autoAssignElasticIps;
}
/**
* <p>
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @param autoAssignPublicIps
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public void setAutoAssignPublicIps(Boolean autoAssignPublicIps) {
this.autoAssignPublicIps = autoAssignPublicIps;
}
/**
* <p>
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @return For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public Boolean getAutoAssignPublicIps() {
return this.autoAssignPublicIps;
}
/**
* <p>
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @param autoAssignPublicIps
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withAutoAssignPublicIps(Boolean autoAssignPublicIps) {
setAutoAssignPublicIps(autoAssignPublicIps);
return this;
}
/**
* <p>
* For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
* </p>
*
* @return For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's
* instances. For more information, see <a
* href="http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html">How to Edit a
* Layer</a>.
*/
public Boolean isAutoAssignPublicIps() {
return this.autoAssignPublicIps;
}
/**
* <p>
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
* </p>
*
* @param customRecipes
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
*/
public void setCustomRecipes(Recipes customRecipes) {
this.customRecipes = customRecipes;
}
/**
* <p>
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
* </p>
*
* @return A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
*/
public Recipes getCustomRecipes() {
return this.customRecipes;
}
/**
* <p>
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
* </p>
*
* @param customRecipes
* A <code>LayerCustomRecipes</code> object that specifies the layer's custom recipes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withCustomRecipes(Recipes customRecipes) {
setCustomRecipes(customRecipes);
return this;
}
/**
* <p>
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then
* update your instances manually by using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack
* command or manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.
* </p>
* <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest
* security updates.
* </p>
* </note>
*
* @param installUpdatesOnBoot
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must
* then update your instances manually by using <a>CreateDeployment</a> to run the
* <code>update_dependencies</code> stack command or manually running <code>yum</code> (Amazon Linux) or
* <code>apt-get</code> (Ubuntu) on the instances. </p> <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the
* latest security updates.
* </p>
*/
public void setInstallUpdatesOnBoot(Boolean installUpdatesOnBoot) {
this.installUpdatesOnBoot = installUpdatesOnBoot;
}
/**
* <p>
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then
* update your instances manually by using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack
* command or manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.
* </p>
* <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest
* security updates.
* </p>
* </note>
*
* @return Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must
* then update your instances manually by using <a>CreateDeployment</a> to run the
* <code>update_dependencies</code> stack command or manually running <code>yum</code> (Amazon Linux) or
* <code>apt-get</code> (Ubuntu) on the instances. </p> <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have
* the latest security updates.
* </p>
*/
public Boolean getInstallUpdatesOnBoot() {
return this.installUpdatesOnBoot;
}
/**
* <p>
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then
* update your instances manually by using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack
* command or manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.
* </p>
* <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest
* security updates.
* </p>
* </note>
*
* @param installUpdatesOnBoot
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must
* then update your instances manually by using <a>CreateDeployment</a> to run the
* <code>update_dependencies</code> stack command or manually running <code>yum</code> (Amazon Linux) or
* <code>apt-get</code> (Ubuntu) on the instances. </p> <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the
* latest security updates.
* </p>
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withInstallUpdatesOnBoot(Boolean installUpdatesOnBoot) {
setInstallUpdatesOnBoot(installUpdatesOnBoot);
return this;
}
/**
* <p>
* Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then
* update your instances manually by using <a>CreateDeployment</a> to run the <code>update_dependencies</code> stack
* command or manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.
* </p>
* <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest
* security updates.
* </p>
* </note>
*
* @return Whether to install operating system and package updates when the instance boots. The default value is
* <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must
* then update your instances manually by using <a>CreateDeployment</a> to run the
* <code>update_dependencies</code> stack command or manually running <code>yum</code> (Amazon Linux) or
* <code>apt-get</code> (Ubuntu) on the instances. </p> <note>
* <p>
* We strongly recommend using the default value of <code>true</code>, to ensure that your instances have
* the latest security updates.
* </p>
*/
public Boolean isInstallUpdatesOnBoot() {
return this.installUpdatesOnBoot;
}
/**
* <p>
* Whether to use Amazon EBS-optimized instances.
* </p>
*
* @param useEbsOptimizedInstances
* Whether to use Amazon EBS-optimized instances.
*/
public void setUseEbsOptimizedInstances(Boolean useEbsOptimizedInstances) {
this.useEbsOptimizedInstances = useEbsOptimizedInstances;
}
/**
* <p>
* Whether to use Amazon EBS-optimized instances.
* </p>
*
* @return Whether to use Amazon EBS-optimized instances.
*/
public Boolean getUseEbsOptimizedInstances() {
return this.useEbsOptimizedInstances;
}
/**
* <p>
* Whether to use Amazon EBS-optimized instances.
* </p>
*
* @param useEbsOptimizedInstances
* Whether to use Amazon EBS-optimized instances.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withUseEbsOptimizedInstances(Boolean useEbsOptimizedInstances) {
setUseEbsOptimizedInstances(useEbsOptimizedInstances);
return this;
}
/**
* <p>
* Whether to use Amazon EBS-optimized instances.
* </p>
*
* @return Whether to use Amazon EBS-optimized instances.
*/
public Boolean isUseEbsOptimizedInstances() {
return this.useEbsOptimizedInstances;
}
/**
* <p/>
*
* @param lifecycleEventConfiguration
*/
public void setLifecycleEventConfiguration(LifecycleEventConfiguration lifecycleEventConfiguration) {
this.lifecycleEventConfiguration = lifecycleEventConfiguration;
}
/**
* <p/>
*
* @return
*/
public LifecycleEventConfiguration getLifecycleEventConfiguration() {
return this.lifecycleEventConfiguration;
}
/**
* <p/>
*
* @param lifecycleEventConfiguration
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateLayerRequest withLifecycleEventConfiguration(LifecycleEventConfiguration lifecycleEventConfiguration) {
setLifecycleEventConfiguration(lifecycleEventConfiguration);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getLayerId() != null)
sb.append("LayerId: ").append(getLayerId()).append(",");
if (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getShortname() != null)
sb.append("Shortname: ").append(getShortname()).append(",");
if (getAttributes() != null)
sb.append("Attributes: ").append(getAttributes()).append(",");
if (getCloudWatchLogsConfiguration() != null)
sb.append("CloudWatchLogsConfiguration: ").append(getCloudWatchLogsConfiguration()).append(",");
if (getCustomInstanceProfileArn() != null)
sb.append("CustomInstanceProfileArn: ").append(getCustomInstanceProfileArn()).append(",");
if (getCustomJson() != null)
sb.append("CustomJson: ").append(getCustomJson()).append(",");
if (getCustomSecurityGroupIds() != null)
sb.append("CustomSecurityGroupIds: ").append(getCustomSecurityGroupIds()).append(",");
if (getPackages() != null)
sb.append("Packages: ").append(getPackages()).append(",");
if (getVolumeConfigurations() != null)
sb.append("VolumeConfigurations: ").append(getVolumeConfigurations()).append(",");
if (getEnableAutoHealing() != null)
sb.append("EnableAutoHealing: ").append(getEnableAutoHealing()).append(",");
if (getAutoAssignElasticIps() != null)
sb.append("AutoAssignElasticIps: ").append(getAutoAssignElasticIps()).append(",");
if (getAutoAssignPublicIps() != null)
sb.append("AutoAssignPublicIps: ").append(getAutoAssignPublicIps()).append(",");
if (getCustomRecipes() != null)
sb.append("CustomRecipes: ").append(getCustomRecipes()).append(",");
if (getInstallUpdatesOnBoot() != null)
sb.append("InstallUpdatesOnBoot: ").append(getInstallUpdatesOnBoot()).append(",");
if (getUseEbsOptimizedInstances() != null)
sb.append("UseEbsOptimizedInstances: ").append(getUseEbsOptimizedInstances()).append(",");
if (getLifecycleEventConfiguration() != null)
sb.append("LifecycleEventConfiguration: ").append(getLifecycleEventConfiguration());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof UpdateLayerRequest == false)
return false;
UpdateLayerRequest other = (UpdateLayerRequest) obj;
if (other.getLayerId() == null ^ this.getLayerId() == null)
return false;
if (other.getLayerId() != null && other.getLayerId().equals(this.getLayerId()) == false)
return false;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getShortname() == null ^ this.getShortname() == null)
return false;
if (other.getShortname() != null && other.getShortname().equals(this.getShortname()) == false)
return false;
if (other.getAttributes() == null ^ this.getAttributes() == null)
return false;
if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false)
return false;
if (other.getCloudWatchLogsConfiguration() == null ^ this.getCloudWatchLogsConfiguration() == null)
return false;
if (other.getCloudWatchLogsConfiguration() != null && other.getCloudWatchLogsConfiguration().equals(this.getCloudWatchLogsConfiguration()) == false)
return false;
if (other.getCustomInstanceProfileArn() == null ^ this.getCustomInstanceProfileArn() == null)
return false;
if (other.getCustomInstanceProfileArn() != null && other.getCustomInstanceProfileArn().equals(this.getCustomInstanceProfileArn()) == false)
return false;
if (other.getCustomJson() == null ^ this.getCustomJson() == null)
return false;
if (other.getCustomJson() != null && other.getCustomJson().equals(this.getCustomJson()) == false)
return false;
if (other.getCustomSecurityGroupIds() == null ^ this.getCustomSecurityGroupIds() == null)
return false;
if (other.getCustomSecurityGroupIds() != null && other.getCustomSecurityGroupIds().equals(this.getCustomSecurityGroupIds()) == false)
return false;
if (other.getPackages() == null ^ this.getPackages() == null)
return false;
if (other.getPackages() != null && other.getPackages().equals(this.getPackages()) == false)
return false;
if (other.getVolumeConfigurations() == null ^ this.getVolumeConfigurations() == null)
return false;
if (other.getVolumeConfigurations() != null && other.getVolumeConfigurations().equals(this.getVolumeConfigurations()) == false)
return false;
if (other.getEnableAutoHealing() == null ^ this.getEnableAutoHealing() == null)
return false;
if (other.getEnableAutoHealing() != null && other.getEnableAutoHealing().equals(this.getEnableAutoHealing()) == false)
return false;
if (other.getAutoAssignElasticIps() == null ^ this.getAutoAssignElasticIps() == null)
return false;
if (other.getAutoAssignElasticIps() != null && other.getAutoAssignElasticIps().equals(this.getAutoAssignElasticIps()) == false)
return false;
if (other.getAutoAssignPublicIps() == null ^ this.getAutoAssignPublicIps() == null)
return false;
if (other.getAutoAssignPublicIps() != null && other.getAutoAssignPublicIps().equals(this.getAutoAssignPublicIps()) == false)
return false;
if (other.getCustomRecipes() == null ^ this.getCustomRecipes() == null)
return false;
if (other.getCustomRecipes() != null && other.getCustomRecipes().equals(this.getCustomRecipes()) == false)
return false;
if (other.getInstallUpdatesOnBoot() == null ^ this.getInstallUpdatesOnBoot() == null)
return false;
if (other.getInstallUpdatesOnBoot() != null && other.getInstallUpdatesOnBoot().equals(this.getInstallUpdatesOnBoot()) == false)
return false;
if (other.getUseEbsOptimizedInstances() == null ^ this.getUseEbsOptimizedInstances() == null)
return false;
if (other.getUseEbsOptimizedInstances() != null && other.getUseEbsOptimizedInstances().equals(this.getUseEbsOptimizedInstances()) == false)
return false;
if (other.getLifecycleEventConfiguration() == null ^ this.getLifecycleEventConfiguration() == null)
return false;
if (other.getLifecycleEventConfiguration() != null && other.getLifecycleEventConfiguration().equals(this.getLifecycleEventConfiguration()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getLayerId() == null) ? 0 : getLayerId().hashCode());
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getShortname() == null) ? 0 : getShortname().hashCode());
hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode());
hashCode = prime * hashCode + ((getCloudWatchLogsConfiguration() == null) ? 0 : getCloudWatchLogsConfiguration().hashCode());
hashCode = prime * hashCode + ((getCustomInstanceProfileArn() == null) ? 0 : getCustomInstanceProfileArn().hashCode());
hashCode = prime * hashCode + ((getCustomJson() == null) ? 0 : getCustomJson().hashCode());
hashCode = prime * hashCode + ((getCustomSecurityGroupIds() == null) ? 0 : getCustomSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getPackages() == null) ? 0 : getPackages().hashCode());
hashCode = prime * hashCode + ((getVolumeConfigurations() == null) ? 0 : getVolumeConfigurations().hashCode());
hashCode = prime * hashCode + ((getEnableAutoHealing() == null) ? 0 : getEnableAutoHealing().hashCode());
hashCode = prime * hashCode + ((getAutoAssignElasticIps() == null) ? 0 : getAutoAssignElasticIps().hashCode());
hashCode = prime * hashCode + ((getAutoAssignPublicIps() == null) ? 0 : getAutoAssignPublicIps().hashCode());
hashCode = prime * hashCode + ((getCustomRecipes() == null) ? 0 : getCustomRecipes().hashCode());
hashCode = prime * hashCode + ((getInstallUpdatesOnBoot() == null) ? 0 : getInstallUpdatesOnBoot().hashCode());
hashCode = prime * hashCode + ((getUseEbsOptimizedInstances() == null) ? 0 : getUseEbsOptimizedInstances().hashCode());
hashCode = prime * hashCode + ((getLifecycleEventConfiguration() == null) ? 0 : getLifecycleEventConfiguration().hashCode());
return hashCode;
}
@Override
public UpdateLayerRequest clone() {
return (UpdateLayerRequest) super.clone();
}
}