
com.amazonaws.services.opsworks.model.DeploymentCommand Maven / Gradle / Ivy
Show all versions of aws-java-sdk-opsworks Show documentation
/*
* Copyright 2010-2016 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;
/**
*
* Used to specify a stack or deployment command.
*
*/
public class DeploymentCommand implements Serializable, Cloneable {
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*/
private String name;
/**
*
* The arguments of those commands that take arguments. It should be set to
* a JSON object with the following format:
*
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon Linux
* version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS OpsWorks
* to reboot the instances if necessary, after installing the updates. This
* argument can be set to either true
or false
.
* The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*/
private com.amazonaws.internal.SdkInternalMap> args;
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*
* @param name
* Specifies the operation. You can specify only one command.
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To
* specify the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For
* example, to execute phpapp::appsetup
, set
* Args
to {"recipes":["phpapp::appsetup"]}
* .
* install_dependencies
: Install the stack's
* dependencies.
* update_custom_cookbooks
: Update the stack's
* custom cookbooks.
* update_dependencies
: Update the stack's
* dependencies.
*
* The update_dependencies and install_dependencies commands
* are supported only for Linux instances. You can run the commands
* successfully on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
.
* Set Args
to {"migrate":["true"]} to migrate the
* database. The default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous
* version. When you update an app, AWS OpsWorks stores the previous
* version, up to a maximum of five versions. You can use this
* command to roll an app back as many as four versions.
* start
: Start the app's web or application server.
*
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application
* server.
* undeploy
: Undeploy the app.
* @see DeploymentCommandName
*/
public void setName(String name) {
this.name = name;
}
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*
* @return Specifies the operation. You can specify only one command.
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To
* specify the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For
* example, to execute phpapp::appsetup
, set
* Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's
* dependencies.
* update_custom_cookbooks
: Update the stack's
* custom cookbooks.
* update_dependencies
: Update the stack's
* dependencies.
*
* The update_dependencies and install_dependencies commands
* are supported only for Linux instances. You can run the commands
* successfully on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have
* an optional Args
parameter named
* migrate
. Set Args
to
* {"migrate":["true"]} to migrate the database. The default setting
* is {"migrate":["false"]}.
* rollback
Roll the app back to the previous
* version. When you update an app, AWS OpsWorks stores the previous
* version, up to a maximum of five versions. You can use this
* command to roll an app back as many as four versions.
* start
: Start the app's web or application
* server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application
* server.
* undeploy
: Undeploy the app.
* @see DeploymentCommandName
*/
public String getName() {
return this.name;
}
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*
* @param name
* Specifies the operation. You can specify only one command.
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To
* specify the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For
* example, to execute phpapp::appsetup
, set
* Args
to {"recipes":["phpapp::appsetup"]}
* .
* install_dependencies
: Install the stack's
* dependencies.
* update_custom_cookbooks
: Update the stack's
* custom cookbooks.
* update_dependencies
: Update the stack's
* dependencies.
*
* The update_dependencies and install_dependencies commands
* are supported only for Linux instances. You can run the commands
* successfully on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
.
* Set Args
to {"migrate":["true"]} to migrate the
* database. The default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous
* version. When you update an app, AWS OpsWorks stores the previous
* version, up to a maximum of five versions. You can use this
* command to roll an app back as many as four versions.
* start
: Start the app's web or application server.
*
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application
* server.
* undeploy
: Undeploy the app.
* @return Returns a reference to this object so that method calls can be
* chained together.
* @see DeploymentCommandName
*/
public DeploymentCommand withName(String name) {
setName(name);
return this;
}
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*
* @param name
* Specifies the operation. You can specify only one command.
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To
* specify the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For
* example, to execute phpapp::appsetup
, set
* Args
to {"recipes":["phpapp::appsetup"]}
* .
* install_dependencies
: Install the stack's
* dependencies.
* update_custom_cookbooks
: Update the stack's
* custom cookbooks.
* update_dependencies
: Update the stack's
* dependencies.
*
* The update_dependencies and install_dependencies commands
* are supported only for Linux instances. You can run the commands
* successfully on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
.
* Set Args
to {"migrate":["true"]} to migrate the
* database. The default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous
* version. When you update an app, AWS OpsWorks stores the previous
* version, up to a maximum of five versions. You can use this
* command to roll an app back as many as four versions.
* start
: Start the app's web or application server.
*
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application
* server.
* undeploy
: Undeploy the app.
* @see DeploymentCommandName
*/
public void setName(DeploymentCommandName name) {
this.name = name.toString();
}
/**
*
* Specifies the operation. You can specify only one command.
*
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To specify
* the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For example,
* to execute phpapp::appsetup
, set Args
to
* {"recipes":["phpapp::appsetup"]}
.
* install_dependencies
: Install the stack's dependencies.
* update_custom_cookbooks
: Update the stack's custom
* cookbooks.
* update_dependencies
: Update the stack's dependencies.
*
* The update_dependencies and install_dependencies commands are
* supported only for Linux instances. You can run the commands successfully
* on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
. Set
* Args
to {"migrate":["true"]} to migrate the database. The
* default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous version. When
* you update an app, AWS OpsWorks stores the previous version, up to a
* maximum of five versions. You can use this command to roll an app back as
* many as four versions.
* start
: Start the app's web or application server.
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application server.
* undeploy
: Undeploy the app.
*
*
* @param name
* Specifies the operation. You can specify only one command.
*
* For stacks, the following commands are available:
*
*
* execute_recipes
: Execute one or more recipes. To
* specify the recipes, set an Args
parameter named
* recipes
to the list of recipes to be executed. For
* example, to execute phpapp::appsetup
, set
* Args
to {"recipes":["phpapp::appsetup"]}
* .
* install_dependencies
: Install the stack's
* dependencies.
* update_custom_cookbooks
: Update the stack's
* custom cookbooks.
* update_dependencies
: Update the stack's
* dependencies.
*
* The update_dependencies and install_dependencies commands
* are supported only for Linux instances. You can run the commands
* successfully on Windows instances, but they do nothing.
*
* For apps, the following commands are available:
*
*
* deploy
: Deploy an app. Ruby on Rails apps have an
* optional Args
parameter named migrate
.
* Set Args
to {"migrate":["true"]} to migrate the
* database. The default setting is {"migrate":["false"]}.
* rollback
Roll the app back to the previous
* version. When you update an app, AWS OpsWorks stores the previous
* version, up to a maximum of five versions. You can use this
* command to roll an app back as many as four versions.
* start
: Start the app's web or application server.
*
* stop
: Stop the app's web or application server.
* restart
: Restart the app's web or application
* server.
* undeploy
: Undeploy the app.
* @return Returns a reference to this object so that method calls can be
* chained together.
* @see DeploymentCommandName
*/
public DeploymentCommand withName(DeploymentCommandName name) {
setName(name);
return this;
}
/**
*
* The arguments of those commands that take arguments. It should be set to
* a JSON object with the following format:
*
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon Linux
* version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS OpsWorks
* to reboot the instances if necessary, after installing the updates. This
* argument can be set to either true
or false
.
* The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*
* @return The arguments of those commands that take arguments. It should be
* set to a JSON object with the following format:
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon
* Linux version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS
* OpsWorks to reboot the instances if necessary, after installing
* the updates. This argument can be set to either true
* or false
. The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*/
public java.util.Map> getArgs() {
if (args == null) {
args = new com.amazonaws.internal.SdkInternalMap>();
}
return args;
}
/**
*
* The arguments of those commands that take arguments. It should be set to
* a JSON object with the following format:
*
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon Linux
* version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS OpsWorks
* to reboot the instances if necessary, after installing the updates. This
* argument can be set to either true
or false
.
* The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*
* @param args
* The arguments of those commands that take arguments. It should be
* set to a JSON object with the following format:
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon
* Linux version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS
* OpsWorks to reboot the instances if necessary, after installing
* the updates. This argument can be set to either true
* or false
. The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*/
public void setArgs(java.util.Map> args) {
this.args = args == null ? null
: new com.amazonaws.internal.SdkInternalMap>(
args);
}
/**
*
* The arguments of those commands that take arguments. It should be set to
* a JSON object with the following format:
*
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon Linux
* version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS OpsWorks
* to reboot the instances if necessary, after installing the updates. This
* argument can be set to either true
or false
.
* The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
*
* @param args
* The arguments of those commands that take arguments. It should be
* set to a JSON object with the following format:
*
* {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}
*
*
* The update_dependencies
command takes two arguments:
*
*
* upgrade_os_to
- Specifies the desired Amazon
* Linux version for instances whose OS you want to upgrade, such as
* Amazon Linux 2014.09
. You must also set the
* allow_reboot
argument to true.
* allow_reboot
- Specifies whether to allow AWS
* OpsWorks to reboot the instances if necessary, after installing
* the updates. This argument can be set to either true
* or false
. The default value is false
.
*
*
* For example, to upgrade an instance to Amazon Linux 2014.09, set
* Args
to the following.
*
* { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public DeploymentCommand withArgs(
java.util.Map> args) {
setArgs(args);
return this;
}
public DeploymentCommand addArgsEntry(String key,
java.util.List value) {
if (null == this.args) {
this.args = new com.amazonaws.internal.SdkInternalMap>();
}
if (this.args.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.args.put(key, value);
return this;
}
/**
* Removes all the entries added into Args. <p> Returns a reference to
* this object so that method calls can be chained together.
*/
public DeploymentCommand clearArgsEntries() {
this.args = null;
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 (getName() != null)
sb.append("Name: " + getName() + ",");
if (getArgs() != null)
sb.append("Args: " + getArgs());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof DeploymentCommand == false)
return false;
DeploymentCommand other = (DeploymentCommand) obj;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null
&& other.getName().equals(this.getName()) == false)
return false;
if (other.getArgs() == null ^ this.getArgs() == null)
return false;
if (other.getArgs() != null
&& other.getArgs().equals(this.getArgs()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode
+ ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode
+ ((getArgs() == null) ? 0 : getArgs().hashCode());
return hashCode;
}
@Override
public DeploymentCommand clone() {
try {
return (DeploymentCommand) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException(
"Got a CloneNotSupportedException from Object.clone() "
+ "even though we're Cloneable!", e);
}
}
}