create_deployment

create_deployment(**kwargs)

Runs deployment or stack commands. For more information, see Deploying Apps and Run Stack Commands.

Required Permissions : To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

See also: AWS API Documentation

Request Syntax

response = client.create_deployment(
    StackId='string',
    AppId='string',
    InstanceIds=[
        'string',
    ],
    LayerIds=[
        'string',
    ],
    Command={
        'Name': 'install_dependencies'|'update_dependencies'|'update_custom_cookbooks'|'execute_recipes'|'configure'|'setup'|'deploy'|'rollback'|'start'|'stop'|'restart'|'undeploy',
        'Args': {
            'string': [
                'string',
            ]
        }
    },
    Comment='string',
    CustomJson='string'
)
Parameters
  • StackId (string) --

    [REQUIRED]

    The stack ID.

  • AppId (string) -- The app ID. This parameter is required for app deployments, but not for other deployment commands.
  • InstanceIds (list) --

    The instance IDs for the deployment targets.

    • (string) --
  • LayerIds (list) --

    The layer IDs for the deployment targets.

    • (string) --
  • Command (dict) --

    [REQUIRED]

    A DeploymentCommand object that specifies the deployment command and any associated arguments.

    • Name (string) -- [REQUIRED]

      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

      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 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.
    • Args (dict) --

      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"] }
      • (string) --
        • (list) --
          • (string) --
  • Comment (string) -- A user-defined comment.
  • CustomJson (string) --

    A string that contains user-defined, custom JSON. You can use this parameter to override some corresponding default stack configuration JSON values. The string should be in the following format:

    "{\"key1\": \"value1\", \"key2\": \"value2\",...}"

    For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes and Overriding Attributes With Custom JSON.

Return type

dict

Returns

Response Syntax

{
    'DeploymentId': 'string'
}

Response Structure

  • (dict) --

    Contains the response to a CreateDeployment request.

    • DeploymentId (string) --

      The deployment ID, which can be used with other requests to identify the deployment.

Exceptions

  • OpsWorks.Client.exceptions.ValidationException
  • OpsWorks.Client.exceptions.ResourceNotFoundException