Note

You are viewing the documentation for an older version of boto (boto2).

Boto3, the next version of Boto, is now stable and recommended for general use. It can be used side-by-side with Boto in the same project, so it is easy to start using Boto3 in your existing projects as well as new projects. Going forward, API updates and all new feature work will be focused on Boto3.

For more information, see the documentation for boto3.

Opsworks

boto.opsworks

boto.opsworks.connect_to_region(region_name, **kw_params)
boto.opsworks.regions()

Get all available regions for the Amazon OpsWorks service.

Return type:list
Returns:A list of boto.regioninfo.RegionInfo

boto.opsworks.layer1

class boto.opsworks.layer1.OpsWorksConnection(**kwargs)

AWS OpsWorks Welcome to the AWS OpsWorks API Reference . This guide provides descriptions, syntax, and usage examples about AWS OpsWorks actions and data types, including common parameters and error codes.

AWS OpsWorks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the `AWS OpsWorks`_ details page.

SDKs and CLI

The most common way to use the AWS OpsWorks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks supports only one endpoint, opsworks.us- east-1.amazonaws.com (HTTPS), so you must connect to that endpoint. You can then use the API to direct AWS OpsWorks to create stacks in any AWS Region.

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version, 0.9, 11.4, or 11.10. The default value is currently 11.10. For more information, see `Chef Versions`_.

You can still specify Chef 0.9 for your stack, but new features are not available for Chef 0.9 stacks, and support is scheduled to end on July 24, 2014. We do not recommend using Chef 0.9 for new stacks, and we recommend migrating your existing Chef 0.9 stacks to Chef 11.10 as soon as possible.

APIVersion = '2013-02-18'
DefaultRegionEndpoint = 'opsworks.us-east-1.amazonaws.com'
DefaultRegionName = 'us-east-1'
ResponseError

alias of JSONResponseError

ServiceName = 'OpsWorks'
TargetPrefix = 'OpsWorks_20130218'
assign_instance(instance_id, layer_ids)

Assign a registered instance to a custom layer. You cannot use this action with instances that were created with AWS OpsWorks.

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

Parameters:
  • instance_id (string) – The instance ID.
  • layer_ids (list) – The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer.
assign_volume(volume_id, instance_id=None)

Assigns one of the stack’s registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume. For more information, see `Resource Management`_.

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

Parameters:
  • volume_id (string) – The volume ID.
  • instance_id (string) – The instance ID.
associate_elastic_ip(elastic_ip, instance_id=None)

Associates one of the stack’s registered Elastic IP addresses with a specified instance. The address must first be registered with the stack by calling RegisterElasticIp. For more information, see `Resource Management`_.

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

Parameters:
  • elastic_ip (string) – The Elastic IP address.
  • instance_id (string) – The instance ID.
attach_elastic_load_balancer(elastic_load_balancer_name, layer_id)

Attaches an Elastic Load Balancing load balancer to a specified layer. For more information, see `Elastic Load Balancing`_.

You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see ` Elastic Load Balancing Developer Guide`_.

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

Parameters:
  • elastic_load_balancer_name (string) – The Elastic Load Balancing instance’s name.
  • layer_id (string) – The ID of the layer that the Elastic Load Balancing instance is to be attached to.
clone_stack(source_stack_id, service_role_arn, name=None, region=None, vpc_id=None, attributes=None, default_instance_profile_arn=None, default_os=None, hostname_theme=None, default_availability_zone=None, default_subnet_id=None, custom_json=None, configuration_manager=None, chef_configuration=None, use_custom_cookbooks=None, use_opsworks_security_groups=None, custom_cookbooks_source=None, default_ssh_key_name=None, clone_permissions=None, clone_app_ids=None, default_root_device_type=None)

Creates a clone of a specified stack. For more information, see `Clone a Stack`_.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:
  • source_stack_id (string) – The source stack ID.
  • name (string) – The cloned stack name.
  • region (string) – The cloned stack AWS region, such as “us-east-1”. For more information about AWS regions, see `Regions and Endpoints`_.
  • vpc_id (string) – The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.
  • If your account supports EC2 Classic, the default value is no VPC.
  • If your account does not support EC2 Classic, the default value is
    the default VPC for the specified region.
If the VPC ID corresponds to a default VPC and you have specified
either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified
    region.
  • You must specify a value for DefaultSubnetId.
For more information on how to use AWS OpsWorks with a VPC, see
`Running a Stack in a VPC`_. For more information on default VPC and EC2 Classic, see `Supported Platforms`_.
Parameters:
  • attributes (map) – A list of stack attributes and values as key/value pairs to be added to the cloned stack.
  • service_role_arn (string) –
The stack AWS Identity and Access Management (IAM) role, which allows
AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks console, it creates the role for you. You can obtain an existing stack’s IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see `Using Identifiers`_.
You must set this parameter to a valid service role ARN or the action
will fail; there is no default value. You can specify the source stack’s service role ARN, if you prefer, but you must do so explicitly.
Parameters:
  • default_instance_profile_arn (string) – The ARN of an IAM profile that is the default profile for all of the stack’s EC2 instances. For more information about IAM ARNs, see `Using Identifiers`_.
  • default_os (string) – The stacks’s operating system, which must be set to one of the following.
  • Standard operating systems: an Amazon Linux version such as `Amazon
    Linux 2014.09`, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS.
  • Custom AMIs: Custom. You specify the custom AMI you want to use
    when you create instances.

The default option is the current Amazon Linux version.

Parameters:hostname_theme (string) – The stack’s host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack’s instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer’s short name. The other themes are:
  • Baked_Goods
  • Clouds
  • European_Cities
  • Fruits
  • Greek_Deities
  • Legendary_Creatures_from_Japan
  • Planets_and_Moons
  • Roman_Deities
  • Scottish_Islands
  • US_Cities
  • Wild_Cats
To obtain a generated host name, call GetHostNameSuggestion, which
returns a host name based on the current theme.
Parameters:
  • default_availability_zone (string) – The cloned stack’s default Availability Zone, which must be in the specified region. For more information, see `Regions and Endpoints`_. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.
  • default_subnet_id (string) – The stack’s default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.
  • custom_json (string) – A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as ‘”’.:

“{“key1”: “value1”, “key2”: “value2”,...}”

For more information on custom JSON, see `Use Custom JSON to Modify the
Stack Configuration JSON`_
Parameters:
  • configuration_manager (dict) – The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version, 0.9, 11.4, or 11.10. The default value is currently 11.4.
  • chef_configuration (dict) – A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see `Create a New Stack`_.
  • use_custom_cookbooks (boolean) – Whether to use custom cookbooks.
  • use_opsworks_security_groups (boolean) – Whether to associate the AWS OpsWorks built-in security groups with the stack’s layers.
AWS OpsWorks provides a standard set of built-in security groups, one
for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:
  • True - AWS OpsWorks automatically associates the appropriate built-in
    security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.
  • False - AWS OpsWorks does not associate built-in security groups with
    layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see `Create a New Stack`_.

Parameters:
  • custom_cookbooks_source (dict) – Contains the information required to retrieve an app or cookbook from a repository. For more information, see `Creating Apps`_ or `Custom Recipes and Cookbooks`_.
  • default_ssh_key_name (string) – A default SSH key for the stack instances. You can override this value when you create or update an instance.
  • clone_permissions (boolean) – Whether to clone the source stack’s permissions.
  • clone_app_ids (list) – A list of source stack app IDs to be included in the cloned stack.
  • default_root_device_type (string) – The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see `Storage for the Root Device`_.
create_app(stack_id, name, type, shortname=None, description=None, data_sources=None, app_source=None, domains=None, enable_ssl=None, ssl_configuration=None, attributes=None, environment=None)

Creates an app for a specified stack. For more information, see `Creating Apps`_.

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

Parameters:
  • stack_id (string) – The stack ID.
  • shortname (string) – The app’s short name.
  • name (string) – The app name.
  • description (string) – A description of the app.
  • data_sources (list) – The app’s data source.
  • type (string) – The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks deploys an application to those instances that are members of the corresponding layer.
  • app_source (dict) – A Source object that specifies the app repository.
  • domains (list) – The app virtual host settings, with multiple domains separated by commas. For example: ‘www.example.com, example.com’
  • enable_ssl (boolean) – Whether to enable SSL for the app.
  • ssl_configuration (dict) – An SslConfiguration object with the SSL configuration.
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • environment (list) –
An array of EnvironmentVariable objects that specify environment
variables to be associated with the app. You can specify up to ten environment variables. After you deploy the app, these variables are defined on the associated app server instance.
This parameter is supported only by Chef 11.10 stacks. If you have
specified one or more environment variables, you cannot modify the stack’s Chef version.
create_deployment(stack_id, command, app_id=None, instance_ids=None, comment=None, custom_json=None)

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`_.

Parameters:
  • stack_id (string) – The stack ID.
  • app_id (string) – The app ID. This parameter is required for app deployments, but not for other deployment commands.
  • instance_ids (list) – The instance IDs for the deployment targets.
  • command (dict) – A DeploymentCommand object that specifies the deployment command and any associated arguments.
  • comment (string) – A user-defined comment.
  • custom_json (string) – A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as ‘”’.:

“{“key1”: “value1”, “key2”: “value2”,...}”

For more information on custom JSON, see `Use Custom JSON to Modify the
Stack Configuration JSON`_.
create_instance(stack_id, layer_ids, instance_type, auto_scaling_type=None, hostname=None, os=None, ami_id=None, ssh_key_name=None, availability_zone=None, virtualization_type=None, subnet_id=None, architecture=None, root_device_type=None, install_updates_on_boot=None, ebs_optimized=None)

Creates an instance in a specified stack. For more information, see `Adding an Instance to a Layer`_.

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

Parameters:
  • stack_id (string) – The stack ID.
  • layer_ids (list) – An array that contains the instance layer IDs.
  • instance_type (string) – The instance type. AWS OpsWorks supports all instance types except Cluster Compute, Cluster GPU, and High Memory Cluster. For more information, see `Instance Families and Types`_. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.
  • auto_scaling_type (string) – For load-based or time-based instances, the type.
  • hostname (string) – The instance host name.
  • os (string) – The instance’s operating system, which must be set to one of the following.
  • Standard operating systems: an Amazon Linux version such as `Amazon
    Linux 2014.09`, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS.
  • Custom AMIs: Custom
The default option is the current Amazon Linux version. If you set this
parameter to Custom, you must use the CreateInstance action’s AmiId parameter to specify the custom AMI that you want to use. For more information on the standard operating systems, see `Operating Systems`_For more information on how to use custom AMIs with OpsWorks, see `Using Custom AMIs`_.
Parameters:ami_id (string) –
A custom AMI ID to be used to create the instance. The AMI should be
based on one of the standard AWS OpsWorks AMIs: Amazon Linux, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS. For more information, see `Instances`_.

If you specify a custom AMI, you must set Os to Custom.

Parameters:
  • ssh_key_name (string) – The instance SSH key name.
  • availability_zone (string) – The instance Availability Zone. For more information, see `Regions and Endpoints`_.
  • virtualization_type (string) – The instance’s virtualization type, paravirtual or hvm.
  • subnet_id (string) – The ID of the instance’s subnet. If the stack is running in a VPC, you can use this parameter to override the stack’s default subnet ID value and direct AWS OpsWorks to launch the instance in a different subnet.
  • architecture (string) – The instance architecture. The default option is x86_64. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see `Instance Families and Types`_.
  • root_device_type (string) – The instance root device type. For more information, see `Storage for the Root Device`_.
  • install_updates_on_boot (boolean) –
Whether to install operating system and package updates when the
instance boots. The default value is True. To control when updates are installed, set this value to False. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
We strongly recommend using the default value of True to ensure that
your instances have the latest security updates.
Parameters:ebs_optimized (boolean) – Whether to create an Amazon EBS-optimized instance.
create_layer(stack_id, type, name, shortname, attributes=None, custom_instance_profile_arn=None, custom_security_group_ids=None, packages=None, volume_configurations=None, enable_auto_healing=None, auto_assign_elastic_ips=None, auto_assign_public_ips=None, custom_recipes=None, install_updates_on_boot=None, use_ebs_optimized_instances=None, lifecycle_event_configuration=None)

Creates a layer. For more information, see `How to Create a Layer`_.

You should use CreateLayer for noncustom layer types such as PHP App Server only if the stack does not have an existing layer of that type. A stack can have at most one instance of each noncustom layer; if you attempt to create a second instance, CreateLayer fails. A stack can have an arbitrary number of custom layers, so you can call CreateLayer as many times as you like for that layer type.

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

Parameters:
  • stack_id (string) – The layer stack ID.
  • type (string) – The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers.
  • name (string) – The layer name, which is used by the console.
  • shortname (string) – The layer short name, which is used internally by AWS OpsWorks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, ‘-‘, ‘_’, and ‘.’.
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • custom_instance_profile_arn (string) – The ARN of an IAM profile that to be used for the layer’s EC2 instances. For more information about IAM ARNs, see `Using Identifiers`_.
  • custom_security_group_ids (list) – An array containing the layer custom security group IDs.
  • packages (list) – An array of Package objects that describe the layer packages.
  • volume_configurations (list) – A VolumeConfigurations object that describes the layer’s Amazon EBS volumes.
  • enable_auto_healing (boolean) – Whether to disable auto healing for the layer.
  • auto_assign_elastic_ips (boolean) – Whether to automatically assign an `Elastic IP address`_ to the layer’s instances. For more information, see `How to Edit a Layer`_.
  • auto_assign_public_ips (boolean) – For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer’s instances. For more information, see `How to Edit a Layer`_.
  • custom_recipes (dict) – A LayerCustomRecipes object that specifies the layer custom recipes.
  • install_updates_on_boot (boolean) –
Whether to install operating system and package updates when the
instance boots. The default value is True. To control when updates are installed, set this value to False. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
We strongly recommend using the default value of True, to ensure that
your instances have the latest security updates.
Parameters:
  • use_ebs_optimized_instances (boolean) – Whether to use Amazon EBS-optimized instances.
  • lifecycle_event_configuration (dict) – A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining.
create_stack(name, region, service_role_arn, default_instance_profile_arn, vpc_id=None, attributes=None, default_os=None, hostname_theme=None, default_availability_zone=None, default_subnet_id=None, custom_json=None, configuration_manager=None, chef_configuration=None, use_custom_cookbooks=None, use_opsworks_security_groups=None, custom_cookbooks_source=None, default_ssh_key_name=None, default_root_device_type=None)

Creates a new stack. For more information, see `Create a New Stack`_.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:
  • name (string) – The stack name.
  • region (string) – The stack AWS region, such as “us-east-1”. For more information about Amazon regions, see `Regions and Endpoints`_.
  • vpc_id (string) – The ID of the VPC that the stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.
  • If your account supports EC2 Classic, the default value is no VPC.
  • If your account does not support EC2 Classic, the default value is
    the default VPC for the specified region.
If the VPC ID corresponds to a default VPC and you have specified
either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified
    region.
  • You must specify a value for DefaultSubnetId.
For more information on how to use AWS OpsWorks with a VPC, see
`Running a Stack in a VPC`_. For more information on default VPC and EC2 Classic, see `Supported Platforms`_.
Parameters:
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • service_role_arn (string) – The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see `Using Identifiers`_.
  • default_instance_profile_arn (string) – The ARN of an IAM profile that is the default profile for all of the stack’s EC2 instances. For more information about IAM ARNs, see `Using Identifiers`_.
  • default_os (string) – The stack’s operating system, which must be set to one of the following.
  • Standard operating systems: an Amazon Linux version such as `Amazon
    Linux 2014.09`, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS.
  • Custom AMIs: Custom. You specify the custom AMI you want to use
    when you create instances.

The default option is the current Amazon Linux version.

Parameters:hostname_theme (string) – The stack’s host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack’s instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer’s short name. The other themes are:
  • Baked_Goods
  • Clouds
  • European_Cities
  • Fruits
  • Greek_Deities
  • Legendary_Creatures_from_Japan
  • Planets_and_Moons
  • Roman_Deities
  • Scottish_Islands
  • US_Cities
  • Wild_Cats
To obtain a generated host name, call GetHostNameSuggestion, which
returns a host name based on the current theme.
Parameters:
  • default_availability_zone (string) – The stack’s default Availability Zone, which must be in the specified region. For more information, see `Regions and Endpoints`_. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.
  • default_subnet_id (string) – The stack’s default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.
  • custom_json (string) – A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as ‘”’.:

“{“key1”: “value1”, “key2”: “value2”,...}”

For more information on custom JSON, see `Use Custom JSON to Modify the
Stack Configuration JSON`_.
Parameters:
  • configuration_manager (dict) – The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version, 0.9, 11.4, or 11.10. The default value is currently 11.4.
  • chef_configuration (dict) – A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see `Create a New Stack`_.
  • use_custom_cookbooks (boolean) – Whether the stack uses custom cookbooks.
  • use_opsworks_security_groups (boolean) – Whether to associate the AWS OpsWorks built-in security groups with the stack’s layers.
AWS OpsWorks provides a standard set of built-in security groups, one
for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:
  • True - AWS OpsWorks automatically associates the appropriate built-in
    security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.
  • False - AWS OpsWorks does not associate built-in security groups with
    layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see `Create a New Stack`_.

Parameters:
  • custom_cookbooks_source (dict) – Contains the information required to retrieve an app or cookbook from a repository. For more information, see `Creating Apps`_ or `Custom Recipes and Cookbooks`_.
  • default_ssh_key_name (string) – A default SSH key for the stack instances. You can override this value when you create or update an instance.
  • default_root_device_type (string) – The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store. For more information, see `Storage for the Root Device`_.
create_user_profile(iam_user_arn, ssh_username=None, ssh_public_key=None, allow_self_management=None)

Creates a new user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:
  • iam_user_arn (string) – The user’s IAM ARN.
  • ssh_username (string) – The user’s SSH user name. The allowable characters are [a-z], [A-Z], [0-9], ‘-‘, and ‘_’. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.
  • ssh_public_key (string) – The user’s public SSH key.
  • allow_self_management (boolean) – Whether users can specify their own SSH public key through the My Settings page. For more information, see `Setting an IAM User’s Public SSH Key`_.
delete_app(app_id)

Deletes a specified app.

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

Parameters:app_id (string) – The app ID.
delete_instance(instance_id, delete_elastic_ip=None, delete_volumes=None)

Deletes a specified instance, which terminates the associated Amazon EC2 instance. You must stop an instance before you can delete it.

For more information, see `Deleting Instances`_.

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

Parameters:
  • instance_id (string) – The instance ID.
  • delete_elastic_ip (boolean) – Whether to delete the instance Elastic IP address.
  • delete_volumes (boolean) – Whether to delete the instance’s Amazon EBS volumes.
delete_layer(layer_id)

Deletes a specified layer. You must first stop and then delete all associated instances or unassign registered instances. For more information, see `How to Delete a Layer`_.

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

Parameters:layer_id (string) – The layer ID.
delete_stack(stack_id)

Deletes a specified stack. You must first delete all instances, layers, and apps or deregister registered instances. For more information, see `Shut Down a Stack`_.

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

Parameters:stack_id (string) – The stack ID.
delete_user_profile(iam_user_arn)

Deletes a user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:iam_user_arn (string) – The user’s IAM ARN.
deregister_elastic_ip(elastic_ip)

Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see `Resource Management`_.

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

Parameters:elastic_ip (string) – The Elastic IP address.
deregister_instance(instance_id)

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks.

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

Parameters:instance_id (string) – The instance ID.
deregister_rds_db_instance(rds_db_instance_arn)

Deregisters an Amazon RDS instance.

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

Parameters:rds_db_instance_arn (string) – The Amazon RDS instance’s ARN.
deregister_volume(volume_id)

Deregisters an Amazon EBS volume. The volume can then be registered by another stack. For more information, see `Resource Management`_.

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

Parameters:volume_id (string) – The volume ID.
describe_apps(stack_id=None, app_ids=None)

Requests a description of a specified set of apps.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – The app stack ID. If you use this parameter, DescribeApps returns a description of the apps in the specified stack.
  • app_ids (list) – An array of app IDs for the apps to be described. If you use this parameter, DescribeApps returns a description of the specified apps. Otherwise, it returns a description of every app.
describe_commands(deployment_id=None, instance_id=None, command_ids=None)

Describes the results of specified commands.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • deployment_id (string) – The deployment ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified deployment.
  • instance_id (string) – The instance ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified instance.
  • command_ids (list) – An array of command IDs. If you include this parameter, DescribeCommands returns a description of the specified commands. Otherwise, it returns a description of every command.
describe_deployments(stack_id=None, app_id=None, deployment_ids=None)

Requests a description of a specified set of deployments.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – The stack ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified stack.
  • app_id (string) – The app ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified app.
  • deployment_ids (list) – An array of deployment IDs to be described. If you include this parameter, DescribeDeployments returns a description of the specified deployments. Otherwise, it returns a description of every deployment.
describe_elastic_ips(instance_id=None, stack_id=None, ips=None)

Describes `Elastic IP addresses`_.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • instance_id (string) – The instance ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses associated with the specified instance.
  • stack_id (string) – A stack ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses that are registered with the specified stack.
  • ips (list) – An array of Elastic IP addresses to be described. If you include this parameter, DescribeElasticIps returns a description of the specified Elastic IP addresses. Otherwise, it returns a description of every Elastic IP address.
describe_elastic_load_balancers(stack_id=None, layer_ids=None)

Describes a stack’s Elastic Load Balancing instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – A stack ID. The action describes the stack’s Elastic Load Balancing instances.
  • layer_ids (list) – A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers.
describe_instances(stack_id=None, layer_id=None, instance_ids=None)

Requests a description of a set of instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack.
  • layer_id (string) – A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.
  • instance_ids (list) – An array of instance IDs to be described. If you use this parameter, DescribeInstances returns a description of the specified instances. Otherwise, it returns a description of every instance.
describe_layers(stack_id=None, layer_ids=None)

Requests a description of one or more layers in a specified stack.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – The stack ID.
  • layer_ids (list) – An array of layer IDs that specify the layers to be described. If you omit this parameter, DescribeLayers returns a description of every layer in the specified stack.
describe_load_based_auto_scaling(layer_ids)

Describes load-based auto scaling configurations for specified layers.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:layer_ids (list) – An array of layer IDs.
describe_my_user_profile()

Describes a user’s SSH information.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

describe_permissions(iam_user_arn=None, stack_id=None)

Describes the permissions for a specified stack.

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

Parameters:
describe_raid_arrays(instance_id=None, stack_id=None, raid_array_ids=None)

Describe an instance’s RAID arrays.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • instance_id (string) – The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance.
  • stack_id (string) – The stack ID.
  • raid_array_ids (list) – An array of RAID array IDs. If you use this parameter, DescribeRaidArrays returns descriptions of the specified arrays. Otherwise, it returns a description of every array.
describe_rds_db_instances(stack_id, rds_db_instance_arns=None)

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.
  • rds_db_instance_arns (list) – An array containing the ARNs of the instances to be described.
describe_service_errors(stack_id=None, instance_id=None, service_error_ids=None)

Describes AWS OpsWorks service errors.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • stack_id (string) – The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified stack.
  • instance_id (string) – The instance ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified instance.
  • service_error_ids (list) – An array of service error IDs. If you use this parameter, DescribeServiceErrors returns descriptions of the specified errors. Otherwise, it returns a description of every error.
describe_stack_provisioning_parameters(stack_id)

Requests a description of a stack’s provisioning parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:stack_id (string) – The stack ID
describe_stack_summary(stack_id)

Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:stack_id (string) – The stack ID.
describe_stacks(stack_ids=None)

Requests a description of one or more stacks.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:stack_ids (list) – An array of stack IDs that specify the stacks to be described. If you omit this parameter, DescribeStacks returns a description of every stack.
describe_time_based_auto_scaling(instance_ids)

Describes time-based auto scaling configurations for specified instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:instance_ids (list) – An array of instance IDs.
describe_user_profiles(iam_user_arns=None)

Describe specified users.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:iam_user_arns (list) – An array of IAM user ARNs that identify the users to be described.
describe_volumes(instance_id=None, stack_id=None, raid_array_id=None, volume_ids=None)

Describes an instance’s Amazon EBS volumes.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, 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`_.

Parameters:
  • instance_id (string) – The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.
  • stack_id (string) – A stack ID. The action describes the stack’s registered Amazon EBS volumes.
  • raid_array_id (string) – The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified RAID array.
  • volume_ids (list) – Am array of volume IDs. If you use this parameter, DescribeVolumes returns descriptions of the specified volumes. Otherwise, it returns a description of every volume.
detach_elastic_load_balancer(elastic_load_balancer_name, layer_id)

Detaches a specified Elastic Load Balancing instance from its layer.

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

Parameters:
  • elastic_load_balancer_name (string) – The Elastic Load Balancing instance’s name.
  • layer_id (string) – The ID of the layer that the Elastic Load Balancing instance is attached to.
disassociate_elastic_ip(elastic_ip)

Disassociates an Elastic IP address from its instance. The address remains registered with the stack. For more information, see `Resource Management`_.

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

Parameters:elastic_ip (string) – The Elastic IP address.
get_hostname_suggestion(layer_id)

Gets a generated host name for the specified layer, based on the current host name theme.

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

Parameters:layer_id (string) – The layer ID.
make_request(action, body)
reboot_instance(instance_id)

Reboots a specified instance. For more information, see `Starting, Stopping, and Rebooting Instances`_.

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

Parameters:instance_id (string) – The instance ID.
register_elastic_ip(elastic_ip, stack_id)

Registers an Elastic IP address with a specified stack. An address can be registered with only one stack at a time. If the address is already registered, you must first deregister it by calling DeregisterElasticIp. For more information, see `Resource Management`_.

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

Parameters:
  • elastic_ip (string) – The Elastic IP address.
  • stack_id (string) – The stack ID.
register_instance(stack_id, hostname=None, public_ip=None, private_ip=None, rsa_public_key=None, rsa_public_key_fingerprint=None, instance_identity=None)

Registers instances with a specified stack that were created outside of AWS OpsWorks.

We do not recommend using this action to register instances. The complete registration operation has two primary steps, installing the AWS OpsWorks agent on the instance and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation.

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

Parameters:
  • stack_id (string) – The ID of the stack that the instance is to be registered with.
  • hostname (string) – The instance’s hostname.
  • public_ip (string) – The instance’s public IP address.
  • private_ip (string) – The instance’s private IP address.
  • rsa_public_key (string) – The instances public RSA key. This key is used to encrypt communication between the instance and the service.
  • rsa_public_key_fingerprint (string) – The instances public RSA key fingerprint.
  • instance_identity (dict) – An InstanceIdentity object that contains the instance’s identity.
register_rds_db_instance(stack_id, rds_db_instance_arn, db_user, db_password)

Registers an Amazon RDS instance with a stack.

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

Parameters:
  • stack_id (string) – The stack ID.
  • rds_db_instance_arn (string) – The Amazon RDS instance’s ARN.
  • db_user (string) – The database’s master user name.
  • db_password (string) – The database password.
register_volume(stack_id, ec_2_volume_id=None)

Registers an Amazon EBS volume with a specified stack. A volume can be registered with only one stack at a time. If the volume is already registered, you must first deregister it by calling DeregisterVolume. For more information, see `Resource Management`_.

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

Parameters:
  • ec_2_volume_id (string) – The Amazon EBS volume ID.
  • stack_id (string) – The stack ID.
set_load_based_auto_scaling(layer_id, enable=None, up_scaling=None, down_scaling=None)

Specify the load-based auto scaling configuration for a specified layer. For more information, see `Managing Load with Time-based and Load-based Instances`_.

To use load-based auto scaling, you must create a set of load- based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load.

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

Parameters:
  • layer_id (string) – The layer ID.
  • enable (boolean) – Enables load-based auto scaling for the layer.
  • up_scaling (dict) – An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks starts a specified number of instances.
  • down_scaling (dict) – An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks stops a specified number of instances.
set_permission(stack_id, iam_user_arn, allow_ssh=None, allow_sudo=None, level=None)

Specifies a user’s permissions. For more information, see `Security and Permissions`_.

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

Parameters:
  • stack_id (string) – The stack ID.
  • iam_user_arn (string) – The user’s IAM ARN.
  • allow_ssh (boolean) – The user is allowed to use SSH to communicate with the instance.
  • allow_sudo (boolean) – The user is allowed to use sudo to elevate privileges.
  • level (string) – The user’s permission level, which must be set to one of the following strings. You cannot set your own permissions level.
  • deny
  • show
  • deploy
  • manage
  • iam_only
For more information on the permissions associated with these levels,
see `Managing User Permissions`_
set_time_based_auto_scaling(instance_id, auto_scaling_schedule=None)

Specify the time-based auto scaling configuration for a specified instance. For more information, see `Managing Load with Time-based and Load-based Instances`_.

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

Parameters:
  • instance_id (string) – The instance ID.
  • auto_scaling_schedule (dict) – An AutoScalingSchedule with the instance schedule.
start_instance(instance_id)

Starts a specified instance. For more information, see `Starting, Stopping, and Rebooting Instances`_.

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

Parameters:instance_id (string) – The instance ID.
start_stack(stack_id)

Starts a stack’s instances.

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

Parameters:stack_id (string) – The stack ID.
stop_instance(instance_id)

Stops a specified instance. When you stop a standard instance, the data disappears and must be reinstalled when you restart the instance. You can stop an Amazon EBS-backed instance without losing data. For more information, see `Starting, Stopping, and Rebooting Instances`_.

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

Parameters:instance_id (string) – The instance ID.
stop_stack(stack_id)

Stops a specified stack.

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

Parameters:stack_id (string) – The stack ID.
unassign_instance(instance_id)

Unassigns a registered instance from all of it’s layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks.

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

Parameters:instance_id (string) – The instance ID.
unassign_volume(volume_id)

Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see `Resource Management`_.

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

Parameters:volume_id (string) – The volume ID.
update_app(app_id, name=None, description=None, data_sources=None, type=None, app_source=None, domains=None, enable_ssl=None, ssl_configuration=None, attributes=None, environment=None)

Updates a specified app.

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`_.

Parameters:
  • app_id (string) – The app ID.
  • name (string) – The app name.
  • description (string) – A description of the app.
  • data_sources (list) – The app’s data sources.
  • type (string) – The app type.
  • app_source (dict) – A Source object that specifies the app repository.
  • domains (list) – The app’s virtual host settings, with multiple domains separated by commas. For example: ‘www.example.com, example.com’
  • enable_ssl (boolean) – Whether SSL is enabled for the app.
  • ssl_configuration (dict) – An SslConfiguration object with the SSL configuration.
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • environment (list) –
An array of EnvironmentVariable objects that specify environment
variables to be associated with the app. You can specify up to ten environment variables. After you deploy the app, these variables are defined on the associated app server instances.
This parameter is supported only by Chef 11.10 stacks. If you have
specified one or more environment variables, you cannot modify the stack’s Chef version.
update_elastic_ip(elastic_ip, name=None)

Updates a registered Elastic IP address’s name. For more information, see `Resource Management`_.

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

Parameters:
  • elastic_ip (string) – The address.
  • name (string) – The new name.
update_instance(instance_id, layer_ids=None, instance_type=None, auto_scaling_type=None, hostname=None, os=None, ami_id=None, ssh_key_name=None, architecture=None, install_updates_on_boot=None, ebs_optimized=None)

Updates a specified instance.

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

Parameters:
  • instance_id (string) – The instance ID.
  • layer_ids (list) – The instance’s layer IDs.
  • instance_type (string) – The instance type. AWS OpsWorks supports all instance types except Cluster Compute, Cluster GPU, and High Memory Cluster. For more information, see `Instance Families and Types`_. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.
  • auto_scaling_type (string) – For load-based or time-based instances, the type.
  • hostname (string) – The instance host name.
  • os (string) – The instance’s operating system, which must be set to one of the following.
  • Standard operating systems: An Amazon Linux version such as `Amazon
    Linux 2014.09`, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS.
  • Custom AMIs: Custom
The default option is the current Amazon Linux version, such as `Amazon
Linux 2014.09`. If you set this parameter to Custom, you must use the CreateInstance action’s AmiId parameter to specify the custom AMI that you want to use. For more information on the standard operating systems, see `Operating Systems`_For more information on how to use custom AMIs with OpsWorks, see `Using Custom AMIs`_.
Parameters:ami_id (string) –
A custom AMI ID to be used to create the instance. The AMI should be
based on one of the standard AWS OpsWorks AMIs: Amazon Linux, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS. For more information, see `Instances`_

If you specify a custom AMI, you must set Os to Custom.

Parameters:
  • ssh_key_name (string) – The instance SSH key name.
  • architecture (string) – The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see `Instance Families and Types`_.
  • install_updates_on_boot (boolean) –
Whether to install operating system and package updates when the
instance boots. The default value is True. To control when updates are installed, set this value to False. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
We strongly recommend using the default value of True, to ensure that
your instances have the latest security updates.
Parameters:ebs_optimized (boolean) – Whether this is an Amazon EBS-optimized instance.
update_layer(layer_id, name=None, shortname=None, attributes=None, custom_instance_profile_arn=None, custom_security_group_ids=None, packages=None, volume_configurations=None, enable_auto_healing=None, auto_assign_elastic_ips=None, auto_assign_public_ips=None, custom_recipes=None, install_updates_on_boot=None, use_ebs_optimized_instances=None, lifecycle_event_configuration=None)

Updates a specified layer.

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

Parameters:
  • layer_id (string) – The layer ID.
  • name (string) – The layer name, which is used by the console.
  • shortname (string) – The layer short name, which is used internally by AWS OpsWorksand by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /A[a-z0-9-_.]+Z/.
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • custom_instance_profile_arn (string) – The ARN of an IAM profile to be used for all of the layer’s EC2 instances. For more information about IAM ARNs, see `Using Identifiers`_.
  • custom_security_group_ids (list) – An array containing the layer’s custom security group IDs.
  • packages (list) – An array of Package objects that describe the layer’s packages.
  • volume_configurations (list) – A VolumeConfigurations object that describes the layer’s Amazon EBS volumes.
  • enable_auto_healing (boolean) – Whether to disable auto healing for the layer.
  • auto_assign_elastic_ips (boolean) – Whether to automatically assign an `Elastic IP address`_ to the layer’s instances. For more information, see `How to Edit a Layer`_.
  • auto_assign_public_ips (boolean) – For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer’s instances. For more information, see `How to Edit a Layer`_.
  • custom_recipes (dict) – A LayerCustomRecipes object that specifies the layer’s custom recipes.
  • install_updates_on_boot (boolean) –
Whether to install operating system and package updates when the
instance boots. The default value is True. To control when updates are installed, set this value to False. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.
We strongly recommend using the default value of True, to ensure that
your instances have the latest security updates.
Parameters:
  • use_ebs_optimized_instances (boolean) – Whether to use Amazon EBS-optimized instances.
  • lifecycle_event_configuration (dict) –
update_my_user_profile(ssh_public_key=None)

Updates a user’s SSH public key.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:ssh_public_key (string) – The user’s SSH public key.
update_rds_db_instance(rds_db_instance_arn, db_user=None, db_password=None)

Updates an Amazon RDS instance.

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

Parameters:
  • rds_db_instance_arn (string) – The Amazon RDS instance’s ARN.
  • db_user (string) – The master user name.
  • db_password (string) – The database password.
update_stack(stack_id, name=None, attributes=None, service_role_arn=None, default_instance_profile_arn=None, default_os=None, hostname_theme=None, default_availability_zone=None, default_subnet_id=None, custom_json=None, configuration_manager=None, chef_configuration=None, use_custom_cookbooks=None, custom_cookbooks_source=None, default_ssh_key_name=None, default_root_device_type=None, use_opsworks_security_groups=None)

Updates a specified stack.

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

Parameters:
  • stack_id (string) – The stack ID.
  • name (string) – The stack’s new name.
  • attributes (map) – One or more user-defined key/value pairs to be added to the stack attributes.
  • service_role_arn (string) –
The stack AWS Identity and Access Management (IAM) role, which allows
AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see `Using Identifiers`_.
You must set this parameter to a valid service role ARN or the action
will fail; there is no default value. You can specify the stack’s current service role ARN, if you prefer, but you must do so explicitly.
Parameters:
  • default_instance_profile_arn (string) – The ARN of an IAM profile that is the default profile for all of the stack’s EC2 instances. For more information about IAM ARNs, see `Using Identifiers`_.
  • default_os (string) – The stack’s operating system, which must be set to one of the following.
  • Standard operating systems: an Amazon Linux version such as `Amazon
    Linux 2014.09`, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS.
  • Custom AMIs: Custom. You specify the custom AMI you want to use
    when you create instances.

The default option is the current Amazon Linux version.

Parameters:hostname_theme (string) – The stack’s new host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack’s instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer’s short name. The other themes are:
  • Baked_Goods
  • Clouds
  • European_Cities
  • Fruits
  • Greek_Deities
  • Legendary_Creatures_from_Japan
  • Planets_and_Moons
  • Roman_Deities
  • Scottish_Islands
  • US_Cities
  • Wild_Cats
To obtain a generated host name, call GetHostNameSuggestion, which
returns a host name based on the current theme.
Parameters:
  • default_availability_zone (string) – The stack’s default Availability Zone, which must be in the specified region. For more information, see `Regions and Endpoints`_. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack.
  • default_subnet_id (string) – The stack’s default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.
  • custom_json (string) – A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as ‘”’.:

“{“key1”: “value1”, “key2”: “value2”,...}”

For more information on custom JSON, see `Use Custom JSON to Modify the
Stack Configuration JSON`_.
Parameters:
  • configuration_manager (dict) – The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version, 0.9, 11.4, or 11.10. The default value is currently 11.4.
  • chef_configuration (dict) – A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see `Create a New Stack`_.
  • use_custom_cookbooks (boolean) – Whether the stack uses custom cookbooks.
  • custom_cookbooks_source (dict) – Contains the information required to retrieve an app or cookbook from a repository. For more information, see `Creating Apps`_ or `Custom Recipes and Cookbooks`_.
  • default_ssh_key_name (string) – A default SSH key for the stack instances. You can override this value when you create or update an instance.
  • default_root_device_type (string) – The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see `Storage for the Root Device`_.
  • use_opsworks_security_groups (boolean) – Whether to associate the AWS OpsWorks built-in security groups with the stack’s layers.
AWS OpsWorks provides a standard set of built-in security groups, one
for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:
  • True - AWS OpsWorks automatically associates the appropriate built-in
    security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.
  • False - AWS OpsWorks does not associate built-in security groups with
    layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see `Create a New Stack`_.

update_user_profile(iam_user_arn, ssh_username=None, ssh_public_key=None, allow_self_management=None)

Updates a specified user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see `Managing User Permissions`_.

Parameters:
  • iam_user_arn (string) – The user IAM ARN.
  • ssh_username (string) – The user’s SSH user name. The allowable characters are [a-z], [A-Z], [0-9], ‘-‘, and ‘_’. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.
  • ssh_public_key (string) – The user’s new SSH public key.
  • allow_self_management (boolean) – Whether users can specify their own SSH public key through the My Settings page. For more information, see `Managing User Permissions`_.
update_volume(volume_id, name=None, mount_point=None)

Updates an Amazon EBS volume’s name or mount point. For more information, see `Resource Management`_.

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

Parameters:
  • volume_id (string) – The volume ID.
  • name (string) – The new name.
  • mount_point (string) – The new mount point.

boto.opsworks.exceptions

exception boto.opsworks.exceptions.ResourceNotFoundException(status, reason, body=None, *args)
exception boto.opsworks.exceptions.ValidationException(status, reason, body=None, *args)