All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.opsworks.model.DeploymentCommand Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS OpsWorks module holds the client classes that are used for communicating with AWS OpsWorks Service

There is a newer version: 1.11.7
Show newest version
/*
 * 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); } } }