git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

opsworks.d.ts (192016B)


      1 import {Request} from '../lib/request';
      2 import {Response} from '../lib/response';
      3 import {AWSError} from '../lib/error';
      4 import {Service} from '../lib/service';
      5 import {ServiceConfigurationOptions} from '../lib/service';
      6 import {ConfigBase as Config} from '../lib/config';
      7 interface Blob {}
      8 declare class OpsWorks extends Service {
      9   /**
     10    * Constructs a service object. This object has one method for each API operation.
     11    */
     12   constructor(options?: OpsWorks.Types.ClientConfiguration)
     13   config: Config & OpsWorks.Types.ClientConfiguration;
     14   /**
     15    * Assign a registered instance to a layer.   You can assign registered on-premises instances to any layer type.   You can assign registered Amazon EC2 instances only to custom layers.   You cannot use this action with instances that were created with AWS OpsWorks.    Required Permissions: To use this action, an AWS Identity and Access Management (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.
     16    */
     17   assignInstance(params: OpsWorks.Types.AssignInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     18   /**
     19    * Assign a registered instance to a layer.   You can assign registered on-premises instances to any layer type.   You can assign registered Amazon EC2 instances only to custom layers.   You cannot use this action with instances that were created with AWS OpsWorks.    Required Permissions: To use this action, an AWS Identity and Access Management (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.
     20    */
     21   assignInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     22   /**
     23    * 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. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. 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.
     24    */
     25   assignVolume(params: OpsWorks.Types.AssignVolumeRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     26   /**
     27    * 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. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. 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.
     28    */
     29   assignVolume(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     30   /**
     31    * 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.
     32    */
     33   associateElasticIp(params: OpsWorks.Types.AssociateElasticIpRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     34   /**
     35    * 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.
     36    */
     37   associateElasticIp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     38   /**
     39    * 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.
     40    */
     41   attachElasticLoadBalancer(params: OpsWorks.Types.AttachElasticLoadBalancerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     42   /**
     43    * 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.
     44    */
     45   attachElasticLoadBalancer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
     46   /**
     47    * Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent 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.
     48    */
     49   cloneStack(params: OpsWorks.Types.CloneStackRequest, callback?: (err: AWSError, data: OpsWorks.Types.CloneStackResult) => void): Request<OpsWorks.Types.CloneStackResult, AWSError>;
     50   /**
     51    * Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent 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.
     52    */
     53   cloneStack(callback?: (err: AWSError, data: OpsWorks.Types.CloneStackResult) => void): Request<OpsWorks.Types.CloneStackResult, AWSError>;
     54   /**
     55    * 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.
     56    */
     57   createApp(params: OpsWorks.Types.CreateAppRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateAppResult) => void): Request<OpsWorks.Types.CreateAppResult, AWSError>;
     58   /**
     59    * 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.
     60    */
     61   createApp(callback?: (err: AWSError, data: OpsWorks.Types.CreateAppResult) => void): Request<OpsWorks.Types.CreateAppResult, AWSError>;
     62   /**
     63    * 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.
     64    */
     65   createDeployment(params: OpsWorks.Types.CreateDeploymentRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateDeploymentResult) => void): Request<OpsWorks.Types.CreateDeploymentResult, AWSError>;
     66   /**
     67    * 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.
     68    */
     69   createDeployment(callback?: (err: AWSError, data: OpsWorks.Types.CreateDeploymentResult) => void): Request<OpsWorks.Types.CreateDeploymentResult, AWSError>;
     70   /**
     71    * 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.
     72    */
     73   createInstance(params: OpsWorks.Types.CreateInstanceRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateInstanceResult) => void): Request<OpsWorks.Types.CreateInstanceResult, AWSError>;
     74   /**
     75    * 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.
     76    */
     77   createInstance(callback?: (err: AWSError, data: OpsWorks.Types.CreateInstanceResult) => void): Request<OpsWorks.Types.CreateInstanceResult, AWSError>;
     78   /**
     79    * 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.
     80    */
     81   createLayer(params: OpsWorks.Types.CreateLayerRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateLayerResult) => void): Request<OpsWorks.Types.CreateLayerResult, AWSError>;
     82   /**
     83    * 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.
     84    */
     85   createLayer(callback?: (err: AWSError, data: OpsWorks.Types.CreateLayerResult) => void): Request<OpsWorks.Types.CreateLayerResult, AWSError>;
     86   /**
     87    * 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.
     88    */
     89   createStack(params: OpsWorks.Types.CreateStackRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateStackResult) => void): Request<OpsWorks.Types.CreateStackResult, AWSError>;
     90   /**
     91    * 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.
     92    */
     93   createStack(callback?: (err: AWSError, data: OpsWorks.Types.CreateStackResult) => void): Request<OpsWorks.Types.CreateStackResult, AWSError>;
     94   /**
     95    * 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.
     96    */
     97   createUserProfile(params: OpsWorks.Types.CreateUserProfileRequest, callback?: (err: AWSError, data: OpsWorks.Types.CreateUserProfileResult) => void): Request<OpsWorks.Types.CreateUserProfileResult, AWSError>;
     98   /**
     99    * 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.
    100    */
    101   createUserProfile(callback?: (err: AWSError, data: OpsWorks.Types.CreateUserProfileResult) => void): Request<OpsWorks.Types.CreateUserProfileResult, AWSError>;
    102   /**
    103    * 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.
    104    */
    105   deleteApp(params: OpsWorks.Types.DeleteAppRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    106   /**
    107    * 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.
    108    */
    109   deleteApp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    110   /**
    111    * 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.
    112    */
    113   deleteInstance(params: OpsWorks.Types.DeleteInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    114   /**
    115    * 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.
    116    */
    117   deleteInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    118   /**
    119    * 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.
    120    */
    121   deleteLayer(params: OpsWorks.Types.DeleteLayerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    122   /**
    123    * 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.
    124    */
    125   deleteLayer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    126   /**
    127    * 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.
    128    */
    129   deleteStack(params: OpsWorks.Types.DeleteStackRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    130   /**
    131    * 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.
    132    */
    133   deleteStack(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    134   /**
    135    * 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.
    136    */
    137   deleteUserProfile(params: OpsWorks.Types.DeleteUserProfileRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    138   /**
    139    * 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.
    140    */
    141   deleteUserProfile(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    142   /**
    143    * Deregisters a specified Amazon ECS cluster from a 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 http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html.
    144    */
    145   deregisterEcsCluster(params: OpsWorks.Types.DeregisterEcsClusterRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    146   /**
    147    * Deregisters a specified Amazon ECS cluster from a 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 http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html.
    148    */
    149   deregisterEcsCluster(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    150   /**
    151    * 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.
    152    */
    153   deregisterElasticIp(params: OpsWorks.Types.DeregisterElasticIpRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    154   /**
    155    * 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.
    156    */
    157   deregisterElasticIp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    158   /**
    159    * 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.
    160    */
    161   deregisterInstance(params: OpsWorks.Types.DeregisterInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    162   /**
    163    * 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.
    164    */
    165   deregisterInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    166   /**
    167    * 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.
    168    */
    169   deregisterRdsDbInstance(params: OpsWorks.Types.DeregisterRdsDbInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    170   /**
    171    * 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.
    172    */
    173   deregisterRdsDbInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    174   /**
    175    * 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.
    176    */
    177   deregisterVolume(params: OpsWorks.Types.DeregisterVolumeRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    178   /**
    179    * 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.
    180    */
    181   deregisterVolume(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    182   /**
    183    * Describes the available AWS OpsWorks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.
    184    */
    185   describeAgentVersions(params: OpsWorks.Types.DescribeAgentVersionsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeAgentVersionsResult) => void): Request<OpsWorks.Types.DescribeAgentVersionsResult, AWSError>;
    186   /**
    187    * Describes the available AWS OpsWorks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.
    188    */
    189   describeAgentVersions(callback?: (err: AWSError, data: OpsWorks.Types.DescribeAgentVersionsResult) => void): Request<OpsWorks.Types.DescribeAgentVersionsResult, AWSError>;
    190   /**
    191    * 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.
    192    */
    193   describeApps(params: OpsWorks.Types.DescribeAppsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeAppsResult) => void): Request<OpsWorks.Types.DescribeAppsResult, AWSError>;
    194   /**
    195    * 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.
    196    */
    197   describeApps(callback?: (err: AWSError, data: OpsWorks.Types.DescribeAppsResult) => void): Request<OpsWorks.Types.DescribeAppsResult, AWSError>;
    198   /**
    199    * 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.
    200    */
    201   describeCommands(params: OpsWorks.Types.DescribeCommandsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeCommandsResult) => void): Request<OpsWorks.Types.DescribeCommandsResult, AWSError>;
    202   /**
    203    * 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.
    204    */
    205   describeCommands(callback?: (err: AWSError, data: OpsWorks.Types.DescribeCommandsResult) => void): Request<OpsWorks.Types.DescribeCommandsResult, AWSError>;
    206   /**
    207    * 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.
    208    */
    209   describeDeployments(params: OpsWorks.Types.DescribeDeploymentsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeDeploymentsResult) => void): Request<OpsWorks.Types.DescribeDeploymentsResult, AWSError>;
    210   /**
    211    * 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.
    212    */
    213   describeDeployments(callback?: (err: AWSError, data: OpsWorks.Types.DescribeDeploymentsResult) => void): Request<OpsWorks.Types.DescribeDeploymentsResult, AWSError>;
    214   /**
    215    * Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks currently supports only one cluster per layer, so the result set has a maximum of one element.  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 permission. For more information on user permissions, see Managing User Permissions.
    216    */
    217   describeEcsClusters(params: OpsWorks.Types.DescribeEcsClustersRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeEcsClustersResult) => void): Request<OpsWorks.Types.DescribeEcsClustersResult, AWSError>;
    218   /**
    219    * Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks currently supports only one cluster per layer, so the result set has a maximum of one element.  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 permission. For more information on user permissions, see Managing User Permissions.
    220    */
    221   describeEcsClusters(callback?: (err: AWSError, data: OpsWorks.Types.DescribeEcsClustersResult) => void): Request<OpsWorks.Types.DescribeEcsClustersResult, AWSError>;
    222   /**
    223    * 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.
    224    */
    225   describeElasticIps(params: OpsWorks.Types.DescribeElasticIpsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeElasticIpsResult) => void): Request<OpsWorks.Types.DescribeElasticIpsResult, AWSError>;
    226   /**
    227    * 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.
    228    */
    229   describeElasticIps(callback?: (err: AWSError, data: OpsWorks.Types.DescribeElasticIpsResult) => void): Request<OpsWorks.Types.DescribeElasticIpsResult, AWSError>;
    230   /**
    231    * 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.
    232    */
    233   describeElasticLoadBalancers(params: OpsWorks.Types.DescribeElasticLoadBalancersRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeElasticLoadBalancersResult) => void): Request<OpsWorks.Types.DescribeElasticLoadBalancersResult, AWSError>;
    234   /**
    235    * 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.
    236    */
    237   describeElasticLoadBalancers(callback?: (err: AWSError, data: OpsWorks.Types.DescribeElasticLoadBalancersResult) => void): Request<OpsWorks.Types.DescribeElasticLoadBalancersResult, AWSError>;
    238   /**
    239    * 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.
    240    */
    241   describeInstances(params: OpsWorks.Types.DescribeInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    242   /**
    243    * 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.
    244    */
    245   describeInstances(callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    246   /**
    247    * 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.
    248    */
    249   describeLayers(params: OpsWorks.Types.DescribeLayersRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeLayersResult) => void): Request<OpsWorks.Types.DescribeLayersResult, AWSError>;
    250   /**
    251    * 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.
    252    */
    253   describeLayers(callback?: (err: AWSError, data: OpsWorks.Types.DescribeLayersResult) => void): Request<OpsWorks.Types.DescribeLayersResult, AWSError>;
    254   /**
    255    * 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.
    256    */
    257   describeLoadBasedAutoScaling(params: OpsWorks.Types.DescribeLoadBasedAutoScalingRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeLoadBasedAutoScalingResult) => void): Request<OpsWorks.Types.DescribeLoadBasedAutoScalingResult, AWSError>;
    258   /**
    259    * 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.
    260    */
    261   describeLoadBasedAutoScaling(callback?: (err: AWSError, data: OpsWorks.Types.DescribeLoadBasedAutoScalingResult) => void): Request<OpsWorks.Types.DescribeLoadBasedAutoScalingResult, AWSError>;
    262   /**
    263    * 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.
    264    */
    265   describeMyUserProfile(callback?: (err: AWSError, data: OpsWorks.Types.DescribeMyUserProfileResult) => void): Request<OpsWorks.Types.DescribeMyUserProfileResult, AWSError>;
    266   /**
    267    * 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.
    268    */
    269   describePermissions(params: OpsWorks.Types.DescribePermissionsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribePermissionsResult) => void): Request<OpsWorks.Types.DescribePermissionsResult, AWSError>;
    270   /**
    271    * 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.
    272    */
    273   describePermissions(callback?: (err: AWSError, data: OpsWorks.Types.DescribePermissionsResult) => void): Request<OpsWorks.Types.DescribePermissionsResult, AWSError>;
    274   /**
    275    * 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.
    276    */
    277   describeRaidArrays(params: OpsWorks.Types.DescribeRaidArraysRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeRaidArraysResult) => void): Request<OpsWorks.Types.DescribeRaidArraysResult, AWSError>;
    278   /**
    279    * 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.
    280    */
    281   describeRaidArrays(callback?: (err: AWSError, data: OpsWorks.Types.DescribeRaidArraysResult) => void): Request<OpsWorks.Types.DescribeRaidArraysResult, AWSError>;
    282   /**
    283    * 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.
    284    */
    285   describeRdsDbInstances(params: OpsWorks.Types.DescribeRdsDbInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeRdsDbInstancesResult) => void): Request<OpsWorks.Types.DescribeRdsDbInstancesResult, AWSError>;
    286   /**
    287    * 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.
    288    */
    289   describeRdsDbInstances(callback?: (err: AWSError, data: OpsWorks.Types.DescribeRdsDbInstancesResult) => void): Request<OpsWorks.Types.DescribeRdsDbInstancesResult, AWSError>;
    290   /**
    291    * 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.
    292    */
    293   describeServiceErrors(params: OpsWorks.Types.DescribeServiceErrorsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeServiceErrorsResult) => void): Request<OpsWorks.Types.DescribeServiceErrorsResult, AWSError>;
    294   /**
    295    * 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.
    296    */
    297   describeServiceErrors(callback?: (err: AWSError, data: OpsWorks.Types.DescribeServiceErrorsResult) => void): Request<OpsWorks.Types.DescribeServiceErrorsResult, AWSError>;
    298   /**
    299    * 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.
    300    */
    301   describeStackProvisioningParameters(params: OpsWorks.Types.DescribeStackProvisioningParametersRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeStackProvisioningParametersResult) => void): Request<OpsWorks.Types.DescribeStackProvisioningParametersResult, AWSError>;
    302   /**
    303    * 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.
    304    */
    305   describeStackProvisioningParameters(callback?: (err: AWSError, data: OpsWorks.Types.DescribeStackProvisioningParametersResult) => void): Request<OpsWorks.Types.DescribeStackProvisioningParametersResult, AWSError>;
    306   /**
    307    * 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.
    308    */
    309   describeStackSummary(params: OpsWorks.Types.DescribeStackSummaryRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeStackSummaryResult) => void): Request<OpsWorks.Types.DescribeStackSummaryResult, AWSError>;
    310   /**
    311    * 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.
    312    */
    313   describeStackSummary(callback?: (err: AWSError, data: OpsWorks.Types.DescribeStackSummaryResult) => void): Request<OpsWorks.Types.DescribeStackSummaryResult, AWSError>;
    314   /**
    315    * 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.
    316    */
    317   describeStacks(params: OpsWorks.Types.DescribeStacksRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeStacksResult) => void): Request<OpsWorks.Types.DescribeStacksResult, AWSError>;
    318   /**
    319    * 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.
    320    */
    321   describeStacks(callback?: (err: AWSError, data: OpsWorks.Types.DescribeStacksResult) => void): Request<OpsWorks.Types.DescribeStacksResult, AWSError>;
    322   /**
    323    * 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.
    324    */
    325   describeTimeBasedAutoScaling(params: OpsWorks.Types.DescribeTimeBasedAutoScalingRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeTimeBasedAutoScalingResult) => void): Request<OpsWorks.Types.DescribeTimeBasedAutoScalingResult, AWSError>;
    326   /**
    327    * 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.
    328    */
    329   describeTimeBasedAutoScaling(callback?: (err: AWSError, data: OpsWorks.Types.DescribeTimeBasedAutoScalingResult) => void): Request<OpsWorks.Types.DescribeTimeBasedAutoScalingResult, AWSError>;
    330   /**
    331    * 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.
    332    */
    333   describeUserProfiles(params: OpsWorks.Types.DescribeUserProfilesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeUserProfilesResult) => void): Request<OpsWorks.Types.DescribeUserProfilesResult, AWSError>;
    334   /**
    335    * 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.
    336    */
    337   describeUserProfiles(callback?: (err: AWSError, data: OpsWorks.Types.DescribeUserProfilesResult) => void): Request<OpsWorks.Types.DescribeUserProfilesResult, AWSError>;
    338   /**
    339    * 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.
    340    */
    341   describeVolumes(params: OpsWorks.Types.DescribeVolumesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeVolumesResult) => void): Request<OpsWorks.Types.DescribeVolumesResult, AWSError>;
    342   /**
    343    * 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.
    344    */
    345   describeVolumes(callback?: (err: AWSError, data: OpsWorks.Types.DescribeVolumesResult) => void): Request<OpsWorks.Types.DescribeVolumesResult, AWSError>;
    346   /**
    347    * 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.
    348    */
    349   detachElasticLoadBalancer(params: OpsWorks.Types.DetachElasticLoadBalancerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    350   /**
    351    * 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.
    352    */
    353   detachElasticLoadBalancer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    354   /**
    355    * 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.
    356    */
    357   disassociateElasticIp(params: OpsWorks.Types.DisassociateElasticIpRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    358   /**
    359    * 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.
    360    */
    361   disassociateElasticIp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    362   /**
    363    * 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.
    364    */
    365   getHostnameSuggestion(params: OpsWorks.Types.GetHostnameSuggestionRequest, callback?: (err: AWSError, data: OpsWorks.Types.GetHostnameSuggestionResult) => void): Request<OpsWorks.Types.GetHostnameSuggestionResult, AWSError>;
    366   /**
    367    * 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.
    368    */
    369   getHostnameSuggestion(callback?: (err: AWSError, data: OpsWorks.Types.GetHostnameSuggestionResult) => void): Request<OpsWorks.Types.GetHostnameSuggestionResult, AWSError>;
    370   /**
    371    *  This action can be used only with Windows stacks.  Grants RDP access to a Windows instance for a specified time period.
    372    */
    373   grantAccess(params: OpsWorks.Types.GrantAccessRequest, callback?: (err: AWSError, data: OpsWorks.Types.GrantAccessResult) => void): Request<OpsWorks.Types.GrantAccessResult, AWSError>;
    374   /**
    375    *  This action can be used only with Windows stacks.  Grants RDP access to a Windows instance for a specified time period.
    376    */
    377   grantAccess(callback?: (err: AWSError, data: OpsWorks.Types.GrantAccessResult) => void): Request<OpsWorks.Types.GrantAccessResult, AWSError>;
    378   /**
    379    * 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.
    380    */
    381   rebootInstance(params: OpsWorks.Types.RebootInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    382   /**
    383    * 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.
    384    */
    385   rebootInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    386   /**
    387    * Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one 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.
    388    */
    389   registerEcsCluster(params: OpsWorks.Types.RegisterEcsClusterRequest, callback?: (err: AWSError, data: OpsWorks.Types.RegisterEcsClusterResult) => void): Request<OpsWorks.Types.RegisterEcsClusterResult, AWSError>;
    390   /**
    391    * Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one 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.
    392    */
    393   registerEcsCluster(callback?: (err: AWSError, data: OpsWorks.Types.RegisterEcsClusterResult) => void): Request<OpsWorks.Types.RegisterEcsClusterResult, AWSError>;
    394   /**
    395    * 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.
    396    */
    397   registerElasticIp(params: OpsWorks.Types.RegisterElasticIpRequest, callback?: (err: AWSError, data: OpsWorks.Types.RegisterElasticIpResult) => void): Request<OpsWorks.Types.RegisterElasticIpResult, AWSError>;
    398   /**
    399    * 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.
    400    */
    401   registerElasticIp(callback?: (err: AWSError, data: OpsWorks.Types.RegisterElasticIpResult) => void): Request<OpsWorks.Types.RegisterElasticIpResult, AWSError>;
    402   /**
    403    * 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. For more information, see  Registering an Instance with an AWS OpsWorks 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.
    404    */
    405   registerInstance(params: OpsWorks.Types.RegisterInstanceRequest, callback?: (err: AWSError, data: OpsWorks.Types.RegisterInstanceResult) => void): Request<OpsWorks.Types.RegisterInstanceResult, AWSError>;
    406   /**
    407    * 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. For more information, see  Registering an Instance with an AWS OpsWorks 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.
    408    */
    409   registerInstance(callback?: (err: AWSError, data: OpsWorks.Types.RegisterInstanceResult) => void): Request<OpsWorks.Types.RegisterInstanceResult, AWSError>;
    410   /**
    411    * 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.
    412    */
    413   registerRdsDbInstance(params: OpsWorks.Types.RegisterRdsDbInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    414   /**
    415    * 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.
    416    */
    417   registerRdsDbInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    418   /**
    419    * 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.
    420    */
    421   registerVolume(params: OpsWorks.Types.RegisterVolumeRequest, callback?: (err: AWSError, data: OpsWorks.Types.RegisterVolumeResult) => void): Request<OpsWorks.Types.RegisterVolumeResult, AWSError>;
    422   /**
    423    * 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.
    424    */
    425   registerVolume(callback?: (err: AWSError, data: OpsWorks.Types.RegisterVolumeResult) => void): Request<OpsWorks.Types.RegisterVolumeResult, AWSError>;
    426   /**
    427    * 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.
    428    */
    429   setLoadBasedAutoScaling(params: OpsWorks.Types.SetLoadBasedAutoScalingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    430   /**
    431    * 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.
    432    */
    433   setLoadBasedAutoScaling(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    434   /**
    435    * 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.
    436    */
    437   setPermission(params: OpsWorks.Types.SetPermissionRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    438   /**
    439    * 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.
    440    */
    441   setPermission(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    442   /**
    443    * 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.
    444    */
    445   setTimeBasedAutoScaling(params: OpsWorks.Types.SetTimeBasedAutoScalingRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    446   /**
    447    * 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.
    448    */
    449   setTimeBasedAutoScaling(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    450   /**
    451    * 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.
    452    */
    453   startInstance(params: OpsWorks.Types.StartInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    454   /**
    455    * 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.
    456    */
    457   startInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    458   /**
    459    * 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.
    460    */
    461   startStack(params: OpsWorks.Types.StartStackRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    462   /**
    463    * 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.
    464    */
    465   startStack(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    466   /**
    467    * 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.
    468    */
    469   stopInstance(params: OpsWorks.Types.StopInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    470   /**
    471    * 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.
    472    */
    473   stopInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    474   /**
    475    * 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.
    476    */
    477   stopStack(params: OpsWorks.Types.StopStackRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    478   /**
    479    * 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.
    480    */
    481   stopStack(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    482   /**
    483    * 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.
    484    */
    485   unassignInstance(params: OpsWorks.Types.UnassignInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    486   /**
    487    * 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.
    488    */
    489   unassignInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    490   /**
    491    * 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.
    492    */
    493   unassignVolume(params: OpsWorks.Types.UnassignVolumeRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    494   /**
    495    * 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.
    496    */
    497   unassignVolume(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    498   /**
    499    * 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.
    500    */
    501   updateApp(params: OpsWorks.Types.UpdateAppRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    502   /**
    503    * 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.
    504    */
    505   updateApp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    506   /**
    507    * 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.
    508    */
    509   updateElasticIp(params: OpsWorks.Types.UpdateElasticIpRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    510   /**
    511    * 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.
    512    */
    513   updateElasticIp(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    514   /**
    515    * 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.
    516    */
    517   updateInstance(params: OpsWorks.Types.UpdateInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    518   /**
    519    * 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.
    520    */
    521   updateInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    522   /**
    523    * 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.
    524    */
    525   updateLayer(params: OpsWorks.Types.UpdateLayerRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    526   /**
    527    * 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.
    528    */
    529   updateLayer(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    530   /**
    531    * 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.
    532    */
    533   updateMyUserProfile(params: OpsWorks.Types.UpdateMyUserProfileRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    534   /**
    535    * 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.
    536    */
    537   updateMyUserProfile(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    538   /**
    539    * 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.
    540    */
    541   updateRdsDbInstance(params: OpsWorks.Types.UpdateRdsDbInstanceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    542   /**
    543    * 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.
    544    */
    545   updateRdsDbInstance(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    546   /**
    547    * 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.
    548    */
    549   updateStack(params: OpsWorks.Types.UpdateStackRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    550   /**
    551    * 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.
    552    */
    553   updateStack(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    554   /**
    555    * 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.
    556    */
    557   updateUserProfile(params: OpsWorks.Types.UpdateUserProfileRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    558   /**
    559    * 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.
    560    */
    561   updateUserProfile(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    562   /**
    563    * 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.
    564    */
    565   updateVolume(params: OpsWorks.Types.UpdateVolumeRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    566   /**
    567    * 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.
    568    */
    569   updateVolume(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
    570   /**
    571    * Waits for the appExists state by periodically calling the underlying OpsWorks.describeAppsoperation every 1 seconds (at most 40 times).
    572    */
    573   waitFor(state: "appExists", params: OpsWorks.Types.DescribeAppsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeAppsResult) => void): Request<OpsWorks.Types.DescribeAppsResult, AWSError>;
    574   /**
    575    * Waits for the appExists state by periodically calling the underlying OpsWorks.describeAppsoperation every 1 seconds (at most 40 times).
    576    */
    577   waitFor(state: "appExists", callback?: (err: AWSError, data: OpsWorks.Types.DescribeAppsResult) => void): Request<OpsWorks.Types.DescribeAppsResult, AWSError>;
    578   /**
    579    * Waits for the deploymentSuccessful state by periodically calling the underlying OpsWorks.describeDeploymentsoperation every 15 seconds (at most 40 times). Wait until a deployment has completed successfully
    580    */
    581   waitFor(state: "deploymentSuccessful", params: OpsWorks.Types.DescribeDeploymentsRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeDeploymentsResult) => void): Request<OpsWorks.Types.DescribeDeploymentsResult, AWSError>;
    582   /**
    583    * Waits for the deploymentSuccessful state by periodically calling the underlying OpsWorks.describeDeploymentsoperation every 15 seconds (at most 40 times). Wait until a deployment has completed successfully
    584    */
    585   waitFor(state: "deploymentSuccessful", callback?: (err: AWSError, data: OpsWorks.Types.DescribeDeploymentsResult) => void): Request<OpsWorks.Types.DescribeDeploymentsResult, AWSError>;
    586   /**
    587    * Waits for the instanceOnline state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is online.
    588    */
    589   waitFor(state: "instanceOnline", params: OpsWorks.Types.DescribeInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    590   /**
    591    * Waits for the instanceOnline state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is online.
    592    */
    593   waitFor(state: "instanceOnline", callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    594   /**
    595    * Waits for the instanceRegistered state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is registered.
    596    */
    597   waitFor(state: "instanceRegistered", params: OpsWorks.Types.DescribeInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    598   /**
    599    * Waits for the instanceRegistered state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is registered.
    600    */
    601   waitFor(state: "instanceRegistered", callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    602   /**
    603    * Waits for the instanceStopped state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is stopped.
    604    */
    605   waitFor(state: "instanceStopped", params: OpsWorks.Types.DescribeInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    606   /**
    607    * Waits for the instanceStopped state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is stopped.
    608    */
    609   waitFor(state: "instanceStopped", callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    610   /**
    611    * Waits for the instanceTerminated state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is terminated.
    612    */
    613   waitFor(state: "instanceTerminated", params: OpsWorks.Types.DescribeInstancesRequest, callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    614   /**
    615    * Waits for the instanceTerminated state by periodically calling the underlying OpsWorks.describeInstancesoperation every 15 seconds (at most 40 times). Wait until OpsWorks instance is terminated.
    616    */
    617   waitFor(state: "instanceTerminated", callback?: (err: AWSError, data: OpsWorks.Types.DescribeInstancesResult) => void): Request<OpsWorks.Types.DescribeInstancesResult, AWSError>;
    618 }
    619 declare namespace OpsWorks.Types {
    620   export interface AgentVersion {
    621     /**
    622      * The agent version.
    623      */
    624     Version?: String;
    625     /**
    626      * The configuration manager.
    627      */
    628     ConfigurationManager?: StackConfigurationManager;
    629   }
    630   export type AgentVersions = AgentVersion[];
    631   export interface App {
    632     /**
    633      * The app ID.
    634      */
    635     AppId?: String;
    636     /**
    637      * The app stack ID.
    638      */
    639     StackId?: String;
    640     /**
    641      * The app's short name.
    642      */
    643     Shortname?: String;
    644     /**
    645      * The app name.
    646      */
    647     Name?: String;
    648     /**
    649      * A description of the app.
    650      */
    651     Description?: String;
    652     /**
    653      * The app's data sources.
    654      */
    655     DataSources?: DataSources;
    656     /**
    657      * The app type.
    658      */
    659     Type?: AppType;
    660     /**
    661      * A Source object that describes the app repository.
    662      */
    663     AppSource?: Source;
    664     /**
    665      * The app vhost settings with multiple domains separated by commas. For example: 'www.example.com, example.com' 
    666      */
    667     Domains?: Strings;
    668     /**
    669      * Whether to enable SSL for the app.
    670      */
    671     EnableSsl?: Boolean;
    672     /**
    673      * An SslConfiguration object with the SSL configuration.
    674      */
    675     SslConfiguration?: SslConfiguration;
    676     /**
    677      * The stack attributes.
    678      */
    679     Attributes?: AppAttributes;
    680     /**
    681      * When the app was created.
    682      */
    683     CreatedAt?: String;
    684     /**
    685      * An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see  Environment Variables.   There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an "Environment: is too large (maximum is 10KB)" message. 
    686      */
    687     Environment?: EnvironmentVariables;
    688   }
    689   export type AppAttributes = {[key: string]: String};
    690   export type AppAttributesKeys = "DocumentRoot"|"RailsEnv"|"AutoBundleOnDeploy"|"AwsFlowRubySettings"|string;
    691   export type AppType = "aws-flow-ruby"|"java"|"rails"|"php"|"nodejs"|"static"|"other"|string;
    692   export type Apps = App[];
    693   export type Architecture = "x86_64"|"i386"|string;
    694   export interface AssignInstanceRequest {
    695     /**
    696      * The instance ID.
    697      */
    698     InstanceId: String;
    699     /**
    700      * The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer.
    701      */
    702     LayerIds: Strings;
    703   }
    704   export interface AssignVolumeRequest {
    705     /**
    706      * The volume ID.
    707      */
    708     VolumeId: String;
    709     /**
    710      * The instance ID.
    711      */
    712     InstanceId?: String;
    713   }
    714   export interface AssociateElasticIpRequest {
    715     /**
    716      * The Elastic IP address.
    717      */
    718     ElasticIp: String;
    719     /**
    720      * The instance ID.
    721      */
    722     InstanceId?: String;
    723   }
    724   export interface AttachElasticLoadBalancerRequest {
    725     /**
    726      * The Elastic Load Balancing instance's name.
    727      */
    728     ElasticLoadBalancerName: String;
    729     /**
    730      * The ID of the layer that the Elastic Load Balancing instance is to be attached to.
    731      */
    732     LayerId: String;
    733   }
    734   export interface AutoScalingThresholds {
    735     /**
    736      * The number of instances to add or remove when the load exceeds a threshold.
    737      */
    738     InstanceCount?: Integer;
    739     /**
    740      * The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.
    741      */
    742     ThresholdsWaitTime?: Minute;
    743     /**
    744      * The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks to suppress scaling events long enough to get the new instances online.
    745      */
    746     IgnoreMetricsTime?: Minute;
    747     /**
    748      * The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.
    749      */
    750     CpuThreshold?: Double;
    751     /**
    752      * The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.
    753      */
    754     MemoryThreshold?: Double;
    755     /**
    756      * The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see Load (computing).
    757      */
    758     LoadThreshold?: Double;
    759     /**
    760      * Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.  To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks to Act on Your Behalf. 
    761      */
    762     Alarms?: Strings;
    763   }
    764   export type AutoScalingType = "load"|"timer"|string;
    765   export interface BlockDeviceMapping {
    766     /**
    767      * The device name that is exposed to the instance, such as /dev/sdh. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks will provide the correct device name.
    768      */
    769     DeviceName?: String;
    770     /**
    771      * Suppresses the specified device included in the AMI's block device mapping.
    772      */
    773     NoDevice?: String;
    774     /**
    775      * The virtual device name. For more information, see BlockDeviceMapping.
    776      */
    777     VirtualName?: String;
    778     /**
    779      * An EBSBlockDevice that defines how to configure an Amazon EBS volume when the instance is launched.
    780      */
    781     Ebs?: EbsBlockDevice;
    782   }
    783   export type BlockDeviceMappings = BlockDeviceMapping[];
    784   export type Boolean = boolean;
    785   export interface ChefConfiguration {
    786     /**
    787      * Whether to enable Berkshelf.
    788      */
    789     ManageBerkshelf?: Boolean;
    790     /**
    791      * The Berkshelf version.
    792      */
    793     BerkshelfVersion?: String;
    794   }
    795   export interface CloneStackRequest {
    796     /**
    797      * The source stack ID.
    798      */
    799     SourceStackId: String;
    800     /**
    801      * The cloned stack name.
    802      */
    803     Name?: String;
    804     /**
    805      * The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints.
    806      */
    807     Region?: String;
    808     /**
    809      * 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. 
    810      */
    811     VpcId?: String;
    812     /**
    813      * A list of stack attributes and values as key/value pairs to be added to the cloned stack.
    814      */
    815     Attributes?: StackAttributes;
    816     /**
    817      * 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. 
    818      */
    819     ServiceRoleArn: String;
    820     /**
    821      * The Amazon Resource Name (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.
    822      */
    823     DefaultInstanceProfileArn?: String;
    824     /**
    825      * The stack's operating system, which must be set to one of the following.   A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.   A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.    CentOS 7     Red Hat Enterprise Linux 7     Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.   A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.   The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.  You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux. 
    826      */
    827     DefaultOs?: String;
    828     /**
    829      * 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     Europe_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.
    830      */
    831     HostnameTheme?: String;
    832     /**
    833      * 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. 
    834      */
    835     DefaultAvailabilityZone?: String;
    836     /**
    837      * 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. 
    838      */
    839     DefaultSubnetId?: String;
    840     /**
    841      * 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:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes 
    842      */
    843     CustomJson?: String;
    844     /**
    845      * The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.
    846      */
    847     ConfigurationManager?: StackConfigurationManager;
    848     /**
    849      * 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.
    850      */
    851     ChefConfiguration?: ChefConfiguration;
    852     /**
    853      * Whether to use custom cookbooks.
    854      */
    855     UseCustomCookbooks?: Boolean;
    856     /**
    857      * 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 Amazon Elastic Compute Cloud (Amazon 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.
    858      */
    859     UseOpsworksSecurityGroups?: Boolean;
    860     CustomCookbooksSource?: Source;
    861     /**
    862      * A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see  Using SSH to Communicate with an Instance and  Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you  create an instance. 
    863      */
    864     DefaultSshKeyName?: String;
    865     /**
    866      * Whether to clone the source stack's permissions.
    867      */
    868     ClonePermissions?: Boolean;
    869     /**
    870      * A list of source stack app IDs to be included in the cloned stack.
    871      */
    872     CloneAppIds?: Strings;
    873     /**
    874      * 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.
    875      */
    876     DefaultRootDeviceType?: RootDeviceType;
    877     /**
    878      * The default AWS OpsWorks agent version. You have the following options:   Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.   Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.   The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.  You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. 
    879      */
    880     AgentVersion?: String;
    881   }
    882   export interface CloneStackResult {
    883     /**
    884      * The cloned stack ID.
    885      */
    886     StackId?: String;
    887   }
    888   export interface Command {
    889     /**
    890      * The command ID.
    891      */
    892     CommandId?: String;
    893     /**
    894      * The ID of the instance where the command was executed.
    895      */
    896     InstanceId?: String;
    897     /**
    898      * The command deployment ID.
    899      */
    900     DeploymentId?: String;
    901     /**
    902      * Date and time when the command was run.
    903      */
    904     CreatedAt?: DateTime;
    905     /**
    906      * Date and time when the command was acknowledged.
    907      */
    908     AcknowledgedAt?: DateTime;
    909     /**
    910      * Date when the command completed.
    911      */
    912     CompletedAt?: DateTime;
    913     /**
    914      * The command status:   failed   successful   skipped   pending  
    915      */
    916     Status?: String;
    917     /**
    918      * The command exit code.
    919      */
    920     ExitCode?: Integer;
    921     /**
    922      * The URL of the command log.
    923      */
    924     LogUrl?: String;
    925     /**
    926      * The command type:    deploy     rollback     start     stop     restart     undeploy     update_dependencies     install_dependencies     update_custom_cookbooks     execute_recipes   
    927      */
    928     Type?: String;
    929   }
    930   export type Commands = Command[];
    931   export interface CreateAppRequest {
    932     /**
    933      * The stack ID.
    934      */
    935     StackId: String;
    936     /**
    937      * The app's short name.
    938      */
    939     Shortname?: String;
    940     /**
    941      * The app name.
    942      */
    943     Name: String;
    944     /**
    945      * A description of the app.
    946      */
    947     Description?: String;
    948     /**
    949      * The app's data source.
    950      */
    951     DataSources?: DataSources;
    952     /**
    953      * 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. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.
    954      */
    955     Type: AppType;
    956     /**
    957      * A Source object that specifies the app repository.
    958      */
    959     AppSource?: Source;
    960     /**
    961      * The app virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com' 
    962      */
    963     Domains?: Strings;
    964     /**
    965      * Whether to enable SSL for the app.
    966      */
    967     EnableSsl?: Boolean;
    968     /**
    969      * An SslConfiguration object with the SSL configuration.
    970      */
    971     SslConfiguration?: SslConfiguration;
    972     /**
    973      * One or more user-defined key/value pairs to be added to the stack attributes.
    974      */
    975     Attributes?: AppAttributes;
    976     /**
    977      * An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see  Environment Variables. There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 10KB)."  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. 
    978      */
    979     Environment?: EnvironmentVariables;
    980   }
    981   export interface CreateAppResult {
    982     /**
    983      * The app ID.
    984      */
    985     AppId?: String;
    986   }
    987   export interface CreateDeploymentRequest {
    988     /**
    989      * The stack ID.
    990      */
    991     StackId: String;
    992     /**
    993      * The app ID. This parameter is required for app deployments, but not for other deployment commands.
    994      */
    995     AppId?: String;
    996     /**
    997      * The instance IDs for the deployment targets.
    998      */
    999     InstanceIds?: Strings;
   1000     /**
   1001      * The layer IDs for the deployment targets.
   1002      */
   1003     LayerIds?: Strings;
   1004     /**
   1005      * A DeploymentCommand object that specifies the deployment command and any associated arguments.
   1006      */
   1007     Command: DeploymentCommand;
   1008     /**
   1009      * A user-defined comment.
   1010      */
   1011     Comment?: String;
   1012     /**
   1013      * 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:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.
   1014      */
   1015     CustomJson?: String;
   1016   }
   1017   export interface CreateDeploymentResult {
   1018     /**
   1019      * The deployment ID, which can be used with other requests to identify the deployment.
   1020      */
   1021     DeploymentId?: String;
   1022   }
   1023   export interface CreateInstanceRequest {
   1024     /**
   1025      * The stack ID.
   1026      */
   1027     StackId: String;
   1028     /**
   1029      * An array that contains the instance's layer IDs.
   1030      */
   1031     LayerIds: Strings;
   1032     /**
   1033      * The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. 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.
   1034      */
   1035     InstanceType: String;
   1036     /**
   1037      * For load-based or time-based instances, the type. Windows stacks can use only time-based instances.
   1038      */
   1039     AutoScalingType?: AutoScalingType;
   1040     /**
   1041      * The instance host name.
   1042      */
   1043     Hostname?: String;
   1044     /**
   1045      * The instance's operating system, which must be set to one of the following.   A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.   A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.    CentOS 7     Red Hat Enterprise Linux 7    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.   A custom AMI: Custom.   For more information on the supported operating systems, see AWS OpsWorks Operating Systems. 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. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks, see Using Custom AMIs.
   1046      */
   1047     Os?: String;
   1048     /**
   1049      * A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see Using Custom AMIs.  If you specify a custom AMI, you must set Os to Custom. 
   1050      */
   1051     AmiId?: String;
   1052     /**
   1053      * The instance's Amazon EC2 key-pair name.
   1054      */
   1055     SshKeyName?: String;
   1056     /**
   1057      * The instance Availability Zone. For more information, see Regions and Endpoints.
   1058      */
   1059     AvailabilityZone?: String;
   1060     /**
   1061      * The instance's virtualization type, paravirtual or hvm.
   1062      */
   1063     VirtualizationType?: String;
   1064     /**
   1065      * 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.
   1066      */
   1067     SubnetId?: String;
   1068     /**
   1069      * 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.
   1070      */
   1071     Architecture?: Architecture;
   1072     /**
   1073      * The instance root device type. For more information, see Storage for the Root Device.
   1074      */
   1075     RootDeviceType?: RootDeviceType;
   1076     /**
   1077      * An array of BlockDeviceMapping objects that specify the instance's block devices. For more information, see Block Device Mapping. Note that block device mappings are not supported for custom AMIs.
   1078      */
   1079     BlockDeviceMappings?: BlockDeviceMappings;
   1080     /**
   1081      * 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 by 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. 
   1082      */
   1083     InstallUpdatesOnBoot?: Boolean;
   1084     /**
   1085      * Whether to create an Amazon EBS-optimized instance.
   1086      */
   1087     EbsOptimized?: Boolean;
   1088     /**
   1089      * The default AWS OpsWorks agent version. You have the following options:    INHERIT - Use the stack's default agent version setting.    version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.   The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.
   1090      */
   1091     AgentVersion?: String;
   1092     /**
   1093      * The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.
   1094      */
   1095     Tenancy?: String;
   1096   }
   1097   export interface CreateInstanceResult {
   1098     /**
   1099      * The instance ID.
   1100      */
   1101     InstanceId?: String;
   1102   }
   1103   export interface CreateLayerRequest {
   1104     /**
   1105      * The layer stack ID.
   1106      */
   1107     StackId: String;
   1108     /**
   1109      * 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. Built-in layers are not available in Chef 12 stacks.
   1110      */
   1111     Type: LayerType;
   1112     /**
   1113      * The layer name, which is used by the console.
   1114      */
   1115     Name: String;
   1116     /**
   1117      * For custom layers only, use this parameter to specify the layer's 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 '.'. The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference.
   1118      */
   1119     Shortname: String;
   1120     /**
   1121      * One or more user-defined key-value pairs to be added to the stack attributes. To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.
   1122      */
   1123     Attributes?: LayerAttributes;
   1124     /**
   1125      * The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.
   1126      */
   1127     CustomInstanceProfileArn?: String;
   1128     /**
   1129      * A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see  Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI. 
   1130      */
   1131     CustomJson?: String;
   1132     /**
   1133      * An array containing the layer custom security group IDs.
   1134      */
   1135     CustomSecurityGroupIds?: Strings;
   1136     /**
   1137      * An array of Package objects that describes the layer packages.
   1138      */
   1139     Packages?: Strings;
   1140     /**
   1141      * A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
   1142      */
   1143     VolumeConfigurations?: VolumeConfigurations;
   1144     /**
   1145      * Whether to disable auto healing for the layer.
   1146      */
   1147     EnableAutoHealing?: Boolean;
   1148     /**
   1149      * Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.
   1150      */
   1151     AutoAssignElasticIps?: Boolean;
   1152     /**
   1153      * 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.
   1154      */
   1155     AutoAssignPublicIps?: Boolean;
   1156     /**
   1157      * A LayerCustomRecipes object that specifies the layer custom recipes.
   1158      */
   1159     CustomRecipes?: Recipes;
   1160     /**
   1161      * 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 by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.   To ensure that your instances have the latest security updates, we strongly recommend using the default value of true. 
   1162      */
   1163     InstallUpdatesOnBoot?: Boolean;
   1164     /**
   1165      * Whether to use Amazon EBS-optimized instances.
   1166      */
   1167     UseEbsOptimizedInstances?: Boolean;
   1168     /**
   1169      * 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.
   1170      */
   1171     LifecycleEventConfiguration?: LifecycleEventConfiguration;
   1172   }
   1173   export interface CreateLayerResult {
   1174     /**
   1175      * The layer ID.
   1176      */
   1177     LayerId?: String;
   1178   }
   1179   export interface CreateStackRequest {
   1180     /**
   1181      * The stack name.
   1182      */
   1183     Name: String;
   1184     /**
   1185      * The stack's AWS region, such as "ap-south-1". For more information about Amazon regions, see Regions and Endpoints.
   1186      */
   1187     Region: String;
   1188     /**
   1189      * The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. 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. 
   1190      */
   1191     VpcId?: String;
   1192     /**
   1193      * One or more user-defined key-value pairs to be added to the stack attributes.
   1194      */
   1195     Attributes?: StackAttributes;
   1196     /**
   1197      * The stack's 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.
   1198      */
   1199     ServiceRoleArn: String;
   1200     /**
   1201      * The Amazon Resource Name (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.
   1202      */
   1203     DefaultInstanceProfileArn: String;
   1204     /**
   1205      * The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.   A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.   A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.    CentOS 7     Red Hat Enterprise Linux 7    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.   A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see  Using Custom AMIs.   The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.
   1206      */
   1207     DefaultOs?: String;
   1208     /**
   1209      * The stack's host name theme, with spaces 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     Europe_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.
   1210      */
   1211     HostnameTheme?: String;
   1212     /**
   1213      * 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. 
   1214      */
   1215     DefaultAvailabilityZone?: String;
   1216     /**
   1217      * 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. 
   1218      */
   1219     DefaultSubnetId?: String;
   1220     /**
   1221      * A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.
   1222      */
   1223     CustomJson?: String;
   1224     /**
   1225      * The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.
   1226      */
   1227     ConfigurationManager?: StackConfigurationManager;
   1228     /**
   1229      * 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.
   1230      */
   1231     ChefConfiguration?: ChefConfiguration;
   1232     /**
   1233      * Whether the stack uses custom cookbooks.
   1234      */
   1235     UseCustomCookbooks?: Boolean;
   1236     /**
   1237      * 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.
   1238      */
   1239     UseOpsworksSecurityGroups?: Boolean;
   1240     CustomCookbooksSource?: Source;
   1241     /**
   1242      * A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see  Using SSH to Communicate with an Instance and  Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you  create an instance. 
   1243      */
   1244     DefaultSshKeyName?: String;
   1245     /**
   1246      * The default root device type. This value is the 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.
   1247      */
   1248     DefaultRootDeviceType?: RootDeviceType;
   1249     /**
   1250      * The default AWS OpsWorks agent version. You have the following options:   Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.   Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.   The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.  You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. 
   1251      */
   1252     AgentVersion?: String;
   1253   }
   1254   export interface CreateStackResult {
   1255     /**
   1256      * The stack ID, which is an opaque string that you use to identify the stack when performing actions such as DescribeStacks.
   1257      */
   1258     StackId?: String;
   1259   }
   1260   export interface CreateUserProfileRequest {
   1261     /**
   1262      * The user's IAM ARN; this can also be a federated user's ARN.
   1263      */
   1264     IamUserArn: String;
   1265     /**
   1266      * 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. 
   1267      */
   1268     SshUsername?: String;
   1269     /**
   1270      * The user's public SSH key.
   1271      */
   1272     SshPublicKey?: String;
   1273     /**
   1274      * 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.
   1275      */
   1276     AllowSelfManagement?: Boolean;
   1277   }
   1278   export interface CreateUserProfileResult {
   1279     /**
   1280      * The user's IAM ARN.
   1281      */
   1282     IamUserArn?: String;
   1283   }
   1284   export type DailyAutoScalingSchedule = {[key: string]: Switch};
   1285   export interface DataSource {
   1286     /**
   1287      * The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.
   1288      */
   1289     Type?: String;
   1290     /**
   1291      * The data source's ARN.
   1292      */
   1293     Arn?: String;
   1294     /**
   1295      * The database name.
   1296      */
   1297     DatabaseName?: String;
   1298   }
   1299   export type DataSources = DataSource[];
   1300   export type DateTime = string;
   1301   export interface DeleteAppRequest {
   1302     /**
   1303      * The app ID.
   1304      */
   1305     AppId: String;
   1306   }
   1307   export interface DeleteInstanceRequest {
   1308     /**
   1309      * The instance ID.
   1310      */
   1311     InstanceId: String;
   1312     /**
   1313      * Whether to delete the instance Elastic IP address.
   1314      */
   1315     DeleteElasticIp?: Boolean;
   1316     /**
   1317      * Whether to delete the instance's Amazon EBS volumes.
   1318      */
   1319     DeleteVolumes?: Boolean;
   1320   }
   1321   export interface DeleteLayerRequest {
   1322     /**
   1323      * The layer ID.
   1324      */
   1325     LayerId: String;
   1326   }
   1327   export interface DeleteStackRequest {
   1328     /**
   1329      * The stack ID.
   1330      */
   1331     StackId: String;
   1332   }
   1333   export interface DeleteUserProfileRequest {
   1334     /**
   1335      * The user's IAM ARN. This can also be a federated user's ARN.
   1336      */
   1337     IamUserArn: String;
   1338   }
   1339   export interface Deployment {
   1340     /**
   1341      * The deployment ID.
   1342      */
   1343     DeploymentId?: String;
   1344     /**
   1345      * The stack ID.
   1346      */
   1347     StackId?: String;
   1348     /**
   1349      * The app ID.
   1350      */
   1351     AppId?: String;
   1352     /**
   1353      * Date when the deployment was created.
   1354      */
   1355     CreatedAt?: DateTime;
   1356     /**
   1357      * Date when the deployment completed.
   1358      */
   1359     CompletedAt?: DateTime;
   1360     /**
   1361      * The deployment duration.
   1362      */
   1363     Duration?: Integer;
   1364     /**
   1365      * The user's IAM ARN.
   1366      */
   1367     IamUserArn?: String;
   1368     /**
   1369      * A user-defined comment.
   1370      */
   1371     Comment?: String;
   1372     Command?: DeploymentCommand;
   1373     /**
   1374      * The deployment status:   running   successful   failed  
   1375      */
   1376     Status?: String;
   1377     /**
   1378      * A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.
   1379      */
   1380     CustomJson?: String;
   1381     /**
   1382      * The IDs of the target instances.
   1383      */
   1384     InstanceIds?: Strings;
   1385   }
   1386   export interface DeploymentCommand {
   1387     /**
   1388      * Specifies the operation. You can specify only one command. For stacks, the following commands are available:    execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute phpapp::appsetup, set Args to {"recipes":["phpapp::appsetup"]}.    install_dependencies: Install the stack's dependencies.    update_custom_cookbooks: Update the stack's custom cookbooks.    update_dependencies: Update the stack's dependencies.    The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.  For apps, the following commands are available:    deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.    rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.    start: Start the app's web or application server.    stop: Stop the app's web or application server.    restart: Restart the app's web or application server.    undeploy: Undeploy the app.  
   1389      */
   1390     Name: DeploymentCommandName;
   1391     /**
   1392      * The arguments of those commands that take arguments. It should be set to a JSON object with the following format:  {"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}  The update_dependencies command takes two arguments:    upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as Amazon Linux 2014.09. You must also set the allow_reboot argument to true.    allow_reboot - Specifies whether to allow AWS OpsWorks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.   For example, to upgrade an instance to Amazon Linux 2014.09, set Args to the following.   { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] }  
   1393      */
   1394     Args?: DeploymentCommandArgs;
   1395   }
   1396   export type DeploymentCommandArgs = {[key: string]: Strings};
   1397   export type DeploymentCommandName = "install_dependencies"|"update_dependencies"|"update_custom_cookbooks"|"execute_recipes"|"configure"|"setup"|"deploy"|"rollback"|"start"|"stop"|"restart"|"undeploy"|string;
   1398   export type Deployments = Deployment[];
   1399   export interface DeregisterEcsClusterRequest {
   1400     /**
   1401      * The cluster's ARN.
   1402      */
   1403     EcsClusterArn: String;
   1404   }
   1405   export interface DeregisterElasticIpRequest {
   1406     /**
   1407      * The Elastic IP address.
   1408      */
   1409     ElasticIp: String;
   1410   }
   1411   export interface DeregisterInstanceRequest {
   1412     /**
   1413      * The instance ID.
   1414      */
   1415     InstanceId: String;
   1416   }
   1417   export interface DeregisterRdsDbInstanceRequest {
   1418     /**
   1419      * The Amazon RDS instance's ARN.
   1420      */
   1421     RdsDbInstanceArn: String;
   1422   }
   1423   export interface DeregisterVolumeRequest {
   1424     /**
   1425      * The AWS OpsWorks volume ID, which is the GUID that AWS OpsWorks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID.
   1426      */
   1427     VolumeId: String;
   1428   }
   1429   export interface DescribeAgentVersionsRequest {
   1430     /**
   1431      * The stack ID.
   1432      */
   1433     StackId?: String;
   1434     /**
   1435      * The configuration manager.
   1436      */
   1437     ConfigurationManager?: StackConfigurationManager;
   1438   }
   1439   export interface DescribeAgentVersionsResult {
   1440     /**
   1441      * The agent versions for the specified stack or configuration manager. Note that this value is the complete version number, not the abbreviated number used by the console.
   1442      */
   1443     AgentVersions?: AgentVersions;
   1444   }
   1445   export interface DescribeAppsRequest {
   1446     /**
   1447      * The app stack ID. If you use this parameter, DescribeApps returns a description of the apps in the specified stack.
   1448      */
   1449     StackId?: String;
   1450     /**
   1451      * 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.
   1452      */
   1453     AppIds?: Strings;
   1454   }
   1455   export interface DescribeAppsResult {
   1456     /**
   1457      * An array of App objects that describe the specified apps. 
   1458      */
   1459     Apps?: Apps;
   1460   }
   1461   export interface DescribeCommandsRequest {
   1462     /**
   1463      * The deployment ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified deployment.
   1464      */
   1465     DeploymentId?: String;
   1466     /**
   1467      * The instance ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified instance.
   1468      */
   1469     InstanceId?: String;
   1470     /**
   1471      * 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.
   1472      */
   1473     CommandIds?: Strings;
   1474   }
   1475   export interface DescribeCommandsResult {
   1476     /**
   1477      * An array of Command objects that describe each of the specified commands.
   1478      */
   1479     Commands?: Commands;
   1480   }
   1481   export interface DescribeDeploymentsRequest {
   1482     /**
   1483      * The stack ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified stack.
   1484      */
   1485     StackId?: String;
   1486     /**
   1487      * The app ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified app.
   1488      */
   1489     AppId?: String;
   1490     /**
   1491      * 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.
   1492      */
   1493     DeploymentIds?: Strings;
   1494   }
   1495   export interface DescribeDeploymentsResult {
   1496     /**
   1497      * An array of Deployment objects that describe the deployments.
   1498      */
   1499     Deployments?: Deployments;
   1500   }
   1501   export interface DescribeEcsClustersRequest {
   1502     /**
   1503      * A list of ARNs, one for each cluster to be described.
   1504      */
   1505     EcsClusterArns?: Strings;
   1506     /**
   1507      * A stack ID. DescribeEcsClusters returns a description of the cluster that is registered with the stack.
   1508      */
   1509     StackId?: String;
   1510     /**
   1511      * If the previous paginated request did not return all of the remaining results, the response object'sNextToken parameter value is set to a token. To retrieve the next set of results, call DescribeEcsClusters again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.
   1512      */
   1513     NextToken?: String;
   1514     /**
   1515      * To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.
   1516      */
   1517     MaxResults?: Integer;
   1518   }
   1519   export interface DescribeEcsClustersResult {
   1520     /**
   1521      * A list of EcsCluster objects containing the cluster descriptions.
   1522      */
   1523     EcsClusters?: EcsClusters;
   1524     /**
   1525      * If a paginated request does not return all of the remaining results, this parameter is set to a token that you can assign to the request object's NextToken parameter to retrieve the next set of results. If the previous paginated request returned all of the remaining results, this parameter is set to null.
   1526      */
   1527     NextToken?: String;
   1528   }
   1529   export interface DescribeElasticIpsRequest {
   1530     /**
   1531      * The instance ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses associated with the specified instance.
   1532      */
   1533     InstanceId?: String;
   1534     /**
   1535      * A stack ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses that are registered with the specified stack.
   1536      */
   1537     StackId?: String;
   1538     /**
   1539      * 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.
   1540      */
   1541     Ips?: Strings;
   1542   }
   1543   export interface DescribeElasticIpsResult {
   1544     /**
   1545      * An ElasticIps object that describes the specified Elastic IP addresses.
   1546      */
   1547     ElasticIps?: ElasticIps;
   1548   }
   1549   export interface DescribeElasticLoadBalancersRequest {
   1550     /**
   1551      * A stack ID. The action describes the stack's Elastic Load Balancing instances.
   1552      */
   1553     StackId?: String;
   1554     /**
   1555      * A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers.
   1556      */
   1557     LayerIds?: Strings;
   1558   }
   1559   export interface DescribeElasticLoadBalancersResult {
   1560     /**
   1561      * A list of ElasticLoadBalancer objects that describe the specified Elastic Load Balancing instances.
   1562      */
   1563     ElasticLoadBalancers?: ElasticLoadBalancers;
   1564   }
   1565   export interface DescribeInstancesRequest {
   1566     /**
   1567      * A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack.
   1568      */
   1569     StackId?: String;
   1570     /**
   1571      * A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.
   1572      */
   1573     LayerId?: String;
   1574     /**
   1575      * 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.
   1576      */
   1577     InstanceIds?: Strings;
   1578   }
   1579   export interface DescribeInstancesResult {
   1580     /**
   1581      * An array of Instance objects that describe the instances.
   1582      */
   1583     Instances?: Instances;
   1584   }
   1585   export interface DescribeLayersRequest {
   1586     /**
   1587      * The stack ID.
   1588      */
   1589     StackId?: String;
   1590     /**
   1591      * 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.
   1592      */
   1593     LayerIds?: Strings;
   1594   }
   1595   export interface DescribeLayersResult {
   1596     /**
   1597      * An array of Layer objects that describe the layers.
   1598      */
   1599     Layers?: Layers;
   1600   }
   1601   export interface DescribeLoadBasedAutoScalingRequest {
   1602     /**
   1603      * An array of layer IDs.
   1604      */
   1605     LayerIds: Strings;
   1606   }
   1607   export interface DescribeLoadBasedAutoScalingResult {
   1608     /**
   1609      * An array of LoadBasedAutoScalingConfiguration objects that describe each layer's configuration.
   1610      */
   1611     LoadBasedAutoScalingConfigurations?: LoadBasedAutoScalingConfigurations;
   1612   }
   1613   export interface DescribeMyUserProfileResult {
   1614     /**
   1615      * A UserProfile object that describes the user's SSH information.
   1616      */
   1617     UserProfile?: SelfUserProfile;
   1618   }
   1619   export interface DescribePermissionsRequest {
   1620     /**
   1621      * The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers.
   1622      */
   1623     IamUserArn?: String;
   1624     /**
   1625      * The stack ID.
   1626      */
   1627     StackId?: String;
   1628   }
   1629   export interface DescribePermissionsResult {
   1630     /**
   1631      * An array of Permission objects that describe the stack permissions.   If the request object contains only a stack ID, the array contains a Permission object with permissions for each of the stack IAM ARNs.   If the request object contains only an IAM ARN, the array contains a Permission object with permissions for each of the user's stack IDs.   If the request contains a stack ID and an IAM ARN, the array contains a single Permission object with permissions for the specified stack and IAM ARN.  
   1632      */
   1633     Permissions?: Permissions;
   1634   }
   1635   export interface DescribeRaidArraysRequest {
   1636     /**
   1637      * The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance. 
   1638      */
   1639     InstanceId?: String;
   1640     /**
   1641      * The stack ID.
   1642      */
   1643     StackId?: String;
   1644     /**
   1645      * 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.
   1646      */
   1647     RaidArrayIds?: Strings;
   1648   }
   1649   export interface DescribeRaidArraysResult {
   1650     /**
   1651      * A RaidArrays object that describes the specified RAID arrays.
   1652      */
   1653     RaidArrays?: RaidArrays;
   1654   }
   1655   export interface DescribeRdsDbInstancesRequest {
   1656     /**
   1657      * The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.
   1658      */
   1659     StackId: String;
   1660     /**
   1661      * An array containing the ARNs of the instances to be described.
   1662      */
   1663     RdsDbInstanceArns?: Strings;
   1664   }
   1665   export interface DescribeRdsDbInstancesResult {
   1666     /**
   1667      * An a array of RdsDbInstance objects that describe the instances.
   1668      */
   1669     RdsDbInstances?: RdsDbInstances;
   1670   }
   1671   export interface DescribeServiceErrorsRequest {
   1672     /**
   1673      * The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified stack.
   1674      */
   1675     StackId?: String;
   1676     /**
   1677      * The instance ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified instance.
   1678      */
   1679     InstanceId?: String;
   1680     /**
   1681      * 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.
   1682      */
   1683     ServiceErrorIds?: Strings;
   1684   }
   1685   export interface DescribeServiceErrorsResult {
   1686     /**
   1687      * An array of ServiceError objects that describe the specified service errors.
   1688      */
   1689     ServiceErrors?: ServiceErrors;
   1690   }
   1691   export interface DescribeStackProvisioningParametersRequest {
   1692     /**
   1693      * The stack ID
   1694      */
   1695     StackId: String;
   1696   }
   1697   export interface DescribeStackProvisioningParametersResult {
   1698     /**
   1699      * The AWS OpsWorks agent installer's URL.
   1700      */
   1701     AgentInstallerUrl?: String;
   1702     /**
   1703      * An embedded object that contains the provisioning parameters.
   1704      */
   1705     Parameters?: Parameters;
   1706   }
   1707   export interface DescribeStackSummaryRequest {
   1708     /**
   1709      * The stack ID.
   1710      */
   1711     StackId: String;
   1712   }
   1713   export interface DescribeStackSummaryResult {
   1714     /**
   1715      * A StackSummary object that contains the results.
   1716      */
   1717     StackSummary?: StackSummary;
   1718   }
   1719   export interface DescribeStacksRequest {
   1720     /**
   1721      * An array of stack IDs that specify the stacks to be described. If you omit this parameter, DescribeStacks returns a description of every stack.
   1722      */
   1723     StackIds?: Strings;
   1724   }
   1725   export interface DescribeStacksResult {
   1726     /**
   1727      * An array of Stack objects that describe the stacks.
   1728      */
   1729     Stacks?: Stacks;
   1730   }
   1731   export interface DescribeTimeBasedAutoScalingRequest {
   1732     /**
   1733      * An array of instance IDs.
   1734      */
   1735     InstanceIds: Strings;
   1736   }
   1737   export interface DescribeTimeBasedAutoScalingResult {
   1738     /**
   1739      * An array of TimeBasedAutoScalingConfiguration objects that describe the configuration for the specified instances.
   1740      */
   1741     TimeBasedAutoScalingConfigurations?: TimeBasedAutoScalingConfigurations;
   1742   }
   1743   export interface DescribeUserProfilesRequest {
   1744     /**
   1745      * An array of IAM or federated user ARNs that identify the users to be described.
   1746      */
   1747     IamUserArns?: Strings;
   1748   }
   1749   export interface DescribeUserProfilesResult {
   1750     /**
   1751      * A Users object that describes the specified users.
   1752      */
   1753     UserProfiles?: UserProfiles;
   1754   }
   1755   export interface DescribeVolumesRequest {
   1756     /**
   1757      * The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.
   1758      */
   1759     InstanceId?: String;
   1760     /**
   1761      * A stack ID. The action describes the stack's registered Amazon EBS volumes.
   1762      */
   1763     StackId?: String;
   1764     /**
   1765      * The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified RAID array.
   1766      */
   1767     RaidArrayId?: String;
   1768     /**
   1769      * 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.
   1770      */
   1771     VolumeIds?: Strings;
   1772   }
   1773   export interface DescribeVolumesResult {
   1774     /**
   1775      * An array of volume IDs.
   1776      */
   1777     Volumes?: Volumes;
   1778   }
   1779   export interface DetachElasticLoadBalancerRequest {
   1780     /**
   1781      * The Elastic Load Balancing instance's name.
   1782      */
   1783     ElasticLoadBalancerName: String;
   1784     /**
   1785      * The ID of the layer that the Elastic Load Balancing instance is attached to.
   1786      */
   1787     LayerId: String;
   1788   }
   1789   export interface DisassociateElasticIpRequest {
   1790     /**
   1791      * The Elastic IP address.
   1792      */
   1793     ElasticIp: String;
   1794   }
   1795   export type Double = number;
   1796   export interface EbsBlockDevice {
   1797     /**
   1798      * The snapshot ID.
   1799      */
   1800     SnapshotId?: String;
   1801     /**
   1802      * The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice.
   1803      */
   1804     Iops?: Integer;
   1805     /**
   1806      * The volume size, in GiB. For more information, see EbsBlockDevice.
   1807      */
   1808     VolumeSize?: Integer;
   1809     /**
   1810      * The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.
   1811      */
   1812     VolumeType?: VolumeType;
   1813     /**
   1814      * Whether the volume is deleted on instance termination.
   1815      */
   1816     DeleteOnTermination?: Boolean;
   1817   }
   1818   export interface EcsCluster {
   1819     /**
   1820      * The cluster's ARN.
   1821      */
   1822     EcsClusterArn?: String;
   1823     /**
   1824      * The cluster name.
   1825      */
   1826     EcsClusterName?: String;
   1827     /**
   1828      * The stack ID.
   1829      */
   1830     StackId?: String;
   1831     /**
   1832      * The time and date that the cluster was registered with the stack.
   1833      */
   1834     RegisteredAt?: DateTime;
   1835   }
   1836   export type EcsClusters = EcsCluster[];
   1837   export interface ElasticIp {
   1838     /**
   1839      * The IP address.
   1840      */
   1841     Ip?: String;
   1842     /**
   1843      * The name.
   1844      */
   1845     Name?: String;
   1846     /**
   1847      * The domain.
   1848      */
   1849     Domain?: String;
   1850     /**
   1851      * The AWS region. For more information, see Regions and Endpoints.
   1852      */
   1853     Region?: String;
   1854     /**
   1855      * The ID of the instance that the address is attached to.
   1856      */
   1857     InstanceId?: String;
   1858   }
   1859   export type ElasticIps = ElasticIp[];
   1860   export interface ElasticLoadBalancer {
   1861     /**
   1862      * The Elastic Load Balancing instance's name.
   1863      */
   1864     ElasticLoadBalancerName?: String;
   1865     /**
   1866      * The instance's AWS region.
   1867      */
   1868     Region?: String;
   1869     /**
   1870      * The instance's public DNS name.
   1871      */
   1872     DnsName?: String;
   1873     /**
   1874      * The ID of the stack that the instance is associated with.
   1875      */
   1876     StackId?: String;
   1877     /**
   1878      * The ID of the layer that the instance is attached to.
   1879      */
   1880     LayerId?: String;
   1881     /**
   1882      * The VPC ID.
   1883      */
   1884     VpcId?: String;
   1885     /**
   1886      * A list of Availability Zones.
   1887      */
   1888     AvailabilityZones?: Strings;
   1889     /**
   1890      * A list of subnet IDs, if the stack is running in a VPC.
   1891      */
   1892     SubnetIds?: Strings;
   1893     /**
   1894      * A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.
   1895      */
   1896     Ec2InstanceIds?: Strings;
   1897   }
   1898   export type ElasticLoadBalancers = ElasticLoadBalancer[];
   1899   export interface EnvironmentVariable {
   1900     /**
   1901      * (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.
   1902      */
   1903     Key: String;
   1904     /**
   1905      * (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.
   1906      */
   1907     Value: String;
   1908     /**
   1909      * (Optional) Whether the variable's value will be returned by the DescribeApps action. To conceal an environment variable's value, set Secure to true. DescribeApps then returns *****FILTERED***** instead of the actual value. The default value for Secure is false. 
   1910      */
   1911     Secure?: Boolean;
   1912   }
   1913   export type EnvironmentVariables = EnvironmentVariable[];
   1914   export interface GetHostnameSuggestionRequest {
   1915     /**
   1916      * The layer ID.
   1917      */
   1918     LayerId: String;
   1919   }
   1920   export interface GetHostnameSuggestionResult {
   1921     /**
   1922      * The layer ID.
   1923      */
   1924     LayerId?: String;
   1925     /**
   1926      * The generated host name.
   1927      */
   1928     Hostname?: String;
   1929   }
   1930   export interface GrantAccessRequest {
   1931     /**
   1932      * The instance's AWS OpsWorks ID.
   1933      */
   1934     InstanceId: String;
   1935     /**
   1936      * The length of time (in minutes) that the grant is valid. When the grant expires at the end of this period, the user will no longer be able to use the credentials to log in. If the user is logged in at the time, he or she automatically will be logged out.
   1937      */
   1938     ValidForInMinutes?: ValidForInMinutes;
   1939   }
   1940   export interface GrantAccessResult {
   1941     /**
   1942      * A TemporaryCredential object that contains the data needed to log in to the instance by RDP clients, such as the Microsoft Remote Desktop Connection.
   1943      */
   1944     TemporaryCredential?: TemporaryCredential;
   1945   }
   1946   export type Hour = string;
   1947   export interface Instance {
   1948     /**
   1949      * The agent version. This parameter is set to INHERIT if the instance inherits the default stack setting or to a a version number for a fixed agent version.
   1950      */
   1951     AgentVersion?: String;
   1952     /**
   1953      * A custom AMI ID to be used to create the instance. For more information, see Instances 
   1954      */
   1955     AmiId?: String;
   1956     /**
   1957      * The instance architecture: "i386" or "x86_64".
   1958      */
   1959     Architecture?: Architecture;
   1960     /**
   1961      * For load-based or time-based instances, the type.
   1962      */
   1963     AutoScalingType?: AutoScalingType;
   1964     /**
   1965      * The instance Availability Zone. For more information, see Regions and Endpoints.
   1966      */
   1967     AvailabilityZone?: String;
   1968     /**
   1969      * An array of BlockDeviceMapping objects that specify the instance's block device mappings.
   1970      */
   1971     BlockDeviceMappings?: BlockDeviceMappings;
   1972     /**
   1973      * The time that the instance was created.
   1974      */
   1975     CreatedAt?: DateTime;
   1976     /**
   1977      * Whether this is an Amazon EBS-optimized instance.
   1978      */
   1979     EbsOptimized?: Boolean;
   1980     /**
   1981      * The ID of the associated Amazon EC2 instance.
   1982      */
   1983     Ec2InstanceId?: String;
   1984     /**
   1985      * For container instances, the Amazon ECS cluster's ARN.
   1986      */
   1987     EcsClusterArn?: String;
   1988     /**
   1989      * For container instances, the instance's ARN.
   1990      */
   1991     EcsContainerInstanceArn?: String;
   1992     /**
   1993      * The instance Elastic IP address .
   1994      */
   1995     ElasticIp?: String;
   1996     /**
   1997      * The instance host name.
   1998      */
   1999     Hostname?: String;
   2000     /**
   2001      * For registered instances, the infrastructure class: ec2 or on-premises.
   2002      */
   2003     InfrastructureClass?: String;
   2004     /**
   2005      * 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 by 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. 
   2006      */
   2007     InstallUpdatesOnBoot?: Boolean;
   2008     /**
   2009      * The instance ID.
   2010      */
   2011     InstanceId?: String;
   2012     /**
   2013      * The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.
   2014      */
   2015     InstanceProfileArn?: String;
   2016     /**
   2017      * The instance type, such as t2.micro.
   2018      */
   2019     InstanceType?: String;
   2020     /**
   2021      * The ID of the last service error. For more information, call DescribeServiceErrors.
   2022      */
   2023     LastServiceErrorId?: String;
   2024     /**
   2025      * An array containing the instance layer IDs.
   2026      */
   2027     LayerIds?: Strings;
   2028     /**
   2029      * The instance's operating system.
   2030      */
   2031     Os?: String;
   2032     /**
   2033      * The instance's platform.
   2034      */
   2035     Platform?: String;
   2036     /**
   2037      * The The instance's private DNS name.
   2038      */
   2039     PrivateDns?: String;
   2040     /**
   2041      * The instance's private IP address.
   2042      */
   2043     PrivateIp?: String;
   2044     /**
   2045      * The instance public DNS name.
   2046      */
   2047     PublicDns?: String;
   2048     /**
   2049      * The instance public IP address.
   2050      */
   2051     PublicIp?: String;
   2052     /**
   2053      * For registered instances, who performed the registration.
   2054      */
   2055     RegisteredBy?: String;
   2056     /**
   2057      * The instance's reported AWS OpsWorks agent version.
   2058      */
   2059     ReportedAgentVersion?: String;
   2060     /**
   2061      * For registered instances, the reported operating system.
   2062      */
   2063     ReportedOs?: ReportedOs;
   2064     /**
   2065      * The instance's root device type. For more information, see Storage for the Root Device.
   2066      */
   2067     RootDeviceType?: RootDeviceType;
   2068     /**
   2069      * The root device volume ID.
   2070      */
   2071     RootDeviceVolumeId?: String;
   2072     /**
   2073      * An array containing the instance security group IDs.
   2074      */
   2075     SecurityGroupIds?: Strings;
   2076     /**
   2077      * The SSH key's Deep Security Agent (DSA) fingerprint.
   2078      */
   2079     SshHostDsaKeyFingerprint?: String;
   2080     /**
   2081      * The SSH key's RSA fingerprint.
   2082      */
   2083     SshHostRsaKeyFingerprint?: String;
   2084     /**
   2085      * The instance's Amazon EC2 key-pair name.
   2086      */
   2087     SshKeyName?: String;
   2088     /**
   2089      * The stack ID.
   2090      */
   2091     StackId?: String;
   2092     /**
   2093      * The instance status:    booting     connection_lost     online     pending     rebooting     requested     running_setup     setup_failed     shutting_down     start_failed     stop_failed     stopped     stopping     terminated     terminating   
   2094      */
   2095     Status?: String;
   2096     /**
   2097      * The instance's subnet ID; applicable only if the stack is running in a VPC.
   2098      */
   2099     SubnetId?: String;
   2100     /**
   2101      * The instance's tenancy option, such as dedicated or host.
   2102      */
   2103     Tenancy?: String;
   2104     /**
   2105      * The instance's virtualization type: paravirtual or hvm.
   2106      */
   2107     VirtualizationType?: VirtualizationType;
   2108   }
   2109   export interface InstanceIdentity {
   2110     /**
   2111      * A JSON document that contains the metadata.
   2112      */
   2113     Document?: String;
   2114     /**
   2115      * A signature that can be used to verify the document's accuracy and authenticity.
   2116      */
   2117     Signature?: String;
   2118   }
   2119   export type Instances = Instance[];
   2120   export interface InstancesCount {
   2121     /**
   2122      * The number of instances in the Assigning state.
   2123      */
   2124     Assigning?: Integer;
   2125     /**
   2126      * The number of instances with booting status.
   2127      */
   2128     Booting?: Integer;
   2129     /**
   2130      * The number of instances with connection_lost status.
   2131      */
   2132     ConnectionLost?: Integer;
   2133     /**
   2134      * The number of instances in the Deregistering state.
   2135      */
   2136     Deregistering?: Integer;
   2137     /**
   2138      * The number of instances with online status.
   2139      */
   2140     Online?: Integer;
   2141     /**
   2142      * The number of instances with pending status.
   2143      */
   2144     Pending?: Integer;
   2145     /**
   2146      * The number of instances with rebooting status.
   2147      */
   2148     Rebooting?: Integer;
   2149     /**
   2150      * The number of instances in the Registered state.
   2151      */
   2152     Registered?: Integer;
   2153     /**
   2154      * The number of instances in the Registering state.
   2155      */
   2156     Registering?: Integer;
   2157     /**
   2158      * The number of instances with requested status.
   2159      */
   2160     Requested?: Integer;
   2161     /**
   2162      * The number of instances with running_setup status.
   2163      */
   2164     RunningSetup?: Integer;
   2165     /**
   2166      * The number of instances with setup_failed status.
   2167      */
   2168     SetupFailed?: Integer;
   2169     /**
   2170      * The number of instances with shutting_down status.
   2171      */
   2172     ShuttingDown?: Integer;
   2173     /**
   2174      * The number of instances with start_failed status.
   2175      */
   2176     StartFailed?: Integer;
   2177     /**
   2178      * The number of instances with stopped status.
   2179      */
   2180     Stopped?: Integer;
   2181     /**
   2182      * The number of instances with stopping status.
   2183      */
   2184     Stopping?: Integer;
   2185     /**
   2186      * The number of instances with terminated status.
   2187      */
   2188     Terminated?: Integer;
   2189     /**
   2190      * The number of instances with terminating status.
   2191      */
   2192     Terminating?: Integer;
   2193     /**
   2194      * The number of instances in the Unassigning state.
   2195      */
   2196     Unassigning?: Integer;
   2197   }
   2198   export type Integer = number;
   2199   export interface Layer {
   2200     /**
   2201      * The layer stack ID.
   2202      */
   2203     StackId?: String;
   2204     /**
   2205      * The layer ID.
   2206      */
   2207     LayerId?: String;
   2208     /**
   2209      * The layer type.
   2210      */
   2211     Type?: LayerType;
   2212     /**
   2213      * The layer name.
   2214      */
   2215     Name?: String;
   2216     /**
   2217      * The layer short name.
   2218      */
   2219     Shortname?: String;
   2220     /**
   2221      * The layer attributes. For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks returns *****FILTERED***** instead of the actual value For an ECS Cluster layer, AWS OpsWorks the EcsClusterArn attribute is set to the cluster's ARN.
   2222      */
   2223     Attributes?: LayerAttributes;
   2224     /**
   2225      * 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.
   2226      */
   2227     CustomInstanceProfileArn?: String;
   2228     /**
   2229      * A JSON formatted string containing the layer's custom stack configuration and deployment attributes.
   2230      */
   2231     CustomJson?: String;
   2232     /**
   2233      * An array containing the layer's custom security group IDs.
   2234      */
   2235     CustomSecurityGroupIds?: Strings;
   2236     /**
   2237      * An array containing the layer's security group names.
   2238      */
   2239     DefaultSecurityGroupNames?: Strings;
   2240     /**
   2241      * An array of Package objects that describe the layer's packages.
   2242      */
   2243     Packages?: Strings;
   2244     /**
   2245      * A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
   2246      */
   2247     VolumeConfigurations?: VolumeConfigurations;
   2248     /**
   2249      * Whether auto healing is disabled for the layer.
   2250      */
   2251     EnableAutoHealing?: Boolean;
   2252     /**
   2253      * Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.
   2254      */
   2255     AutoAssignElasticIps?: Boolean;
   2256     /**
   2257      * 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.
   2258      */
   2259     AutoAssignPublicIps?: Boolean;
   2260     DefaultRecipes?: Recipes;
   2261     /**
   2262      * A LayerCustomRecipes object that specifies the layer's custom recipes.
   2263      */
   2264     CustomRecipes?: Recipes;
   2265     /**
   2266      * Date when the layer was created.
   2267      */
   2268     CreatedAt?: DateTime;
   2269     /**
   2270      * 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.   We strongly recommend using the default value of true, to ensure that your instances have the latest security updates. 
   2271      */
   2272     InstallUpdatesOnBoot?: Boolean;
   2273     /**
   2274      * Whether the layer uses Amazon EBS-optimized instances.
   2275      */
   2276     UseEbsOptimizedInstances?: Boolean;
   2277     /**
   2278      * A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.
   2279      */
   2280     LifecycleEventConfiguration?: LifecycleEventConfiguration;
   2281   }
   2282   export type LayerAttributes = {[key: string]: String};
   2283   export type LayerAttributesKeys = "EcsClusterArn"|"EnableHaproxyStats"|"HaproxyStatsUrl"|"HaproxyStatsUser"|"HaproxyStatsPassword"|"HaproxyHealthCheckUrl"|"HaproxyHealthCheckMethod"|"MysqlRootPassword"|"MysqlRootPasswordUbiquitous"|"GangliaUrl"|"GangliaUser"|"GangliaPassword"|"MemcachedMemory"|"NodejsVersion"|"RubyVersion"|"RubygemsVersion"|"ManageBundler"|"BundlerVersion"|"RailsStack"|"PassengerVersion"|"Jvm"|"JvmVersion"|"JvmOptions"|"JavaAppServer"|"JavaAppServerVersion"|string;
   2284   export type LayerType = "aws-flow-ruby"|"ecs-cluster"|"java-app"|"lb"|"web"|"php-app"|"rails-app"|"nodejs-app"|"memcached"|"db-master"|"monitoring-master"|"custom"|string;
   2285   export type Layers = Layer[];
   2286   export interface LifecycleEventConfiguration {
   2287     /**
   2288      * A ShutdownEventConfiguration object that specifies the Shutdown event configuration.
   2289      */
   2290     Shutdown?: ShutdownEventConfiguration;
   2291   }
   2292   export interface LoadBasedAutoScalingConfiguration {
   2293     /**
   2294      * The layer ID.
   2295      */
   2296     LayerId?: String;
   2297     /**
   2298      * Whether load-based auto scaling is enabled for the layer.
   2299      */
   2300     Enable?: Boolean;
   2301     /**
   2302      * An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks increases the number of instances.
   2303      */
   2304     UpScaling?: AutoScalingThresholds;
   2305     /**
   2306      * An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks reduces the number of instances.
   2307      */
   2308     DownScaling?: AutoScalingThresholds;
   2309   }
   2310   export type LoadBasedAutoScalingConfigurations = LoadBasedAutoScalingConfiguration[];
   2311   export type Minute = number;
   2312   export type Parameters = {[key: string]: String};
   2313   export interface Permission {
   2314     /**
   2315      * A stack ID.
   2316      */
   2317     StackId?: String;
   2318     /**
   2319      * The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see Using Identifiers.
   2320      */
   2321     IamUserArn?: String;
   2322     /**
   2323      * Whether the user can use SSH.
   2324      */
   2325     AllowSsh?: Boolean;
   2326     /**
   2327      * Whether the user can use sudo.
   2328      */
   2329     AllowSudo?: Boolean;
   2330     /**
   2331      * The user's permission level, which must be the following:    deny     show     deploy     manage     iam_only    For more information on the permissions associated with these levels, see Managing User Permissions 
   2332      */
   2333     Level?: String;
   2334   }
   2335   export type Permissions = Permission[];
   2336   export interface RaidArray {
   2337     /**
   2338      * The array ID.
   2339      */
   2340     RaidArrayId?: String;
   2341     /**
   2342      * The instance ID.
   2343      */
   2344     InstanceId?: String;
   2345     /**
   2346      * The array name.
   2347      */
   2348     Name?: String;
   2349     /**
   2350      * The RAID level.
   2351      */
   2352     RaidLevel?: Integer;
   2353     /**
   2354      * The number of disks in the array.
   2355      */
   2356     NumberOfDisks?: Integer;
   2357     /**
   2358      * The array's size.
   2359      */
   2360     Size?: Integer;
   2361     /**
   2362      * The array's Linux device. For example /dev/mdadm0.
   2363      */
   2364     Device?: String;
   2365     /**
   2366      * The array's mount point.
   2367      */
   2368     MountPoint?: String;
   2369     /**
   2370      * The array's Availability Zone. For more information, see Regions and Endpoints.
   2371      */
   2372     AvailabilityZone?: String;
   2373     /**
   2374      * When the RAID array was created.
   2375      */
   2376     CreatedAt?: DateTime;
   2377     /**
   2378      * The stack ID.
   2379      */
   2380     StackId?: String;
   2381     /**
   2382      * The volume type, standard or PIOPS.
   2383      */
   2384     VolumeType?: String;
   2385     /**
   2386      * For PIOPS volumes, the IOPS per disk.
   2387      */
   2388     Iops?: Integer;
   2389   }
   2390   export type RaidArrays = RaidArray[];
   2391   export interface RdsDbInstance {
   2392     /**
   2393      * The instance's ARN.
   2394      */
   2395     RdsDbInstanceArn?: String;
   2396     /**
   2397      * The DB instance identifier.
   2398      */
   2399     DbInstanceIdentifier?: String;
   2400     /**
   2401      * The master user name.
   2402      */
   2403     DbUser?: String;
   2404     /**
   2405      * AWS OpsWorks returns *****FILTERED***** instead of the actual value.
   2406      */
   2407     DbPassword?: String;
   2408     /**
   2409      * The instance's AWS region.
   2410      */
   2411     Region?: String;
   2412     /**
   2413      * The instance's address.
   2414      */
   2415     Address?: String;
   2416     /**
   2417      * The instance's database engine.
   2418      */
   2419     Engine?: String;
   2420     /**
   2421      * The ID of the stack that the instance is registered with.
   2422      */
   2423     StackId?: String;
   2424     /**
   2425      * Set to true if AWS OpsWorks was unable to discover the Amazon RDS instance. AWS OpsWorks attempts to discover the instance only once. If this value is set to true, you must deregister the instance and then register it again.
   2426      */
   2427     MissingOnRds?: Boolean;
   2428   }
   2429   export type RdsDbInstances = RdsDbInstance[];
   2430   export interface RebootInstanceRequest {
   2431     /**
   2432      * The instance ID.
   2433      */
   2434     InstanceId: String;
   2435   }
   2436   export interface Recipes {
   2437     /**
   2438      * An array of custom recipe names to be run following a setup event.
   2439      */
   2440     Setup?: Strings;
   2441     /**
   2442      * An array of custom recipe names to be run following a configure event.
   2443      */
   2444     Configure?: Strings;
   2445     /**
   2446      * An array of custom recipe names to be run following a deploy event.
   2447      */
   2448     Deploy?: Strings;
   2449     /**
   2450      * An array of custom recipe names to be run following a undeploy event.
   2451      */
   2452     Undeploy?: Strings;
   2453     /**
   2454      * An array of custom recipe names to be run following a shutdown event.
   2455      */
   2456     Shutdown?: Strings;
   2457   }
   2458   export interface RegisterEcsClusterRequest {
   2459     /**
   2460      * The cluster's ARN.
   2461      */
   2462     EcsClusterArn: String;
   2463     /**
   2464      * The stack ID.
   2465      */
   2466     StackId: String;
   2467   }
   2468   export interface RegisterEcsClusterResult {
   2469     /**
   2470      * The cluster's ARN.
   2471      */
   2472     EcsClusterArn?: String;
   2473   }
   2474   export interface RegisterElasticIpRequest {
   2475     /**
   2476      * The Elastic IP address.
   2477      */
   2478     ElasticIp: String;
   2479     /**
   2480      * The stack ID.
   2481      */
   2482     StackId: String;
   2483   }
   2484   export interface RegisterElasticIpResult {
   2485     /**
   2486      * The Elastic IP address.
   2487      */
   2488     ElasticIp?: String;
   2489   }
   2490   export interface RegisterInstanceRequest {
   2491     /**
   2492      * The ID of the stack that the instance is to be registered with.
   2493      */
   2494     StackId: String;
   2495     /**
   2496      * The instance's hostname.
   2497      */
   2498     Hostname?: String;
   2499     /**
   2500      * The instance's public IP address.
   2501      */
   2502     PublicIp?: String;
   2503     /**
   2504      * The instance's private IP address.
   2505      */
   2506     PrivateIp?: String;
   2507     /**
   2508      * The instances public RSA key. This key is used to encrypt communication between the instance and the service.
   2509      */
   2510     RsaPublicKey?: String;
   2511     /**
   2512      * The instances public RSA key fingerprint.
   2513      */
   2514     RsaPublicKeyFingerprint?: String;
   2515     /**
   2516      * An InstanceIdentity object that contains the instance's identity.
   2517      */
   2518     InstanceIdentity?: InstanceIdentity;
   2519   }
   2520   export interface RegisterInstanceResult {
   2521     /**
   2522      * The registered instance's AWS OpsWorks ID.
   2523      */
   2524     InstanceId?: String;
   2525   }
   2526   export interface RegisterRdsDbInstanceRequest {
   2527     /**
   2528      * The stack ID.
   2529      */
   2530     StackId: String;
   2531     /**
   2532      * The Amazon RDS instance's ARN.
   2533      */
   2534     RdsDbInstanceArn: String;
   2535     /**
   2536      * The database's master user name.
   2537      */
   2538     DbUser: String;
   2539     /**
   2540      * The database password.
   2541      */
   2542     DbPassword: String;
   2543   }
   2544   export interface RegisterVolumeRequest {
   2545     /**
   2546      * The Amazon EBS volume ID.
   2547      */
   2548     Ec2VolumeId?: String;
   2549     /**
   2550      * The stack ID.
   2551      */
   2552     StackId: String;
   2553   }
   2554   export interface RegisterVolumeResult {
   2555     /**
   2556      * The volume ID.
   2557      */
   2558     VolumeId?: String;
   2559   }
   2560   export interface ReportedOs {
   2561     /**
   2562      * The operating system family.
   2563      */
   2564     Family?: String;
   2565     /**
   2566      * The operating system name.
   2567      */
   2568     Name?: String;
   2569     /**
   2570      * The operating system version.
   2571      */
   2572     Version?: String;
   2573   }
   2574   export type RootDeviceType = "ebs"|"instance-store"|string;
   2575   export interface SelfUserProfile {
   2576     /**
   2577      * The user's IAM ARN.
   2578      */
   2579     IamUserArn?: String;
   2580     /**
   2581      * The user's name.
   2582      */
   2583     Name?: String;
   2584     /**
   2585      * The user's SSH user name.
   2586      */
   2587     SshUsername?: String;
   2588     /**
   2589      * The user's SSH public key.
   2590      */
   2591     SshPublicKey?: String;
   2592   }
   2593   export interface ServiceError {
   2594     /**
   2595      * The error ID.
   2596      */
   2597     ServiceErrorId?: String;
   2598     /**
   2599      * The stack ID.
   2600      */
   2601     StackId?: String;
   2602     /**
   2603      * The instance ID.
   2604      */
   2605     InstanceId?: String;
   2606     /**
   2607      * The error type.
   2608      */
   2609     Type?: String;
   2610     /**
   2611      * A message that describes the error.
   2612      */
   2613     Message?: String;
   2614     /**
   2615      * When the error occurred.
   2616      */
   2617     CreatedAt?: DateTime;
   2618   }
   2619   export type ServiceErrors = ServiceError[];
   2620   export interface SetLoadBasedAutoScalingRequest {
   2621     /**
   2622      * The layer ID.
   2623      */
   2624     LayerId: String;
   2625     /**
   2626      * Enables load-based auto scaling for the layer.
   2627      */
   2628     Enable?: Boolean;
   2629     /**
   2630      * 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.
   2631      */
   2632     UpScaling?: AutoScalingThresholds;
   2633     /**
   2634      * 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.
   2635      */
   2636     DownScaling?: AutoScalingThresholds;
   2637   }
   2638   export interface SetPermissionRequest {
   2639     /**
   2640      * The stack ID.
   2641      */
   2642     StackId: String;
   2643     /**
   2644      * The user's IAM ARN. This can also be a federated user's ARN.
   2645      */
   2646     IamUserArn: String;
   2647     /**
   2648      * The user is allowed to use SSH to communicate with the instance.
   2649      */
   2650     AllowSsh?: Boolean;
   2651     /**
   2652      * The user is allowed to use sudo to elevate privileges.
   2653      */
   2654     AllowSudo?: Boolean;
   2655     /**
   2656      * 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.
   2657      */
   2658     Level?: String;
   2659   }
   2660   export interface SetTimeBasedAutoScalingRequest {
   2661     /**
   2662      * The instance ID.
   2663      */
   2664     InstanceId: String;
   2665     /**
   2666      * An AutoScalingSchedule with the instance schedule.
   2667      */
   2668     AutoScalingSchedule?: WeeklyAutoScalingSchedule;
   2669   }
   2670   export interface ShutdownEventConfiguration {
   2671     /**
   2672      * The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.
   2673      */
   2674     ExecutionTimeout?: Integer;
   2675     /**
   2676      * Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining 
   2677      */
   2678     DelayUntilElbConnectionsDrained?: Boolean;
   2679   }
   2680   export interface Source {
   2681     /**
   2682      * The repository type.
   2683      */
   2684     Type?: SourceType;
   2685     /**
   2686      * The source URL.
   2687      */
   2688     Url?: String;
   2689     /**
   2690      * This parameter depends on the repository type.   For Amazon S3 bundles, set Username to the appropriate IAM access key ID.   For HTTP bundles, Git repositories, and Subversion repositories, set Username to the user name.  
   2691      */
   2692     Username?: String;
   2693     /**
   2694      * When included in a request, the parameter depends on the repository type.   For Amazon S3 bundles, set Password to the appropriate IAM secret access key.   For HTTP bundles and Subversion repositories, set Password to the password.   For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html. In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.
   2695      */
   2696     Password?: String;
   2697     /**
   2698      * In requests, the repository's SSH key. In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.
   2699      */
   2700     SshKey?: String;
   2701     /**
   2702      * The application's version. AWS OpsWorks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.
   2703      */
   2704     Revision?: String;
   2705   }
   2706   export type SourceType = "git"|"svn"|"archive"|"s3"|string;
   2707   export interface SslConfiguration {
   2708     /**
   2709      * The contents of the certificate's domain.crt file.
   2710      */
   2711     Certificate: String;
   2712     /**
   2713      * The private key; the contents of the certificate's domain.kex file.
   2714      */
   2715     PrivateKey: String;
   2716     /**
   2717      * Optional. Can be used to specify an intermediate certificate authority key or client authentication.
   2718      */
   2719     Chain?: String;
   2720   }
   2721   export interface Stack {
   2722     /**
   2723      * The stack ID.
   2724      */
   2725     StackId?: String;
   2726     /**
   2727      * The stack name.
   2728      */
   2729     Name?: String;
   2730     /**
   2731      * The stack's ARN.
   2732      */
   2733     Arn?: String;
   2734     /**
   2735      * The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see Regions and Endpoints.
   2736      */
   2737     Region?: String;
   2738     /**
   2739      * The VPC ID; applicable only if the stack is running in a VPC.
   2740      */
   2741     VpcId?: String;
   2742     /**
   2743      * The stack's attributes.
   2744      */
   2745     Attributes?: StackAttributes;
   2746     /**
   2747      * The stack AWS Identity and Access Management (IAM) role.
   2748      */
   2749     ServiceRoleArn?: String;
   2750     /**
   2751      * 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.
   2752      */
   2753     DefaultInstanceProfileArn?: String;
   2754     /**
   2755      * The stack's default operating system.
   2756      */
   2757     DefaultOs?: String;
   2758     /**
   2759      * The stack host name theme, with spaces replaced by underscores.
   2760      */
   2761     HostnameTheme?: String;
   2762     /**
   2763      * The stack's default Availability Zone. For more information, see Regions and Endpoints.
   2764      */
   2765     DefaultAvailabilityZone?: String;
   2766     /**
   2767      * The default subnet ID; applicable only if the stack is running in a VPC.
   2768      */
   2769     DefaultSubnetId?: String;
   2770     /**
   2771      * A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.
   2772      */
   2773     CustomJson?: String;
   2774     /**
   2775      * The configuration manager.
   2776      */
   2777     ConfigurationManager?: StackConfigurationManager;
   2778     /**
   2779      * A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see Create a New Stack.
   2780      */
   2781     ChefConfiguration?: ChefConfiguration;
   2782     /**
   2783      * Whether the stack uses custom cookbooks.
   2784      */
   2785     UseCustomCookbooks?: Boolean;
   2786     /**
   2787      * Whether the stack automatically associates the AWS OpsWorks built-in security groups with the stack's layers.
   2788      */
   2789     UseOpsworksSecurityGroups?: Boolean;
   2790     CustomCookbooksSource?: Source;
   2791     /**
   2792      * A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.
   2793      */
   2794     DefaultSshKeyName?: String;
   2795     /**
   2796      * The date when the stack was created.
   2797      */
   2798     CreatedAt?: DateTime;
   2799     /**
   2800      * 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.
   2801      */
   2802     DefaultRootDeviceType?: RootDeviceType;
   2803     /**
   2804      * The agent version. This parameter is set to LATEST for auto-update. or a version number for a fixed agent version.
   2805      */
   2806     AgentVersion?: String;
   2807   }
   2808   export type StackAttributes = {[key: string]: String};
   2809   export type StackAttributesKeys = "Color"|string;
   2810   export interface StackConfigurationManager {
   2811     /**
   2812      * The name. This parameter must be set to "Chef".
   2813      */
   2814     Name?: String;
   2815     /**
   2816      * The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.
   2817      */
   2818     Version?: String;
   2819   }
   2820   export interface StackSummary {
   2821     /**
   2822      * The stack ID.
   2823      */
   2824     StackId?: String;
   2825     /**
   2826      * The stack name.
   2827      */
   2828     Name?: String;
   2829     /**
   2830      * The stack's ARN.
   2831      */
   2832     Arn?: String;
   2833     /**
   2834      * The number of layers.
   2835      */
   2836     LayersCount?: Integer;
   2837     /**
   2838      * The number of apps.
   2839      */
   2840     AppsCount?: Integer;
   2841     /**
   2842      * An InstancesCount object with the number of instances in each status.
   2843      */
   2844     InstancesCount?: InstancesCount;
   2845   }
   2846   export type Stacks = Stack[];
   2847   export interface StartInstanceRequest {
   2848     /**
   2849      * The instance ID.
   2850      */
   2851     InstanceId: String;
   2852   }
   2853   export interface StartStackRequest {
   2854     /**
   2855      * The stack ID.
   2856      */
   2857     StackId: String;
   2858   }
   2859   export interface StopInstanceRequest {
   2860     /**
   2861      * The instance ID.
   2862      */
   2863     InstanceId: String;
   2864   }
   2865   export interface StopStackRequest {
   2866     /**
   2867      * The stack ID.
   2868      */
   2869     StackId: String;
   2870   }
   2871   export type String = string;
   2872   export type Strings = String[];
   2873   export type Switch = string;
   2874   export interface TemporaryCredential {
   2875     /**
   2876      * The user name.
   2877      */
   2878     Username?: String;
   2879     /**
   2880      * The password.
   2881      */
   2882     Password?: String;
   2883     /**
   2884      * The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.
   2885      */
   2886     ValidForInMinutes?: Integer;
   2887     /**
   2888      * The instance's AWS OpsWorks ID.
   2889      */
   2890     InstanceId?: String;
   2891   }
   2892   export interface TimeBasedAutoScalingConfiguration {
   2893     /**
   2894      * The instance ID.
   2895      */
   2896     InstanceId?: String;
   2897     /**
   2898      * A WeeklyAutoScalingSchedule object with the instance schedule.
   2899      */
   2900     AutoScalingSchedule?: WeeklyAutoScalingSchedule;
   2901   }
   2902   export type TimeBasedAutoScalingConfigurations = TimeBasedAutoScalingConfiguration[];
   2903   export interface UnassignInstanceRequest {
   2904     /**
   2905      * The instance ID.
   2906      */
   2907     InstanceId: String;
   2908   }
   2909   export interface UnassignVolumeRequest {
   2910     /**
   2911      * The volume ID.
   2912      */
   2913     VolumeId: String;
   2914   }
   2915   export interface UpdateAppRequest {
   2916     /**
   2917      * The app ID.
   2918      */
   2919     AppId: String;
   2920     /**
   2921      * The app name.
   2922      */
   2923     Name?: String;
   2924     /**
   2925      * A description of the app.
   2926      */
   2927     Description?: String;
   2928     /**
   2929      * The app's data sources.
   2930      */
   2931     DataSources?: DataSources;
   2932     /**
   2933      * The app type.
   2934      */
   2935     Type?: AppType;
   2936     /**
   2937      * A Source object that specifies the app repository.
   2938      */
   2939     AppSource?: Source;
   2940     /**
   2941      * The app's virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com' 
   2942      */
   2943     Domains?: Strings;
   2944     /**
   2945      * Whether SSL is enabled for the app.
   2946      */
   2947     EnableSsl?: Boolean;
   2948     /**
   2949      * An SslConfiguration object with the SSL configuration.
   2950      */
   2951     SslConfiguration?: SslConfiguration;
   2952     /**
   2953      * One or more user-defined key/value pairs to be added to the stack attributes.
   2954      */
   2955     Attributes?: AppAttributes;
   2956     /**
   2957      * An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see  Environment Variables. There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 10KB)."  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. 
   2958      */
   2959     Environment?: EnvironmentVariables;
   2960   }
   2961   export interface UpdateElasticIpRequest {
   2962     /**
   2963      * The address.
   2964      */
   2965     ElasticIp: String;
   2966     /**
   2967      * The new name.
   2968      */
   2969     Name?: String;
   2970   }
   2971   export interface UpdateInstanceRequest {
   2972     /**
   2973      * The instance ID.
   2974      */
   2975     InstanceId: String;
   2976     /**
   2977      * The instance's layer IDs.
   2978      */
   2979     LayerIds?: Strings;
   2980     /**
   2981      * The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. 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.
   2982      */
   2983     InstanceType?: String;
   2984     /**
   2985      * For load-based or time-based instances, the type. Windows stacks can use only time-based instances.
   2986      */
   2987     AutoScalingType?: AutoScalingType;
   2988     /**
   2989      * The instance host name.
   2990      */
   2991     Hostname?: String;
   2992     /**
   2993      * The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.   A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.   A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.    CentOS 7     Red Hat Enterprise Linux 7    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.   For more information on the supported operating systems, see AWS OpsWorks Operating Systems. The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.  You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux. 
   2994      */
   2995     Os?: String;
   2996     /**
   2997      * The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs. 
   2998      */
   2999     AmiId?: String;
   3000     /**
   3001      * The instance's Amazon EC2 key name.
   3002      */
   3003     SshKeyName?: String;
   3004     /**
   3005      * 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.
   3006      */
   3007     Architecture?: Architecture;
   3008     /**
   3009      * 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 by 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. 
   3010      */
   3011     InstallUpdatesOnBoot?: Boolean;
   3012     /**
   3013      * This property cannot be updated.
   3014      */
   3015     EbsOptimized?: Boolean;
   3016     /**
   3017      * The default AWS OpsWorks agent version. You have the following options:    INHERIT - Use the stack's default agent version setting.    version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.   The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.
   3018      */
   3019     AgentVersion?: String;
   3020   }
   3021   export interface UpdateLayerRequest {
   3022     /**
   3023      * The layer ID.
   3024      */
   3025     LayerId: String;
   3026     /**
   3027      * The layer name, which is used by the console.
   3028      */
   3029     Name?: String;
   3030     /**
   3031      * For custom layers only, use this parameter to specify the layer's 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/. The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference 
   3032      */
   3033     Shortname?: String;
   3034     /**
   3035      * One or more user-defined key/value pairs to be added to the stack attributes.
   3036      */
   3037     Attributes?: LayerAttributes;
   3038     /**
   3039      * 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.
   3040      */
   3041     CustomInstanceProfileArn?: String;
   3042     /**
   3043      * A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see  Using Custom JSON. 
   3044      */
   3045     CustomJson?: String;
   3046     /**
   3047      * An array containing the layer's custom security group IDs.
   3048      */
   3049     CustomSecurityGroupIds?: Strings;
   3050     /**
   3051      * An array of Package objects that describe the layer's packages.
   3052      */
   3053     Packages?: Strings;
   3054     /**
   3055      * A VolumeConfigurations object that describes the layer's Amazon EBS volumes.
   3056      */
   3057     VolumeConfigurations?: VolumeConfigurations;
   3058     /**
   3059      * Whether to disable auto healing for the layer.
   3060      */
   3061     EnableAutoHealing?: Boolean;
   3062     /**
   3063      * Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.
   3064      */
   3065     AutoAssignElasticIps?: Boolean;
   3066     /**
   3067      * 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.
   3068      */
   3069     AutoAssignPublicIps?: Boolean;
   3070     /**
   3071      * A LayerCustomRecipes object that specifies the layer's custom recipes.
   3072      */
   3073     CustomRecipes?: Recipes;
   3074     /**
   3075      * 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. 
   3076      */
   3077     InstallUpdatesOnBoot?: Boolean;
   3078     /**
   3079      * Whether to use Amazon EBS-optimized instances.
   3080      */
   3081     UseEbsOptimizedInstances?: Boolean;
   3082     /**
   3083      * 
   3084      */
   3085     LifecycleEventConfiguration?: LifecycleEventConfiguration;
   3086   }
   3087   export interface UpdateMyUserProfileRequest {
   3088     /**
   3089      * The user's SSH public key.
   3090      */
   3091     SshPublicKey?: String;
   3092   }
   3093   export interface UpdateRdsDbInstanceRequest {
   3094     /**
   3095      * The Amazon RDS instance's ARN.
   3096      */
   3097     RdsDbInstanceArn: String;
   3098     /**
   3099      * The master user name.
   3100      */
   3101     DbUser?: String;
   3102     /**
   3103      * The database password.
   3104      */
   3105     DbPassword?: String;
   3106   }
   3107   export interface UpdateStackRequest {
   3108     /**
   3109      * The stack ID.
   3110      */
   3111     StackId: String;
   3112     /**
   3113      * The stack's new name.
   3114      */
   3115     Name?: String;
   3116     /**
   3117      * One or more user-defined key-value pairs to be added to the stack attributes.
   3118      */
   3119     Attributes?: StackAttributes;
   3120     /**
   3121      * Do not use this parameter. You cannot update a stack's service role.
   3122      */
   3123     ServiceRoleArn?: String;
   3124     /**
   3125      * 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.
   3126      */
   3127     DefaultInstanceProfileArn?: String;
   3128     /**
   3129      * The stack's operating system, which must be set to one of the following:   A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.   A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.    CentOS 7     Red Hat Enterprise Linux 7    A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.   A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.   The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.
   3130      */
   3131     DefaultOs?: String;
   3132     /**
   3133      * The stack's new host name theme, with spaces 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     Europe_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.
   3134      */
   3135     HostnameTheme?: String;
   3136     /**
   3137      * The stack's default Availability Zone, which must be in the stack's 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. 
   3138      */
   3139     DefaultAvailabilityZone?: String;
   3140     /**
   3141      * 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. 
   3142      */
   3143     DefaultSubnetId?: String;
   3144     /**
   3145      * A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:  "{\"key1\": \"value1\", \"key2\": \"value2\",...}"  For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.
   3146      */
   3147     CustomJson?: String;
   3148     /**
   3149      * The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.
   3150      */
   3151     ConfigurationManager?: StackConfigurationManager;
   3152     /**
   3153      * 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.
   3154      */
   3155     ChefConfiguration?: ChefConfiguration;
   3156     /**
   3157      * Whether the stack uses custom cookbooks.
   3158      */
   3159     UseCustomCookbooks?: Boolean;
   3160     CustomCookbooksSource?: Source;
   3161     /**
   3162      * A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see  Using SSH to Communicate with an Instance and  Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you  create an instance. 
   3163      */
   3164     DefaultSshKeyName?: String;
   3165     /**
   3166      * 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.
   3167      */
   3168     DefaultRootDeviceType?: RootDeviceType;
   3169     /**
   3170      * 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 provide your own custom security groups instead of using the built-in 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. Custom security groups are required only for those layers that need custom settings.   For more information, see Create a New Stack.
   3171      */
   3172     UseOpsworksSecurityGroups?: Boolean;
   3173     /**
   3174      * The default AWS OpsWorks agent version. You have the following options:   Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.   Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.   The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.  You can also specify an agent version when you create or update an instance, which overrides the stack's default setting. 
   3175      */
   3176     AgentVersion?: String;
   3177   }
   3178   export interface UpdateUserProfileRequest {
   3179     /**
   3180      * The user IAM ARN. This can also be a federated user's ARN.
   3181      */
   3182     IamUserArn: String;
   3183     /**
   3184      * 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. 
   3185      */
   3186     SshUsername?: String;
   3187     /**
   3188      * The user's new SSH public key.
   3189      */
   3190     SshPublicKey?: String;
   3191     /**
   3192      * Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.
   3193      */
   3194     AllowSelfManagement?: Boolean;
   3195   }
   3196   export interface UpdateVolumeRequest {
   3197     /**
   3198      * The volume ID.
   3199      */
   3200     VolumeId: String;
   3201     /**
   3202      * The new name.
   3203      */
   3204     Name?: String;
   3205     /**
   3206      * The new mount point.
   3207      */
   3208     MountPoint?: String;
   3209   }
   3210   export interface UserProfile {
   3211     /**
   3212      * The user's IAM ARN.
   3213      */
   3214     IamUserArn?: String;
   3215     /**
   3216      * The user's name.
   3217      */
   3218     Name?: String;
   3219     /**
   3220      * The user's SSH user name.
   3221      */
   3222     SshUsername?: String;
   3223     /**
   3224      * The user's SSH public key.
   3225      */
   3226     SshPublicKey?: String;
   3227     /**
   3228      * Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.
   3229      */
   3230     AllowSelfManagement?: Boolean;
   3231   }
   3232   export type UserProfiles = UserProfile[];
   3233   export type ValidForInMinutes = number;
   3234   export type VirtualizationType = "paravirtual"|"hvm"|string;
   3235   export interface Volume {
   3236     /**
   3237      * The volume ID.
   3238      */
   3239     VolumeId?: String;
   3240     /**
   3241      * The Amazon EC2 volume ID.
   3242      */
   3243     Ec2VolumeId?: String;
   3244     /**
   3245      * The volume name.
   3246      */
   3247     Name?: String;
   3248     /**
   3249      * The RAID array ID.
   3250      */
   3251     RaidArrayId?: String;
   3252     /**
   3253      * The instance ID.
   3254      */
   3255     InstanceId?: String;
   3256     /**
   3257      * The value returned by DescribeVolumes.
   3258      */
   3259     Status?: String;
   3260     /**
   3261      * The volume size.
   3262      */
   3263     Size?: Integer;
   3264     /**
   3265      * The device name.
   3266      */
   3267     Device?: String;
   3268     /**
   3269      * The volume mount point. For example, "/mnt/disk1".
   3270      */
   3271     MountPoint?: String;
   3272     /**
   3273      * The AWS region. For more information about AWS regions, see Regions and Endpoints.
   3274      */
   3275     Region?: String;
   3276     /**
   3277      * The volume Availability Zone. For more information, see Regions and Endpoints.
   3278      */
   3279     AvailabilityZone?: String;
   3280     /**
   3281      * The volume type, standard or PIOPS.
   3282      */
   3283     VolumeType?: String;
   3284     /**
   3285      * For PIOPS volumes, the IOPS per disk.
   3286      */
   3287     Iops?: Integer;
   3288   }
   3289   export interface VolumeConfiguration {
   3290     /**
   3291      * The volume mount point. For example "/dev/sdh".
   3292      */
   3293     MountPoint: String;
   3294     /**
   3295      * The volume RAID level.
   3296      */
   3297     RaidLevel?: Integer;
   3298     /**
   3299      * The number of disks in the volume.
   3300      */
   3301     NumberOfDisks: Integer;
   3302     /**
   3303      * The volume size.
   3304      */
   3305     Size: Integer;
   3306     /**
   3307      * The volume type:    standard - Magnetic    io1 - Provisioned IOPS (SSD)    gp2 - General Purpose (SSD)  
   3308      */
   3309     VolumeType?: String;
   3310     /**
   3311      * For PIOPS volumes, the IOPS per disk.
   3312      */
   3313     Iops?: Integer;
   3314   }
   3315   export type VolumeConfigurations = VolumeConfiguration[];
   3316   export type VolumeType = "gp2"|"io1"|"standard"|string;
   3317   export type Volumes = Volume[];
   3318   export interface WeeklyAutoScalingSchedule {
   3319     /**
   3320      * The schedule for Monday.
   3321      */
   3322     Monday?: DailyAutoScalingSchedule;
   3323     /**
   3324      * The schedule for Tuesday.
   3325      */
   3326     Tuesday?: DailyAutoScalingSchedule;
   3327     /**
   3328      * The schedule for Wednesday.
   3329      */
   3330     Wednesday?: DailyAutoScalingSchedule;
   3331     /**
   3332      * The schedule for Thursday.
   3333      */
   3334     Thursday?: DailyAutoScalingSchedule;
   3335     /**
   3336      * The schedule for Friday.
   3337      */
   3338     Friday?: DailyAutoScalingSchedule;
   3339     /**
   3340      * The schedule for Saturday.
   3341      */
   3342     Saturday?: DailyAutoScalingSchedule;
   3343     /**
   3344      * The schedule for Sunday.
   3345      */
   3346     Sunday?: DailyAutoScalingSchedule;
   3347   }
   3348   /**
   3349    * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   3350    */
   3351   export type apiVersion = "2013-02-18"|"latest"|string;
   3352   export interface ClientApiVersions {
   3353     /**
   3354      * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
   3355      */
   3356     apiVersion?: apiVersion;
   3357   }
   3358   export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
   3359 }
   3360 export = OpsWorks;