class Aws::OpsWorks::Types::DeploymentCommand

Used to specify a stack or deployment command.

@note When making an API call, you may pass DeploymentCommand

data as a hash:

    {
      name: "install_dependencies", # required, accepts install_dependencies, update_dependencies, update_custom_cookbooks, execute_recipes, configure, setup, deploy, rollback, start, stop, restart, undeploy
      args: {
        "String" => ["String"],
      },
    }

@!attribute [rw] 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.

<note markdown="1"> 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.

 </note>

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 Stacks 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 [String]

@!attribute [rw] 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
  2016.09`. You must also set the `allow_reboot` argument to true.

* `allow_reboot` - Specifies whether to allow AWS OpsWorks Stacks 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 2016.09, set
`Args` to the following.

` \{ "upgrade_os_to":["Amazon Linux 2016.09"],
"allow_reboot":["true"] \} `
@return [Hash<String,Array<String>>]

@see docs.aws.amazon.com/goto/WebAPI/opsworks-2013-02-18/DeploymentCommand AWS API Documentation

Constants

SENSITIVE