AWS OpsWorks

2014/12/08 - AWS OpsWorks - 5 new 5 updated api methods

RegisterInstance (new) Link ¶

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

Note

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.

Request Syntax

client.register_instance(
    StackId='string',
    Hostname='string',
    PublicIp='string',
    PrivateIp='string',
    RsaPublicKey='string',
    RsaPublicKeyFingerprint='string',
    InstanceIdentity={
        'Document': 'string',
        'Signature': 'string'
    }
)
type StackId

string

param StackId

[REQUIRED]

The ID of the stack that the instance is to be registered with.

type Hostname

string

param Hostname

The instance's hostname.

type PublicIp

string

param PublicIp

The instance's public IP address.

type PrivateIp

string

param PrivateIp

The instance's private IP address.

type RsaPublicKey

string

param RsaPublicKey

The instances public RSA key. This key is used to encrypt communication between the instance and the service.

type RsaPublicKeyFingerprint

string

param RsaPublicKeyFingerprint

The instances public RSA key fingerprint.

type InstanceIdentity

dict

param InstanceIdentity

An InstanceIdentity object that contains the instance's identity.

  • Document (string) --

    A JSON document that contains the metadata.

  • Signature (string) --

    A signature that can be used to verify the document's accuracy and authenticity.

rtype

dict

returns

Response Syntax

{
    'InstanceId': 'string'
}

Response Structure

  • (dict) --

    Contains the response to a RegisterInstanceResult request.

    • InstanceId (string) --

      The registered instance's AWS OpsWorks ID.

DescribeStackProvisioningParameters (new) Link ¶

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.

Request Syntax

client.describe_stack_provisioning_parameters(
    StackId='string'
)
type StackId

string

param StackId

[REQUIRED]

The stack ID

rtype

dict

returns

Response Syntax

{
    'AgentInstallerUrl': 'string',
    'Parameters': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    Contains the response to a DescribeStackProvisioningParameters request.

    • AgentInstallerUrl (string) --

      The AWS OpsWorks agent installer's URL.

    • Parameters (dict) --

      An embedded object that contains the provisioning parameters.

      • (string) --

        • (string) --

DeregisterInstance (new) Link ¶

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.

Request Syntax

client.deregister_instance(
    InstanceId='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The instance ID.

returns

None

UnassignInstance (new) Link ¶

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.

Request Syntax

client.unassign_instance(
    InstanceId='string'
)
type InstanceId

string

param InstanceId

[REQUIRED]

The instance ID.

returns

None

AssignInstance (new) Link ¶

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.

Request Syntax

client.assign_instance(
    InstanceId='string',
    LayerIds=[
        'string',
    ]
)
type InstanceId

string

param InstanceId

[REQUIRED]

The instance ID.

type LayerIds

list

param LayerIds

[REQUIRED]

The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer.

  • (string) --

returns

None

CreateLayer (updated) Link ¶
Changes (request)
{'LifecycleEventConfiguration': {'Shutdown': {'DelayUntilElbConnectionsDrained': 'boolean',
                                              'ExecutionTimeout': 'integer'}}}

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

Note

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.

Request Syntax

client.create_layer(
    StackId='string',
    Type='java-app'|'lb'|'web'|'php-app'|'rails-app'|'nodejs-app'|'memcached'|'db-master'|'monitoring-master'|'custom',
    Name='string',
    Shortname='string',
    Attributes={
        'string': 'string'
    },
    CustomInstanceProfileArn='string',
    CustomSecurityGroupIds=[
        'string',
    ],
    Packages=[
        'string',
    ],
    VolumeConfigurations=[
        {
            'MountPoint': 'string',
            'RaidLevel': 123,
            'NumberOfDisks': 123,
            'Size': 123,
            'VolumeType': 'string',
            'Iops': 123
        },
    ],
    EnableAutoHealing=True|False,
    AutoAssignElasticIps=True|False,
    AutoAssignPublicIps=True|False,
    CustomRecipes={
        'Setup': [
            'string',
        ],
        'Configure': [
            'string',
        ],
        'Deploy': [
            'string',
        ],
        'Undeploy': [
            'string',
        ],
        'Shutdown': [
            'string',
        ]
    },
    InstallUpdatesOnBoot=True|False,
    UseEbsOptimizedInstances=True|False,
    LifecycleEventConfiguration={
        'Shutdown': {
            'ExecutionTimeout': 123,
            'DelayUntilElbConnectionsDrained': True|False
        }
    }
)
type StackId

string

param StackId

[REQUIRED]

The layer stack ID.

type Type

string

param Type

[REQUIRED]

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.

type Name

string

param Name

[REQUIRED]

The layer name, which is used by the console.

type Shortname

string

param Shortname

[REQUIRED]

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 '.'.

type Attributes

dict

param Attributes

One or more user-defined key/value pairs to be added to the stack attributes.

  • (string) --

    • (string) --

type CustomInstanceProfileArn

string

param CustomInstanceProfileArn

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.

type CustomSecurityGroupIds

list

param CustomSecurityGroupIds

An array containing the layer custom security group IDs.

  • (string) --

type Packages

list

param Packages

An array of Package objects that describe the layer packages.

  • (string) --

type VolumeConfigurations

list

param VolumeConfigurations

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

  • (dict) --

    Describes an Amazon EBS volume configuration.

    • MountPoint (string) -- [REQUIRED]

      The volume mount point. For example "/dev/sdh".

    • RaidLevel (integer) --

      The volume RAID level.

    • NumberOfDisks (integer) -- [REQUIRED]

      The number of disks in the volume.

    • Size (integer) -- [REQUIRED]

      The volume size.

    • VolumeType (string) --

      The volume type:

      • standard - Magnetic

      • io1 - Provisioned IOPS (SSD)

      • gp2 - General Purpose (SSD)

    • Iops (integer) --

      For PIOPS volumes, the IOPS per disk.

type EnableAutoHealing

boolean

param EnableAutoHealing

Whether to disable auto healing for the layer.

type AutoAssignElasticIps

boolean

param AutoAssignElasticIps

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

type AutoAssignPublicIps

boolean

param AutoAssignPublicIps

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.

type CustomRecipes

dict

param CustomRecipes

A LayerCustomRecipes object that specifies the layer custom recipes.

  • Setup (list) --

    An array of custom recipe names to be run following a setup event.

    • (string) --

  • Configure (list) --

    An array of custom recipe names to be run following a configure event.

    • (string) --

  • Deploy (list) --

    An array of custom recipe names to be run following a deploy event.

    • (string) --

  • Undeploy (list) --

    An array of custom recipe names to be run following a undeploy event.

    • (string) --

  • Shutdown (list) --

    An array of custom recipe names to be run following a shutdown event.

    • (string) --

type InstallUpdatesOnBoot

boolean

param InstallUpdatesOnBoot

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.

Note

We strongly recommend using the default value of true , to ensure that your instances have the latest security updates.

type UseEbsOptimizedInstances

boolean

param UseEbsOptimizedInstances

Whether to use Amazon EBS-optimized instances.

type LifecycleEventConfiguration

dict

param LifecycleEventConfiguration

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.

  • Shutdown (dict) --

    A ShutdownEventConfiguration object that specifies the Shutdown event configuration.

    • ExecutionTimeout (integer) --

      The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

    • DelayUntilElbConnectionsDrained (boolean) --

      Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

rtype

dict

returns

Response Syntax

{
    'LayerId': 'string'
}

Response Structure

  • (dict) --

    Contains the response to a CreateLayer request.

    • LayerId (string) --

      The layer ID.

DescribeInstances (updated) Link ¶
Changes (response)
{'Instances': {'InfrastructureClass': 'string',
               'RegisteredBy': 'string',
               'ReportedOs': {'Family': 'string',
                              'Name': 'string',
                              'Version': 'string'}}}

Requests a description of a set of instances.

Note

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.

Request Syntax

client.describe_instances(
    StackId='string',
    LayerId='string',
    InstanceIds=[
        'string',
    ]
)
type StackId

string

param StackId

A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack.

type LayerId

string

param LayerId

A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.

type InstanceIds

list

param InstanceIds

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.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'Instances': [
        {
            'InstanceId': 'string',
            'Ec2InstanceId': 'string',
            'VirtualizationType': 'paravirtual'|'hvm',
            'Hostname': 'string',
            'StackId': 'string',
            'LayerIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ],
            'InstanceType': 'string',
            'InstanceProfileArn': 'string',
            'Status': 'string',
            'Os': 'string',
            'AmiId': 'string',
            'AvailabilityZone': 'string',
            'SubnetId': 'string',
            'PublicDns': 'string',
            'PrivateDns': 'string',
            'PublicIp': 'string',
            'PrivateIp': 'string',
            'ElasticIp': 'string',
            'AutoScalingType': 'load'|'timer',
            'SshKeyName': 'string',
            'SshHostRsaKeyFingerprint': 'string',
            'SshHostDsaKeyFingerprint': 'string',
            'CreatedAt': 'string',
            'LastServiceErrorId': 'string',
            'Architecture': 'x86_64'|'i386',
            'RootDeviceType': 'ebs'|'instance-store',
            'RootDeviceVolumeId': 'string',
            'InstallUpdatesOnBoot': True|False,
            'EbsOptimized': True|False,
            'ReportedOs': {
                'Family': 'string',
                'Name': 'string',
                'Version': 'string'
            },
            'InfrastructureClass': 'string',
            'RegisteredBy': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    Contains the response to a DescribeInstances request.

    • Instances (list) --

      An array of Instance objects that describe the instances.

      • (dict) --

        Describes an instance.

        • InstanceId (string) --

          The instance ID.

        • Ec2InstanceId (string) --

          The ID of the associated Amazon EC2 instance.

        • VirtualizationType (string) --

          The instance's virtualization type, paravirtual or hvm .

        • Hostname (string) --

          The instance host name.

        • StackId (string) --

          The stack ID.

        • LayerIds (list) --

          An array containing the instance layer IDs.

          • (string) --

        • SecurityGroupIds (list) --

          An array containing the instance security group IDs.

          • (string) --

        • InstanceType (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 specify the various types are in the API Name column of the Available Instance Types table.

        • InstanceProfileArn (string) --

          The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.

        • Status (string) --

          The instance status:

          • booting

          • connection_lost

          • online

          • pending

          • rebooting

          • requested

          • running_setup

          • setup_failed

          • shutting_down

          • start_failed

          • stopped

          • stopping

          • terminated

          • terminating

        • Os (string) --

          The instance's operating system.

        • AmiId (string) --

          A custom AMI ID to be used to create the instance. The AMI should be based on one of the standard AWS OpsWorks APIs: Amazon Linux, Ubuntu 12.04 LTS, or Ubuntu 14.04 LTS. For more information, see Instances

        • AvailabilityZone (string) --

          The instance Availability Zone. For more information, see Regions and Endpoints.

        • SubnetId (string) --

          The instance's subnet ID, if the stack is running in a VPC.

        • PublicDns (string) --

          The instance public DNS name.

        • PrivateDns (string) --

          The instance private DNS name.

        • PublicIp (string) --

          The instance public IP address.

        • PrivateIp (string) --

          The instance private IP address.

        • ElasticIp (string) --

          The instance Elastic IP address.

        • AutoScalingType (string) --

          For load-based or time-based instances, the type.

        • SshKeyName (string) --

          The instance SSH key name.

        • SshHostRsaKeyFingerprint (string) --

          The SSH key's RSA fingerprint.

        • SshHostDsaKeyFingerprint (string) --

          The SSH key's DSA fingerprint.

        • CreatedAt (string) --

          The time that the instance was created.

        • LastServiceErrorId (string) --

          The ID of the last service error. For more information, call DescribeServiceErrors.

        • Architecture (string) --

          The instance architecture, "i386" or "x86_64".

        • RootDeviceType (string) --

          The instance root device type. For more information, see Storage for the Root Device.

        • RootDeviceVolumeId (string) --

          The root device volume ID.

        • InstallUpdatesOnBoot (boolean) --

          Whether to install operating system and package updates when the instance boots. The default value is true . If this value is set 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.

          Note

          We strongly recommend using the default value of true , to ensure that your instances have the latest security updates.

        • EbsOptimized (boolean) --

          Whether this is an Amazon EBS-optimized instance.

        • ReportedOs (dict) --

          For registered instances, the reported operating system.

          • Family (string) --

            The operating system family.

          • Name (string) --

            The operating system name.

          • Version (string) --

            The operating system version.

        • InfrastructureClass (string) --

          For registered instances, the infrastructure class: ec2 or on-premises

        • RegisteredBy (string) --

          For registered instances, who performed the registration.

DescribeLayers (updated) Link ¶
Changes (response)
{'Layers': {'LifecycleEventConfiguration': {'Shutdown': {'DelayUntilElbConnectionsDrained': 'boolean',
                                                         'ExecutionTimeout': 'integer'}}}}

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

Note

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.

Request Syntax

client.describe_layers(
    StackId='string',
    LayerIds=[
        'string',
    ]
)
type StackId

string

param StackId

The stack ID.

type LayerIds

list

param LayerIds

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.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'Layers': [
        {
            'StackId': 'string',
            'LayerId': 'string',
            'Type': 'java-app'|'lb'|'web'|'php-app'|'rails-app'|'nodejs-app'|'memcached'|'db-master'|'monitoring-master'|'custom',
            'Name': 'string',
            'Shortname': 'string',
            'Attributes': {
                'string': 'string'
            },
            'CustomInstanceProfileArn': 'string',
            'CustomSecurityGroupIds': [
                'string',
            ],
            'DefaultSecurityGroupNames': [
                'string',
            ],
            'Packages': [
                'string',
            ],
            'VolumeConfigurations': [
                {
                    'MountPoint': 'string',
                    'RaidLevel': 123,
                    'NumberOfDisks': 123,
                    'Size': 123,
                    'VolumeType': 'string',
                    'Iops': 123
                },
            ],
            'EnableAutoHealing': True|False,
            'AutoAssignElasticIps': True|False,
            'AutoAssignPublicIps': True|False,
            'DefaultRecipes': {
                'Setup': [
                    'string',
                ],
                'Configure': [
                    'string',
                ],
                'Deploy': [
                    'string',
                ],
                'Undeploy': [
                    'string',
                ],
                'Shutdown': [
                    'string',
                ]
            },
            'CustomRecipes': {
                'Setup': [
                    'string',
                ],
                'Configure': [
                    'string',
                ],
                'Deploy': [
                    'string',
                ],
                'Undeploy': [
                    'string',
                ],
                'Shutdown': [
                    'string',
                ]
            },
            'CreatedAt': 'string',
            'InstallUpdatesOnBoot': True|False,
            'UseEbsOptimizedInstances': True|False,
            'LifecycleEventConfiguration': {
                'Shutdown': {
                    'ExecutionTimeout': 123,
                    'DelayUntilElbConnectionsDrained': True|False
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    Contains the response to a DescribeLayers request.

    • Layers (list) --

      An array of Layer objects that describe the layers.

      • (dict) --

        Describes a layer.

        • StackId (string) --

          The layer stack ID.

        • LayerId (string) --

          The layer ID.

        • Type (string) --

          The layer type.

        • Name (string) --

          The layer name.

        • Shortname (string) --

          The layer short name.

        • Attributes (dict) --

          The layer attributes.

          • (string) --

            • (string) --

        • CustomInstanceProfileArn (string) --

          The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

        • CustomSecurityGroupIds (list) --

          An array containing the layer's custom security group IDs.

          • (string) --

        • DefaultSecurityGroupNames (list) --

          An array containing the layer's security group names.

          • (string) --

        • Packages (list) --

          An array of Package objects that describe the layer's packages.

          • (string) --

        • VolumeConfigurations (list) --

          A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

          • (dict) --

            Describes an Amazon EBS volume configuration.

            • MountPoint (string) --

              The volume mount point. For example "/dev/sdh".

            • RaidLevel (integer) --

              The volume RAID level.

            • NumberOfDisks (integer) --

              The number of disks in the volume.

            • Size (integer) --

              The volume size.

            • VolumeType (string) --

              The volume type:

              • standard - Magnetic

              • io1 - Provisioned IOPS (SSD)

              • gp2 - General Purpose (SSD)

            • Iops (integer) --

              For PIOPS volumes, the IOPS per disk.

        • EnableAutoHealing (boolean) --

          Whether auto healing is disabled for the layer.

        • AutoAssignElasticIps (boolean) --

          Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

        • AutoAssignPublicIps (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.

        • DefaultRecipes (dict) --

          AWS OpsWorks supports five lifecycle events, setup , configuration , deploy , undeploy , and shutdown . For each layer, AWS OpsWorks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

          To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

          • Setup (list) --

            An array of custom recipe names to be run following a setup event.

            • (string) --

          • Configure (list) --

            An array of custom recipe names to be run following a configure event.

            • (string) --

          • Deploy (list) --

            An array of custom recipe names to be run following a deploy event.

            • (string) --

          • Undeploy (list) --

            An array of custom recipe names to be run following a undeploy event.

            • (string) --

          • Shutdown (list) --

            An array of custom recipe names to be run following a shutdown event.

            • (string) --

        • CustomRecipes (dict) --

          A LayerCustomRecipes object that specifies the layer's custom recipes.

          • Setup (list) --

            An array of custom recipe names to be run following a setup event.

            • (string) --

          • Configure (list) --

            An array of custom recipe names to be run following a configure event.

            • (string) --

          • Deploy (list) --

            An array of custom recipe names to be run following a deploy event.

            • (string) --

          • Undeploy (list) --

            An array of custom recipe names to be run following a undeploy event.

            • (string) --

          • Shutdown (list) --

            An array of custom recipe names to be run following a shutdown event.

            • (string) --

        • CreatedAt (string) --

          Date when the layer was created.

        • InstallUpdatesOnBoot (boolean) --

          Whether to install operating system and package updates when the instance boots. The default value is true . If this value is set 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.

          Note

          We strongly recommend using the default value of true , to ensure that your instances have the latest security updates.

        • UseEbsOptimizedInstances (boolean) --

          Whether the layer uses Amazon EBS-optimized instances.

        • LifecycleEventConfiguration (dict) --

          A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.

          • Shutdown (dict) --

            A ShutdownEventConfiguration object that specifies the Shutdown event configuration.

            • ExecutionTimeout (integer) --

              The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

            • DelayUntilElbConnectionsDrained (boolean) --

              Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

DescribeStackSummary (updated) Link ¶
Changes (response)
{'StackSummary': {'InstancesCount': {'Assigning': 'integer',
                                     'Deregistering': 'integer',
                                     'Registered': 'integer',
                                     'Registering': 'integer',
                                     'Unassigning': 'integer'}}}

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.

Request Syntax

client.describe_stack_summary(
    StackId='string'
)
type StackId

string

param StackId

[REQUIRED]

The stack ID.

rtype

dict

returns

Response Syntax

{
    'StackSummary': {
        'StackId': 'string',
        'Name': 'string',
        'Arn': 'string',
        'LayersCount': 123,
        'AppsCount': 123,
        'InstancesCount': {
            'Assigning': 123,
            'Booting': 123,
            'ConnectionLost': 123,
            'Deregistering': 123,
            'Online': 123,
            'Pending': 123,
            'Rebooting': 123,
            'Registered': 123,
            'Registering': 123,
            'Requested': 123,
            'RunningSetup': 123,
            'SetupFailed': 123,
            'ShuttingDown': 123,
            'StartFailed': 123,
            'Stopped': 123,
            'Stopping': 123,
            'Terminated': 123,
            'Terminating': 123,
            'Unassigning': 123
        }
    }
}

Response Structure

  • (dict) --

    Contains the response to a DescribeStackSummary request.

    • StackSummary (dict) --

      A StackSummary object that contains the results.

      • StackId (string) --

        The stack ID.

      • Name (string) --

        The stack name.

      • Arn (string) --

        The stack's ARN.

      • LayersCount (integer) --

        The number of layers.

      • AppsCount (integer) --

        The number of apps.

      • InstancesCount (dict) --

        An InstancesCount object with the number of instances in each status.

        • Assigning (integer) --

          The number of instances in the Assigning state.

        • Booting (integer) --

          The number of instances with booting status.

        • ConnectionLost (integer) --

          The number of instances with connection_lost status.

        • Deregistering (integer) --

          The number of instances in the Deregistering state.

        • Online (integer) --

          The number of instances with online status.

        • Pending (integer) --

          The number of instances with pending status.

        • Rebooting (integer) --

          The number of instances with rebooting status.

        • Registered (integer) --

          The number of instances in the Registered state.

        • Registering (integer) --

          The number of instances in the Registering state.

        • Requested (integer) --

          The number of instances with requested status.

        • RunningSetup (integer) --

          The number of instances with running_setup status.

        • SetupFailed (integer) --

          The number of instances with setup_failed status.

        • ShuttingDown (integer) --

          The number of instances with shutting_down status.

        • StartFailed (integer) --

          The number of instances with start_failed status.

        • Stopped (integer) --

          The number of instances with stopped status.

        • Stopping (integer) --

          The number of instances with stopping status.

        • Terminated (integer) --

          The number of instances with terminated status.

        • Terminating (integer) --

          The number of instances with terminating status.

        • Unassigning (integer) --

          The number of instances in the Unassigning state.

UpdateLayer (updated) Link ¶
Changes (request)
{'LifecycleEventConfiguration': {'Shutdown': {'DelayUntilElbConnectionsDrained': 'boolean',
                                              'ExecutionTimeout': 'integer'}}}

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.

Request Syntax

client.update_layer(
    LayerId='string',
    Name='string',
    Shortname='string',
    Attributes={
        'string': 'string'
    },
    CustomInstanceProfileArn='string',
    CustomSecurityGroupIds=[
        'string',
    ],
    Packages=[
        'string',
    ],
    VolumeConfigurations=[
        {
            'MountPoint': 'string',
            'RaidLevel': 123,
            'NumberOfDisks': 123,
            'Size': 123,
            'VolumeType': 'string',
            'Iops': 123
        },
    ],
    EnableAutoHealing=True|False,
    AutoAssignElasticIps=True|False,
    AutoAssignPublicIps=True|False,
    CustomRecipes={
        'Setup': [
            'string',
        ],
        'Configure': [
            'string',
        ],
        'Deploy': [
            'string',
        ],
        'Undeploy': [
            'string',
        ],
        'Shutdown': [
            'string',
        ]
    },
    InstallUpdatesOnBoot=True|False,
    UseEbsOptimizedInstances=True|False,
    LifecycleEventConfiguration={
        'Shutdown': {
            'ExecutionTimeout': 123,
            'DelayUntilElbConnectionsDrained': True|False
        }
    }
)
type LayerId

string

param LayerId

[REQUIRED]

The layer ID.

type Name

string

param Name

The layer name, which is used by the console.

type Shortname

string

param Shortname

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/.

type Attributes

dict

param Attributes

One or more user-defined key/value pairs to be added to the stack attributes.

  • (string) --

    • (string) --

type CustomInstanceProfileArn

string

param CustomInstanceProfileArn

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.

type CustomSecurityGroupIds

list

param CustomSecurityGroupIds

An array containing the layer's custom security group IDs.

  • (string) --

type Packages

list

param Packages

An array of Package objects that describe the layer's packages.

  • (string) --

type VolumeConfigurations

list

param VolumeConfigurations

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

  • (dict) --

    Describes an Amazon EBS volume configuration.

    • MountPoint (string) -- [REQUIRED]

      The volume mount point. For example "/dev/sdh".

    • RaidLevel (integer) --

      The volume RAID level.

    • NumberOfDisks (integer) -- [REQUIRED]

      The number of disks in the volume.

    • Size (integer) -- [REQUIRED]

      The volume size.

    • VolumeType (string) --

      The volume type:

      • standard - Magnetic

      • io1 - Provisioned IOPS (SSD)

      • gp2 - General Purpose (SSD)

    • Iops (integer) --

      For PIOPS volumes, the IOPS per disk.

type EnableAutoHealing

boolean

param EnableAutoHealing

Whether to disable auto healing for the layer.

type AutoAssignElasticIps

boolean

param AutoAssignElasticIps

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

type AutoAssignPublicIps

boolean

param AutoAssignPublicIps

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.

type CustomRecipes

dict

param CustomRecipes

A LayerCustomRecipes object that specifies the layer's custom recipes.

  • Setup (list) --

    An array of custom recipe names to be run following a setup event.

    • (string) --

  • Configure (list) --

    An array of custom recipe names to be run following a configure event.

    • (string) --

  • Deploy (list) --

    An array of custom recipe names to be run following a deploy event.

    • (string) --

  • Undeploy (list) --

    An array of custom recipe names to be run following a undeploy event.

    • (string) --

  • Shutdown (list) --

    An array of custom recipe names to be run following a shutdown event.

    • (string) --

type InstallUpdatesOnBoot

boolean

param InstallUpdatesOnBoot

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.

Note

We strongly recommend using the default value of true , to ensure that your instances have the latest security updates.

type UseEbsOptimizedInstances

boolean

param UseEbsOptimizedInstances

Whether to use Amazon EBS-optimized instances.

type LifecycleEventConfiguration

dict

param LifecycleEventConfiguration
  • Shutdown (dict) --

    A ShutdownEventConfiguration object that specifies the Shutdown event configuration.

    • ExecutionTimeout (integer) --

      The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

    • DelayUntilElbConnectionsDrained (boolean) --

      Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

returns

None