OpsWorks.Client.
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'
)
[REQUIRED]
The stack ID.
The instance IDs for the deployment targets.
The layer IDs for the deployment targets.
[REQUIRED]
A DeploymentCommand
object that specifies the deployment command and any associated arguments.
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.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"] }
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.
dict
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