-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon OpsWorks for Chef Automate SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.OpsWorksCM</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-opsworks-cm
@version 1.4.5


module Network.AWS.OpsWorksCM.Types

-- | API version <tt>2016-11-01</tt> of the Amazon OpsWorks for Chef
--   Automate SDK configuration.
opsWorksCM :: Service

-- | One or more of the provided request parameters are not valid.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested resource cannot be created because it already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This occurs when the provided nextToken is not valid.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested resource does not exist, or access was denied.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource is in a state that does not allow you to perform a
--   specified action.
_InvalidStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit of servers or backups has been reached.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data BackupStatus
BSDeleting :: BackupStatus
BSFailed :: BackupStatus
BSInProgress :: BackupStatus
BSOK :: BackupStatus
data BackupType
Automated :: BackupType
Manual :: BackupType
data MaintenanceStatus
MSFailed :: MaintenanceStatus
MSSuccess :: MaintenanceStatus
data NodeAssociationStatus
NASFailed :: NodeAssociationStatus
NASInProgress :: NodeAssociationStatus
NASSuccess :: NodeAssociationStatus
data ServerStatus
BackingUp :: ServerStatus
ConnectionLost :: ServerStatus
Creating :: ServerStatus
Deleting :: ServerStatus
Failed :: ServerStatus
Healthy :: ServerStatus
Modifying :: ServerStatus
Running :: ServerStatus
Setup :: ServerStatus
UnderMaintenance :: ServerStatus
Unhealthy :: ServerStatus

-- | Stores account attributes.
--   
--   <i>See:</i> <a>accountAttribute</a> smart constructor.
data AccountAttribute

-- | Creates a value of <a>AccountAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaUsed</a> - The current usage, such as the current number of
--   servers associated with the account.</li>
--   <li><a>aaMaximum</a> - The maximum allowed value.</li>
--   <li><a>aaName</a> - The attribute name. The following are supported
--   attribute names. * <i>ServerLimit:</i> The number of servers that
--   currently existing <i> maximal allowed. By default 10 servers can be
--   created. * </i>ManualBackupLimit:<i> The number of manual backups that
--   currently exist </i> are maximal allowed. By default 50 manual backups
--   can be created.</li>
--   </ul>
accountAttribute :: AccountAttribute

-- | The current usage, such as the current number of servers associated
--   with the account.
aaUsed :: Lens' AccountAttribute (Maybe Int)

-- | The maximum allowed value.
aaMaximum :: Lens' AccountAttribute (Maybe Int)

-- | The attribute name. The following are supported attribute names. *
--   <i>ServerLimit:</i> The number of servers that currently existing <i>
--   maximal allowed. By default 10 servers can be created. *
--   </i>ManualBackupLimit:<i> The number of manual backups that currently
--   exist </i> are maximal allowed. By default 50 manual backups can be
--   created.
aaName :: Lens' AccountAttribute (Maybe Text)

-- | Describes a single backup.
--   
--   <i>See:</i> <a>backup</a> smart constructor.
data Backup

-- | Creates a value of <a>Backup</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bEngineVersion</a> - The engine version that is obtained from
--   the server when the backup is created.</li>
--   <li><a>bServiceRoleARN</a> - The service role ARN that is obtained
--   from the server when the backup is created.</li>
--   <li><a>bStatus</a> - The status of a backup while in progress.</li>
--   <li><a>bInstanceProfileARN</a> - The EC2 instance profile ARN that is
--   obtained from the server when the backup is created. Because this
--   value is stored, you are not required to provide the
--   InstanceProfileArn again if you restore a backup.</li>
--   <li><a>bSecurityGroupIds</a> - The security group IDs that are
--   obtained from the server when the backup is created.</li>
--   <li><a>bStatusDescription</a> - An informational message about backup
--   status.</li>
--   <li><a>bServerName</a> - The name of the server from which the backup
--   was made.</li>
--   <li><a>bSubnetIds</a> - The subnet IDs that are obtained from the
--   server when the backup is created.</li>
--   <li><a>bKeyPair</a> - The key pair that is obtained from the server
--   when the backup is created.</li>
--   <li><a>bCreatedAt</a> - The time stamp when the backup was created in
--   the database. Example: <tt>2016-07-29T13:38:47.520Z</tt></li>
--   <li><a>bBackupId</a> - The generated ID of the backup. Example:
--   <tt>myServerName-yyyyMMddHHmmssSSS</tt></li>
--   <li><a>bEngine</a> - The engine type that is obtained from the server
--   when the backup is created.</li>
--   <li><a>bInstanceType</a> - The instance type that is obtained from the
--   server when the backup is created.</li>
--   <li><a>bEngineModel</a> - The engine model that is obtained from the
--   server when the backup is created.</li>
--   <li><a>bPreferredMaintenanceWindow</a> - The preferred maintenance
--   period that is obtained from the server when the backup is
--   created.</li>
--   <li><a>bUserARN</a> - The IAM user ARN of the requester for manual
--   backups. This field is empty for automated backups.</li>
--   <li><a>bPreferredBackupWindow</a> - The preferred backup period that
--   is obtained from the server when the backup is created.</li>
--   <li><a>bS3LogURL</a> - The Amazon S3 URL of the backup's log
--   file.</li>
--   <li><a>bS3DataSize</a> - The size of the backup, in bytes. The size is
--   returned by the instance in the command results.</li>
--   <li><a>bBackupARN</a> - The ARN of the backup.</li>
--   <li><a>bS3DataURL</a> - The Amazon S3 URL of the backup's tar.gz
--   file.</li>
--   <li><a>bDescription</a> - A user-provided description for a manual
--   backup. This field is empty for automated backups.</li>
--   <li><a>bBackupType</a> - The backup type. Valid values are
--   <tt>automated</tt> or <tt>manual</tt> .</li>
--   <li><a>bToolsVersion</a> - The version of AWS OpsWorks for Chef
--   Automate-specific tools that is obtained from the server when the
--   backup is created.</li>
--   </ul>
backup :: Backup

-- | The engine version that is obtained from the server when the backup is
--   created.
bEngineVersion :: Lens' Backup (Maybe Text)

-- | The service role ARN that is obtained from the server when the backup
--   is created.
bServiceRoleARN :: Lens' Backup (Maybe Text)

-- | The status of a backup while in progress.
bStatus :: Lens' Backup (Maybe BackupStatus)

-- | The EC2 instance profile ARN that is obtained from the server when the
--   backup is created. Because this value is stored, you are not required
--   to provide the InstanceProfileArn again if you restore a backup.
bInstanceProfileARN :: Lens' Backup (Maybe Text)

-- | The security group IDs that are obtained from the server when the
--   backup is created.
bSecurityGroupIds :: Lens' Backup [Text]

-- | An informational message about backup status.
bStatusDescription :: Lens' Backup (Maybe Text)

-- | The name of the server from which the backup was made.
bServerName :: Lens' Backup (Maybe Text)

-- | The subnet IDs that are obtained from the server when the backup is
--   created.
bSubnetIds :: Lens' Backup [Text]

-- | The key pair that is obtained from the server when the backup is
--   created.
bKeyPair :: Lens' Backup (Maybe Text)

-- | The time stamp when the backup was created in the database. Example:
--   <tt>2016-07-29T13:38:47.520Z</tt>
bCreatedAt :: Lens' Backup (Maybe UTCTime)

-- | The generated ID of the backup. Example:
--   <tt>myServerName-yyyyMMddHHmmssSSS</tt>
bBackupId :: Lens' Backup (Maybe Text)

-- | The engine type that is obtained from the server when the backup is
--   created.
bEngine :: Lens' Backup (Maybe Text)

-- | The instance type that is obtained from the server when the backup is
--   created.
bInstanceType :: Lens' Backup (Maybe Text)

-- | The engine model that is obtained from the server when the backup is
--   created.
bEngineModel :: Lens' Backup (Maybe Text)

-- | The preferred maintenance period that is obtained from the server when
--   the backup is created.
bPreferredMaintenanceWindow :: Lens' Backup (Maybe Text)

-- | The IAM user ARN of the requester for manual backups. This field is
--   empty for automated backups.
bUserARN :: Lens' Backup (Maybe Text)

-- | The preferred backup period that is obtained from the server when the
--   backup is created.
bPreferredBackupWindow :: Lens' Backup (Maybe Text)

-- | The Amazon S3 URL of the backup's log file.
bS3LogURL :: Lens' Backup (Maybe Text)

-- | The size of the backup, in bytes. The size is returned by the instance
--   in the command results.
bS3DataSize :: Lens' Backup (Maybe Int)

-- | The ARN of the backup.
bBackupARN :: Lens' Backup (Maybe Text)

-- | The Amazon S3 URL of the backup's tar.gz file.
bS3DataURL :: Lens' Backup (Maybe Text)

-- | A user-provided description for a manual backup. This field is empty
--   for automated backups.
bDescription :: Lens' Backup (Maybe Text)

-- | The backup type. Valid values are <tt>automated</tt> or
--   <tt>manual</tt> .
bBackupType :: Lens' Backup (Maybe BackupType)

-- | The version of AWS OpsWorks for Chef Automate-specific tools that is
--   obtained from the server when the backup is created.
bToolsVersion :: Lens' Backup (Maybe Text)

-- | A name/value pair that is specific to the engine of the server.
--   
--   <i>See:</i> <a>engineAttribute</a> smart constructor.
data EngineAttribute

-- | Creates a value of <a>EngineAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eaValue</a> - The value of the engine attribute.</li>
--   <li><a>eaName</a> - The name of the engine attribute.</li>
--   </ul>
engineAttribute :: EngineAttribute

-- | The value of the engine attribute.
eaValue :: Lens' EngineAttribute (Maybe Text)

-- | The name of the engine attribute.
eaName :: Lens' EngineAttribute (Maybe Text)

-- | Describes a configuration management server.
--   
--   <i>See:</i> <a>server</a> smart constructor.
data Server

-- | Creates a value of <a>Server</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sEngineVersion</a> - The engine version of the server. Because
--   Chef is the engine available in this release, the valid value for
--   EngineVersion is <tt>12</tt> .</li>
--   <li><a>sServiceRoleARN</a> - The service role ARN used to create the
--   server.</li>
--   <li><a>sDisableAutomatedBackup</a> - Disables automated backups. The
--   number of stored backups is dependent on the value of
--   PreferredBackupCount.</li>
--   <li><a>sStatus</a> - The server's status. This field displays the
--   states of actions in progress, such as creating, running, or backing
--   up the server, as well as server health.</li>
--   <li><a>sInstanceProfileARN</a> - The instance profile ARN of the
--   server.</li>
--   <li><a>sSecurityGroupIds</a> - The security group IDs for the server,
--   as specified in the CloudFormation stack. These might not be the same
--   security groups that are shown in the EC2 console.</li>
--   <li><a>sServerName</a> - The name of the server.</li>
--   <li><a>sSubnetIds</a> - The subnet IDs specified in a CreateServer
--   request.</li>
--   <li><a>sKeyPair</a> - The key pair associated with the server.</li>
--   <li><a>sCreatedAt</a> - Time stamp of server creation. Example
--   <tt>2016-07-29T13:38:47.520Z</tt></li>
--   <li><a>sServerARN</a> - The ARN of the server.</li>
--   <li><a>sEngine</a> - The engine type of the server. The valid value in
--   this release is <tt>Chef</tt> .</li>
--   <li><a>sMaintenanceStatus</a> - The status of the most recent server
--   maintenance run. Shows <tt>SUCCESS</tt> or <tt>FAILED</tt> .</li>
--   <li><a>sInstanceType</a> - The instance type for the server, as
--   specified in the CloudFormation stack. This might not be the same
--   instance type that is shown in the EC2 console.</li>
--   <li><a>sEngineModel</a> - The engine model of the server. The valid
--   value in this release is <tt>Single</tt> .</li>
--   <li><a>sEngineAttributes</a> - The response of a createServer()
--   request returns the master credential to access the server in
--   EngineAttributes. These credentials are not stored by AWS OpsWorks for
--   Chef Automate; they are returned only as part of the result of
--   createServer(). <b>Attributes returned in a createServer response:</b>
--   * <tt>CHEF_PIVOTAL_KEY</tt> : A base64-encoded RSA private key that is
--   generated by AWS OpsWorks for Chef Automate. This private key is
--   required to access the Chef API. * <tt>CHEF_STARTER_KIT</tt> : A
--   base64-encoded ZIP file. The ZIP file contains a Chef starter kit,
--   which includes a README, a configuration file, and the required RSA
--   private key. Save this file, unzip it, and then change to the
--   directory where you've unzipped the file contents. From this
--   directory, you can run Knife commands.</li>
--   <li><a>sPreferredMaintenanceWindow</a> - The preferred maintenance
--   period specified for the server.</li>
--   <li><a>sPreferredBackupWindow</a> - The preferred backup period
--   specified for the server.</li>
--   <li><a>sStatusReason</a> - Depending on the server status, this field
--   has either a human-readable message (such as a create or backup
--   error), or an escaped block of JSON (used for health check
--   results).</li>
--   <li><a>sEndpoint</a> - A DNS name that can be used to access the
--   engine. Example:
--   <tt>myserver-asdfghjkl.us-east-1.opsworks.io</tt></li>
--   <li><a>sBackupRetentionCount</a> - The number of automated backups to
--   keep.</li>
--   </ul>
server :: Server

-- | The engine version of the server. Because Chef is the engine available
--   in this release, the valid value for EngineVersion is <tt>12</tt> .
sEngineVersion :: Lens' Server (Maybe Text)

-- | The service role ARN used to create the server.
sServiceRoleARN :: Lens' Server (Maybe Text)

-- | Disables automated backups. The number of stored backups is dependent
--   on the value of PreferredBackupCount.
sDisableAutomatedBackup :: Lens' Server (Maybe Bool)

-- | The server's status. This field displays the states of actions in
--   progress, such as creating, running, or backing up the server, as well
--   as server health.
sStatus :: Lens' Server (Maybe ServerStatus)

-- | The instance profile ARN of the server.
sInstanceProfileARN :: Lens' Server (Maybe Text)

-- | The security group IDs for the server, as specified in the
--   CloudFormation stack. These might not be the same security groups that
--   are shown in the EC2 console.
sSecurityGroupIds :: Lens' Server [Text]

-- | The name of the server.
sServerName :: Lens' Server (Maybe Text)

-- | The subnet IDs specified in a CreateServer request.
sSubnetIds :: Lens' Server [Text]

-- | The key pair associated with the server.
sKeyPair :: Lens' Server (Maybe Text)

-- | Time stamp of server creation. Example
--   <tt>2016-07-29T13:38:47.520Z</tt>
sCreatedAt :: Lens' Server (Maybe UTCTime)

-- | The ARN of the server.
sServerARN :: Lens' Server (Maybe Text)

-- | The engine type of the server. The valid value in this release is
--   <tt>Chef</tt> .
sEngine :: Lens' Server (Maybe Text)

-- | The status of the most recent server maintenance run. Shows
--   <tt>SUCCESS</tt> or <tt>FAILED</tt> .
sMaintenanceStatus :: Lens' Server (Maybe MaintenanceStatus)

-- | The instance type for the server, as specified in the CloudFormation
--   stack. This might not be the same instance type that is shown in the
--   EC2 console.
sInstanceType :: Lens' Server (Maybe Text)

-- | The engine model of the server. The valid value in this release is
--   <tt>Single</tt> .
sEngineModel :: Lens' Server (Maybe Text)

-- | The response of a createServer() request returns the master credential
--   to access the server in EngineAttributes. These credentials are not
--   stored by AWS OpsWorks for Chef Automate; they are returned only as
--   part of the result of createServer(). <b>Attributes returned in a
--   createServer response:</b> * <tt>CHEF_PIVOTAL_KEY</tt> : A
--   base64-encoded RSA private key that is generated by AWS OpsWorks for
--   Chef Automate. This private key is required to access the Chef API. *
--   <tt>CHEF_STARTER_KIT</tt> : A base64-encoded ZIP file. The ZIP file
--   contains a Chef starter kit, which includes a README, a configuration
--   file, and the required RSA private key. Save this file, unzip it, and
--   then change to the directory where you've unzipped the file contents.
--   From this directory, you can run Knife commands.
sEngineAttributes :: Lens' Server [EngineAttribute]

-- | The preferred maintenance period specified for the server.
sPreferredMaintenanceWindow :: Lens' Server (Maybe Text)

-- | The preferred backup period specified for the server.
sPreferredBackupWindow :: Lens' Server (Maybe Text)

-- | Depending on the server status, this field has either a human-readable
--   message (such as a create or backup error), or an escaped block of
--   JSON (used for health check results).
sStatusReason :: Lens' Server (Maybe Text)

-- | A DNS name that can be used to access the engine. Example:
--   <tt>myserver-asdfghjkl.us-east-1.opsworks.io</tt>
sEndpoint :: Lens' Server (Maybe Text)

-- | The number of automated backups to keep.
sBackupRetentionCount :: Lens' Server (Maybe Int)

-- | An event that is related to the server, such as the start of
--   maintenance or backup.
--   
--   <i>See:</i> <a>serverEvent</a> smart constructor.
data ServerEvent

-- | Creates a value of <a>ServerEvent</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seLogURL</a> - The Amazon S3 URL of the event's log file.</li>
--   <li><a>seServerName</a> - The name of the server on or for which the
--   event occurred.</li>
--   <li><a>seCreatedAt</a> - The time when the event occurred.</li>
--   <li><a>seMessage</a> - A human-readable informational or status
--   message.</li>
--   </ul>
serverEvent :: ServerEvent

-- | The Amazon S3 URL of the event's log file.
seLogURL :: Lens' ServerEvent (Maybe Text)

-- | The name of the server on or for which the event occurred.
seServerName :: Lens' ServerEvent (Maybe Text)

-- | The time when the event occurred.
seCreatedAt :: Lens' ServerEvent (Maybe UTCTime)

-- | A human-readable informational or status message.
seMessage :: Lens' ServerEvent (Maybe Text)


-- | Updates settings for a server.
--   
--   This operation is synchronous.
module Network.AWS.OpsWorksCM.UpdateServer

-- | Creates a value of <a>UpdateServer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>usDisableAutomatedBackup</a> - Setting DisableAutomatedBackup
--   to <tt>true</tt> disables automated or scheduled backups. Automated
--   backups are enabled by default.</li>
--   <li><a>usPreferredMaintenanceWindow</a> - Undocumented member.</li>
--   <li><a>usPreferredBackupWindow</a> - Undocumented member.</li>
--   <li><a>usBackupRetentionCount</a> - Sets the number of automated
--   backups that you want to keep.</li>
--   <li><a>usServerName</a> - The name of the server to update.</li>
--   </ul>
updateServer :: Text -> UpdateServer

-- | <i>See:</i> <a>updateServer</a> smart constructor.
data UpdateServer

-- | Setting DisableAutomatedBackup to <tt>true</tt> disables automated or
--   scheduled backups. Automated backups are enabled by default.
usDisableAutomatedBackup :: Lens' UpdateServer (Maybe Bool)

-- | Undocumented member.
usPreferredMaintenanceWindow :: Lens' UpdateServer (Maybe Text)

-- | Undocumented member.
usPreferredBackupWindow :: Lens' UpdateServer (Maybe Text)

-- | Sets the number of automated backups that you want to keep.
usBackupRetentionCount :: Lens' UpdateServer (Maybe Int)

-- | The name of the server to update.
usServerName :: Lens' UpdateServer Text

-- | Creates a value of <a>UpdateServerResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>usrsServer</a> - Contains the response to a
--   <tt>UpdateServer</tt> request.</li>
--   <li><a>usrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateServerResponse :: Int -> UpdateServerResponse

-- | <i>See:</i> <a>updateServerResponse</a> smart constructor.
data UpdateServerResponse

-- | Contains the response to a <tt>UpdateServer</tt> request.
usrsServer :: Lens' UpdateServerResponse (Maybe Server)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
usrsResponseStatus :: Lens' UpdateServerResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Data.Data.Data Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance GHC.Show.Show Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance GHC.Read.Read Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.UpdateServer.UpdateServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.UpdateServer.UpdateServerResponse


-- | Updates engine specific attributes on a specified server. Server will
--   enter the <tt>MODIFYING</tt> state when this operation is in progress.
--   Only one update can take place at a time.
--   
--   This operation can be use to reset Chef Server main API key
--   (<tt>CHEF_PIVOTAL_KEY</tt> ).
--   
--   This operation is asynchronous.
--   
--   This operation can only be called for <tt>HEALTHY</tt> and
--   <tt>UNHEALTHY</tt> servers. Otherwise a <tt>InvalidStateException</tt>
--   is raised. A <tt>ResourceNotFoundException</tt> is thrown when the
--   server does not exist. A <tt>ValidationException</tt> is raised when
--   parameters of the request are invalid.
module Network.AWS.OpsWorksCM.UpdateServerEngineAttributes

-- | Creates a value of <a>UpdateServerEngineAttributes</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>useaAttributeValue</a> - The value to set for the
--   attribute.</li>
--   <li><a>useaServerName</a> - The name of the server to update.</li>
--   <li><a>useaAttributeName</a> - The name of the engine attribute to
--   update.</li>
--   </ul>
updateServerEngineAttributes :: Text -> Text -> UpdateServerEngineAttributes

-- | <i>See:</i> <a>updateServerEngineAttributes</a> smart constructor.
data UpdateServerEngineAttributes

-- | The value to set for the attribute.
useaAttributeValue :: Lens' UpdateServerEngineAttributes (Maybe Text)

-- | The name of the server to update.
useaServerName :: Lens' UpdateServerEngineAttributes Text

-- | The name of the engine attribute to update.
useaAttributeName :: Lens' UpdateServerEngineAttributes Text

-- | Creates a value of <a>UpdateServerEngineAttributesResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>usearsServer</a> - Contains the response to an
--   <tt>UpdateServerEngineAttributes</tt> request.</li>
--   <li><a>usearsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateServerEngineAttributesResponse :: Int -> UpdateServerEngineAttributesResponse

-- | <i>See:</i> <a>updateServerEngineAttributesResponse</a> smart
--   constructor.
data UpdateServerEngineAttributesResponse

-- | Contains the response to an <tt>UpdateServerEngineAttributes</tt>
--   request.
usearsServer :: Lens' UpdateServerEngineAttributesResponse (Maybe Server)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
usearsResponseStatus :: Lens' UpdateServerEngineAttributesResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Data.Data.Data Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance GHC.Show.Show Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance GHC.Read.Read Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributes
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.UpdateServerEngineAttributes.UpdateServerEngineAttributesResponse


module Network.AWS.OpsWorksCM.Waiters


-- | Manually starts server maintenance. This command can be useful if an
--   earlier maintenance attempt failed, and the underlying cause of
--   maintenance failure has been resolved. The server will switch to
--   <tt>UNDER_MAINTENANCE</tt> state, while maintenace is in progress.
--   
--   Maintenace can only be started for <tt>HEALTHY</tt> and
--   <tt>UNHEALTHY</tt> servers. A <tt>InvalidStateException</tt> is thrown
--   otherwise. A <tt>ResourceNotFoundException</tt> is thrown when the
--   server does not exist. A <tt>ValidationException</tt> is raised when
--   parameters of the request are invalid.
module Network.AWS.OpsWorksCM.StartMaintenance

-- | Creates a value of <a>StartMaintenance</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>smServerName</a> - The name of the server on which to run
--   maintenance.</li>
--   </ul>
startMaintenance :: Text -> StartMaintenance

-- | <i>See:</i> <a>startMaintenance</a> smart constructor.
data StartMaintenance

-- | The name of the server on which to run maintenance.
smServerName :: Lens' StartMaintenance Text

-- | Creates a value of <a>StartMaintenanceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>smrsServer</a> - Contains the response to a
--   <tt>StartMaintenance</tt> request.</li>
--   <li><a>smrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startMaintenanceResponse :: Int -> StartMaintenanceResponse

-- | <i>See:</i> <a>startMaintenanceResponse</a> smart constructor.
data StartMaintenanceResponse

-- | Contains the response to a <tt>StartMaintenance</tt> request.
smrsServer :: Lens' StartMaintenanceResponse (Maybe Server)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
smrsResponseStatus :: Lens' StartMaintenanceResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Data.Data.Data Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance GHC.Show.Show Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance GHC.Read.Read Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenance
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.StartMaintenance.StartMaintenanceResponse


-- | Restores a backup to a server that is in a <tt>RUNNING</tt> ,
--   <tt>FAILED</tt> , or <tt>HEALTHY</tt> state. When you run
--   RestoreServer, the server's EC2 instance is deleted, and a new EC2
--   instance is configured. RestoreServer maintains the existing server
--   endpoint, so configuration management of all of the server's client
--   devices should continue to work.
--   
--   This operation is asynchronous.
--   
--   A <tt>InvalidStateException</tt> is thrown when the server is not in a
--   valid state. A <tt>ResourceNotFoundException</tt> is thrown when the
--   server does not exist. A <tt>ValidationException</tt> is raised when
--   parameters of the request are invalid.
module Network.AWS.OpsWorksCM.RestoreServer

-- | Creates a value of <a>RestoreServer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsKeyPair</a> - The name of the key pair to set on the new EC2
--   instance. This can be helpful if any of the administrators who manage
--   the server no longer have the SSH key.</li>
--   <li><a>rsInstanceType</a> - The type of the instance to create. Valid
--   values must be specified in the following format:
--   <tt>^([cm][34]|t2).*</tt> For example, <tt>c3.large</tt> . If you do
--   not specify this parameter, RestoreServer uses the instance type from
--   the specified backup.</li>
--   <li><a>rsBackupId</a> - The ID of the backup that you want to use to
--   restore a server.</li>
--   <li><a>rsServerName</a> - The name of the server that you want to
--   restore.</li>
--   </ul>
restoreServer :: Text -> Text -> RestoreServer

-- | <i>See:</i> <a>restoreServer</a> smart constructor.
data RestoreServer

-- | The name of the key pair to set on the new EC2 instance. This can be
--   helpful if any of the administrators who manage the server no longer
--   have the SSH key.
rsKeyPair :: Lens' RestoreServer (Maybe Text)

-- | The type of the instance to create. Valid values must be specified in
--   the following format: <tt>^([cm][34]|t2).*</tt> For example,
--   <tt>c3.large</tt> . If you do not specify this parameter,
--   RestoreServer uses the instance type from the specified backup.
rsInstanceType :: Lens' RestoreServer (Maybe Text)

-- | The ID of the backup that you want to use to restore a server.
rsBackupId :: Lens' RestoreServer Text

-- | The name of the server that you want to restore.
rsServerName :: Lens' RestoreServer Text

-- | Creates a value of <a>RestoreServerResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
restoreServerResponse :: Int -> RestoreServerResponse

-- | <i>See:</i> <a>restoreServerResponse</a> smart constructor.
data RestoreServerResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rsrsResponseStatus :: Lens' RestoreServerResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Data.Data.Data Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance GHC.Show.Show Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance GHC.Read.Read Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.RestoreServer.RestoreServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.RestoreServer.RestoreServerResponse


-- | Undocumented operation.
module Network.AWS.OpsWorksCM.DisassociateNode

-- | Creates a value of <a>DisassociateNode</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dnEngineAttributes</a> - Undocumented member.</li>
--   <li><a>dnServerName</a> - Undocumented member.</li>
--   <li><a>dnNodeName</a> - Undocumented member.</li>
--   </ul>
disassociateNode :: Text -> Text -> DisassociateNode

-- | <i>See:</i> <a>disassociateNode</a> smart constructor.
data DisassociateNode

-- | Undocumented member.
dnEngineAttributes :: Lens' DisassociateNode [EngineAttribute]

-- | Undocumented member.
dnServerName :: Lens' DisassociateNode Text

-- | Undocumented member.
dnNodeName :: Lens' DisassociateNode Text

-- | Creates a value of <a>DisassociateNodeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dnrsNodeAssociationStatusToken</a> - Undocumented member.</li>
--   <li><a>dnrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disassociateNodeResponse :: Int -> DisassociateNodeResponse

-- | <i>See:</i> <a>disassociateNodeResponse</a> smart constructor.
data DisassociateNodeResponse

-- | Undocumented member.
dnrsNodeAssociationStatusToken :: Lens' DisassociateNodeResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dnrsResponseStatus :: Lens' DisassociateNodeResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Data.Data.Data Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance GHC.Show.Show Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance GHC.Read.Read Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNode
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DisassociateNode.DisassociateNodeResponse


-- | Lists all configuration management servers that are identified with
--   your account. Only the stored results from Amazon DynamoDB are
--   returned. AWS OpsWorks for Chef Automate does not query other
--   services.
--   
--   This operation is synchronous.
--   
--   A <tt>ResourceNotFoundException</tt> is thrown when the server does
--   not exist. A <tt>ValidationException</tt> is raised when parameters of
--   the request are invalid.
module Network.AWS.OpsWorksCM.DescribeServers

-- | Creates a value of <a>DescribeServers</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssServerName</a> - Describes the server with the specified
--   ServerName.</li>
--   <li><a>dssNextToken</a> - NextToken is a string that is returned in
--   some command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeServers</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>dssMaxResults</a> - 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 <tt>NextToken</tt> value that you can
--   assign to the <tt>NextToken</tt> request parameter to get the next set
--   of results.</li>
--   </ul>
describeServers :: DescribeServers

-- | <i>See:</i> <a>describeServers</a> smart constructor.
data DescribeServers

-- | Describes the server with the specified ServerName.
dssServerName :: Lens' DescribeServers (Maybe Text)

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeServers</tt> again, and assign the token
--   from the previous results as the value of the <tt>nextToken</tt>
--   parameter. If there are no more results, the response object's
--   <tt>nextToken</tt> parameter value is <tt>null</tt> . Setting a
--   <tt>nextToken</tt> value that was not returned in your previous
--   results causes an <tt>InvalidNextTokenException</tt> to occur.
dssNextToken :: Lens' DescribeServers (Maybe Text)

-- | 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 <tt>NextToken</tt> value that you can assign to the
--   <tt>NextToken</tt> request parameter to get the next set of results.
dssMaxResults :: Lens' DescribeServers (Maybe Natural)

-- | Creates a value of <a>DescribeServersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssrsServers</a> - Contains the response to a
--   <tt>DescribeServers</tt> request.</li>
--   <li><a>dssrsNextToken</a> - NextToken is a string that is returned in
--   some command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeServers</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>dssrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeServersResponse :: Int -> DescribeServersResponse

-- | <i>See:</i> <a>describeServersResponse</a> smart constructor.
data DescribeServersResponse

-- | Contains the response to a <tt>DescribeServers</tt> request.
dssrsServers :: Lens' DescribeServersResponse [Server]

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeServers</tt> again, and assign the token
--   from the previous results as the value of the <tt>nextToken</tt>
--   parameter. If there are no more results, the response object's
--   <tt>nextToken</tt> parameter value is <tt>null</tt> . Setting a
--   <tt>nextToken</tt> value that was not returned in your previous
--   results causes an <tt>InvalidNextTokenException</tt> to occur.
dssrsNextToken :: Lens' DescribeServersResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dssrsResponseStatus :: Lens' DescribeServersResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DescribeServers.DescribeServers
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeServers.DescribeServersResponse


-- | Undocumented operation.
module Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus

-- | Creates a value of <a>DescribeNodeAssociationStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dnasNodeAssociationStatusToken</a> - Undocumented member.</li>
--   <li><a>dnasServerName</a> - Undocumented member.</li>
--   </ul>
describeNodeAssociationStatus :: Text -> Text -> DescribeNodeAssociationStatus

-- | <i>See:</i> <a>describeNodeAssociationStatus</a> smart constructor.
data DescribeNodeAssociationStatus

-- | Undocumented member.
dnasNodeAssociationStatusToken :: Lens' DescribeNodeAssociationStatus Text

-- | Undocumented member.
dnasServerName :: Lens' DescribeNodeAssociationStatus Text

-- | Creates a value of <a>DescribeNodeAssociationStatusResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dnasrsNodeAssociationStatus</a> - Undocumented member.</li>
--   <li><a>dnasrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeNodeAssociationStatusResponse :: Int -> DescribeNodeAssociationStatusResponse

-- | <i>See:</i> <a>describeNodeAssociationStatusResponse</a> smart
--   constructor.
data DescribeNodeAssociationStatusResponse

-- | Undocumented member.
dnasrsNodeAssociationStatus :: Lens' DescribeNodeAssociationStatusResponse (Maybe NodeAssociationStatus)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dnasrsResponseStatus :: Lens' DescribeNodeAssociationStatusResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatus
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeNodeAssociationStatus.DescribeNodeAssociationStatusResponse


-- | Describes events for a specified server. Results are ordered by time,
--   with newest events first.
--   
--   This operation is synchronous.
--   
--   A <tt>ResourceNotFoundException</tt> is thrown when the server does
--   not exist. A <tt>ValidationException</tt> is raised when parameters of
--   the request are invalid.
module Network.AWS.OpsWorksCM.DescribeEvents

-- | Creates a value of <a>DescribeEvents</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>deNextToken</a> - NextToken is a string that is returned in
--   some command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeEvents</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>deMaxResults</a> - 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 <tt>NextToken</tt> value that you can
--   assign to the <tt>NextToken</tt> request parameter to get the next set
--   of results.</li>
--   <li><a>deServerName</a> - The name of the server for which you want to
--   view events.</li>
--   </ul>
describeEvents :: Text -> DescribeEvents

-- | <i>See:</i> <a>describeEvents</a> smart constructor.
data DescribeEvents

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeEvents</tt> again, and assign the token from
--   the previous results as the value of the <tt>nextToken</tt> parameter.
--   If there are no more results, the response object's <tt>nextToken</tt>
--   parameter value is <tt>null</tt> . Setting a <tt>nextToken</tt> value
--   that was not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.
deNextToken :: Lens' DescribeEvents (Maybe Text)

-- | 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 <tt>NextToken</tt> value that you can assign to the
--   <tt>NextToken</tt> request parameter to get the next set of results.
deMaxResults :: Lens' DescribeEvents (Maybe Natural)

-- | The name of the server for which you want to view events.
deServerName :: Lens' DescribeEvents Text

-- | Creates a value of <a>DescribeEventsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dersServerEvents</a> - Contains the response to a
--   <tt>DescribeEvents</tt> request.</li>
--   <li><a>dersNextToken</a> - NextToken is a string that is returned in
--   some command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeEvents</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>dersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEventsResponse :: Int -> DescribeEventsResponse

-- | <i>See:</i> <a>describeEventsResponse</a> smart constructor.
data DescribeEventsResponse

-- | Contains the response to a <tt>DescribeEvents</tt> request.
dersServerEvents :: Lens' DescribeEventsResponse [ServerEvent]

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeEvents</tt> again, and assign the token from
--   the previous results as the value of the <tt>nextToken</tt> parameter.
--   If there are no more results, the response object's <tt>nextToken</tt>
--   parameter value is <tt>null</tt> . Setting a <tt>nextToken</tt> value
--   that was not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.
dersNextToken :: Lens' DescribeEventsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dersResponseStatus :: Lens' DescribeEventsResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DescribeEvents.DescribeEvents
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeEvents.DescribeEventsResponse


-- | Describes backups. The results are ordered by time, with newest
--   backups first. If you do not specify a BackupId or ServerName, the
--   command returns all backups.
--   
--   This operation is synchronous.
--   
--   A <tt>ResourceNotFoundException</tt> is thrown when the backup does
--   not exist. A <tt>ValidationException</tt> is raised when parameters of
--   the request are invalid.
module Network.AWS.OpsWorksCM.DescribeBackups

-- | Creates a value of <a>DescribeBackups</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dServerName</a> - Returns backups for the server with the
--   specified ServerName.</li>
--   <li><a>dBackupId</a> - Describes a single backup.</li>
--   <li><a>dNextToken</a> - NextToken is a string that is returned in some
--   command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeBackups</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>dMaxResults</a> - 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 <tt>NextToken</tt> value that you can
--   assign to the <tt>NextToken</tt> request parameter to get the next set
--   of results.</li>
--   </ul>
describeBackups :: DescribeBackups

-- | <i>See:</i> <a>describeBackups</a> smart constructor.
data DescribeBackups

-- | Returns backups for the server with the specified ServerName.
dServerName :: Lens' DescribeBackups (Maybe Text)

-- | Describes a single backup.
dBackupId :: Lens' DescribeBackups (Maybe Text)

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeBackups</tt> again, and assign the token
--   from the previous results as the value of the <tt>nextToken</tt>
--   parameter. If there are no more results, the response object's
--   <tt>nextToken</tt> parameter value is <tt>null</tt> . Setting a
--   <tt>nextToken</tt> value that was not returned in your previous
--   results causes an <tt>InvalidNextTokenException</tt> to occur.
dNextToken :: Lens' DescribeBackups (Maybe Text)

-- | 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 <tt>NextToken</tt> value that you can assign to the
--   <tt>NextToken</tt> request parameter to get the next set of results.
dMaxResults :: Lens' DescribeBackups (Maybe Natural)

-- | Creates a value of <a>DescribeBackupsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsBackups</a> - Contains the response to a
--   <tt>DescribeBackups</tt> request.</li>
--   <li><a>drsNextToken</a> - NextToken is a string that is returned in
--   some command responses. It indicates that not all entries have been
--   returned, and that you must run at least one more request to get
--   remaining items. To get remaining results, call
--   <tt>DescribeBackups</tt> again, and assign the token from the previous
--   results as the value of the <tt>nextToken</tt> parameter. If there are
--   no more results, the response object's <tt>nextToken</tt> parameter
--   value is <tt>null</tt> . Setting a <tt>nextToken</tt> value that was
--   not returned in your previous results causes an
--   <tt>InvalidNextTokenException</tt> to occur.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeBackupsResponse :: Int -> DescribeBackupsResponse

-- | <i>See:</i> <a>describeBackupsResponse</a> smart constructor.
data DescribeBackupsResponse

-- | Contains the response to a <tt>DescribeBackups</tt> request.
drsBackups :: Lens' DescribeBackupsResponse [Backup]

-- | NextToken is a string that is returned in some command responses. It
--   indicates that not all entries have been returned, and that you must
--   run at least one more request to get remaining items. To get remaining
--   results, call <tt>DescribeBackups</tt> again, and assign the token
--   from the previous results as the value of the <tt>nextToken</tt>
--   parameter. If there are no more results, the response object's
--   <tt>nextToken</tt> parameter value is <tt>null</tt> . Setting a
--   <tt>nextToken</tt> value that was not returned in your previous
--   results causes an <tt>InvalidNextTokenException</tt> to occur.
drsNextToken :: Lens' DescribeBackupsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DescribeBackupsResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackups
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeBackups.DescribeBackupsResponse


-- | Describes your account attributes, and creates requests to increase
--   limits before they are reached or exceeded.
--   
--   This operation is synchronous.
module Network.AWS.OpsWorksCM.DescribeAccountAttributes

-- | Creates a value of <a>DescribeAccountAttributes</a> with the minimum
--   fields required to make a request.
describeAccountAttributes :: DescribeAccountAttributes

-- | <i>See:</i> <a>describeAccountAttributes</a> smart constructor.
data DescribeAccountAttributes

-- | Creates a value of <a>DescribeAccountAttributesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daarsAttributes</a> - The attributes that are currently set for
--   the account.</li>
--   <li><a>daarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAccountAttributesResponse :: Int -> DescribeAccountAttributesResponse

-- | <i>See:</i> <a>describeAccountAttributesResponse</a> smart
--   constructor.
data DescribeAccountAttributesResponse

-- | The attributes that are currently set for the account.
daarsAttributes :: Lens' DescribeAccountAttributesResponse [AccountAttribute]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daarsResponseStatus :: Lens' DescribeAccountAttributesResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Data.Data.Data Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Show.Show Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Read.Read Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributes
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DescribeAccountAttributes.DescribeAccountAttributesResponse


-- | Deletes the server and the underlying AWS CloudFormation stack
--   (including the server's EC2 instance). The server status updated to
--   <tt>DELETING</tt> . Once the server is successfully deleted, it will
--   no longer be returned by <tt>DescribeServer</tt> requests. If the AWS
--   CloudFormation stack cannot be deleted, the server cannot be deleted.
--   
--   This operation is asynchronous.
--   
--   A <tt>InvalidStateException</tt> is thrown then a server is already
--   deleting. A <tt>ResourceNotFoundException</tt> is thrown when the
--   server does not exist. A <tt>ValidationException</tt> is raised when
--   parameters of the request are invalid.
module Network.AWS.OpsWorksCM.DeleteServer

-- | Creates a value of <a>DeleteServer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsServerName</a> - The ID of the server to delete.</li>
--   </ul>
deleteServer :: Text -> DeleteServer

-- | <i>See:</i> <a>deleteServer</a> smart constructor.
data DeleteServer

-- | The ID of the server to delete.
dsServerName :: Lens' DeleteServer Text

-- | Creates a value of <a>DeleteServerResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteServerResponse :: Int -> DeleteServerResponse

-- | <i>See:</i> <a>deleteServerResponse</a> smart constructor.
data DeleteServerResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dsrsResponseStatus :: Lens' DeleteServerResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Data.Data.Data Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance GHC.Show.Show Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance GHC.Read.Read Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DeleteServer.DeleteServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DeleteServer.DeleteServerResponse


-- | Deletes a backup. You can delete both manual and automated backups.
--   
--   This operation is asynchronous.
--   
--   A <tt>InvalidStateException</tt> is thrown then a backup is already
--   deleting. A <tt>ResourceNotFoundException</tt> is thrown when the
--   backup does not exist. A <tt>ValidationException</tt> is thrown when
--   parameters of the request are not valid.
module Network.AWS.OpsWorksCM.DeleteBackup

-- | Creates a value of <a>DeleteBackup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbBackupId</a> - The ID of the backup to delete. Run the
--   DescribeBackups command to get a list of backup IDs. Backup IDs are in
--   the format <tt>ServerName-yyyyMMddHHmmssSSS</tt> .</li>
--   </ul>
deleteBackup :: Text -> DeleteBackup

-- | <i>See:</i> <a>deleteBackup</a> smart constructor.
data DeleteBackup

-- | The ID of the backup to delete. Run the DescribeBackups command to get
--   a list of backup IDs. Backup IDs are in the format
--   <tt>ServerName-yyyyMMddHHmmssSSS</tt> .
dbBackupId :: Lens' DeleteBackup Text

-- | Creates a value of <a>DeleteBackupResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteBackupResponse :: Int -> DeleteBackupResponse

-- | <i>See:</i> <a>deleteBackupResponse</a> smart constructor.
data DeleteBackupResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dbrsResponseStatus :: Lens' DeleteBackupResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Data.Data.Data Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance GHC.Show.Show Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance GHC.Read.Read Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackup
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.DeleteBackup.DeleteBackupResponse


-- | Creates and immedately starts a new Server. The server can be used
--   once it has reached the <tt>HEALTHY</tt> state.
--   
--   This operation is asnychronous.
--   
--   A <tt>LimitExceededException</tt> is thrown then the maximum number of
--   server backup is reached. A <tt>ResourceAlreadyExistsException</tt> is
--   raise when a server with the same name already exists in the account.
--   A <tt>ResourceNotFoundException</tt> is thrown when a backupId is
--   passed, but the backup does not exist. A <tt>ValidationException</tt>
--   is thrown when parameters of the request are not valid.
--   
--   By default 10 servers can be created. A
--   <tt>LimitExceededException</tt> is raised when the limit is exceeded.
--   
--   When no security groups are provided by using
--   <tt>SecurityGroupIds</tt> , AWS OpsWorks creates a new security group.
--   This security group opens the Chef server to the world on TCP port
--   443. If a KeyName is present, SSH access is enabled. SSH is also open
--   to the world on TCP port 22.
--   
--   By default, the Chef Server is accessible from any IP address. We
--   recommend that you update your security group rules to allow access
--   from known IP addresses and address ranges only. To edit security
--   group rules, open Security Groups in the navigation pane of the EC2
--   management console.
module Network.AWS.OpsWorksCM.CreateServer

-- | Creates a value of <a>CreateServer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csEngineVersion</a> - The major release version of the engine
--   that you want to use. Values depend on the engine that you
--   choose.</li>
--   <li><a>csDisableAutomatedBackup</a> - Enable or disable scheduled
--   backups. Valid values are <tt>true</tt> or <tt>false</tt> . The
--   default value is <tt>true</tt> .</li>
--   <li><a>csSecurityGroupIds</a> - A list of security group IDs to attach
--   to the Amazon EC2 instance. If you add this parameter, the specified
--   security groups must be within the VPC that is specified by
--   <tt>SubnetIds</tt> . If you do not specify this parameter, AWS
--   OpsWorks for Chef Automate creates one new security group that uses
--   TCP ports 22 and 443, open to 0.0.0.0/0 (everyone).</li>
--   <li><a>csSubnetIds</a> - The IDs of subnets in which to launch the
--   server EC2 instance. Amazon EC2-Classic customers: This field is
--   required. All servers must run within a VPC. The VPC must have "Auto
--   Assign Public IP" enabled. EC2-VPC customers: This field is optional.
--   If you do not specify subnet IDs, your EC2 instances are created in a
--   default subnet that is selected by Amazon EC2. If you specify subnet
--   IDs, the VPC must have "Auto Assign Public IP" enabled. For more
--   information about supported Amazon EC2 platforms, see <a>Supported
--   Platforms</a> .</li>
--   <li><a>csKeyPair</a> - The Amazon EC2 key pair to set for the
--   instance. You may specify this parameter to connect to your instances
--   by using SSH.</li>
--   <li><a>csBackupId</a> - If you specify this field, AWS OpsWorks for
--   Chef Automate creates the server by using the backup represented by
--   BackupId.</li>
--   <li><a>csEngine</a> - The configuration management engine to use.
--   Valid values include <tt>Chef</tt> .</li>
--   <li><a>csInstanceType</a> - The Amazon EC2 instance type to use. Valid
--   values must be specified in the following format:
--   <tt>^([cm][34]|t2).*</tt> For example, <tt>c3.large</tt> .</li>
--   <li><a>csEngineModel</a> - The engine model, or option. Valid values
--   include <tt>Single</tt> .</li>
--   <li><a>csEngineAttributes</a> - Engine attributes on a specified
--   server. <b>Attributes accepted in a createServer request:</b> *
--   <tt>CHEF_PIVOTAL_KEY</tt> : A base64-encoded RSA private key that is
--   not stored by AWS OpsWorks for Chef Automate. This private key is
--   required to access the Chef API.</li>
--   <li><a>csPreferredMaintenanceWindow</a> - The start time for a
--   one-hour period each week during which AWS OpsWorks for Chef Automate
--   performs maintenance on the instance. Valid values must be specified
--   in the following format: <tt>DDD:HH:MM</tt> . The specified time is in
--   coordinated universal time (UTC). The default value is a random
--   one-hour period on Tuesday, Wednesday, or Friday. See
--   <tt>TimeWindowDefinition</tt> for more information. <b>Example:</b>
--   <tt>Mon:08:00</tt> , which represents a start time of every Monday at
--   08:00 UTC. (8:00 a.m.)</li>
--   <li><a>csPreferredBackupWindow</a> - The start time for a one-hour
--   period during which AWS OpsWorks for Chef Automate backs up
--   application-level data on your server if backups are enabled. Valid
--   values must be specified in one of the following formats: *
--   <tt>HH:MM</tt> for daily backups * <tt>DDD:HH:MM</tt> for weekly
--   backups The specified time is in coordinated universal time (UTC). The
--   default value is a random, daily start time. <b>Example:</b>
--   <tt>08:00</tt> , which represents a daily start time of 08:00 UTC.
--   <b>Example:</b> <tt>Mon:08:00</tt> , which represents a start time of
--   every Monday at 08:00 UTC. (8:00 a.m.)</li>
--   <li><a>csBackupRetentionCount</a> - The number of automated backups
--   that you want to keep. Whenever a new backup is created, AWS OpsWorks
--   for Chef Automate deletes the oldest backups if this number is
--   exceeded. The default value is <tt>1</tt> .</li>
--   <li><a>csServerName</a> - The name of the server. The server name must
--   be unique within your AWS account, within each region. Server names
--   must start with a letter; then letters, numbers, or hyphens (-) are
--   allowed, up to a maximum of 32 characters.</li>
--   <li><a>csInstanceProfileARN</a> - The ARN of the instance profile that
--   your Amazon EC2 instances use. Although the AWS OpsWorks console
--   typically creates the instance profile for you, in this release of AWS
--   OpsWorks for Chef Automate, run the service-role-creation.yaml AWS
--   CloudFormation template, located at
--   <a>https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml</a>.
--   This template creates a stack that includes the instance profile you
--   need.</li>
--   <li><a>csServiceRoleARN</a> - The service role that the AWS OpsWorks
--   for Chef Automate service backend uses to work with your account.
--   Although the AWS OpsWorks console typically creates the service role
--   for you, in this release of AWS OpsWorks for Chef Automate, run the
--   service-role-creation.yaml AWS CloudFormation template, located at
--   <a>https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml</a>.
--   This template creates a stack that includes the service role that you
--   need.</li>
--   </ul>
createServer :: Text -> Text -> Text -> CreateServer

-- | <i>See:</i> <a>createServer</a> smart constructor.
data CreateServer

-- | The major release version of the engine that you want to use. Values
--   depend on the engine that you choose.
csEngineVersion :: Lens' CreateServer (Maybe Text)

-- | Enable or disable scheduled backups. Valid values are <tt>true</tt> or
--   <tt>false</tt> . The default value is <tt>true</tt> .
csDisableAutomatedBackup :: Lens' CreateServer (Maybe Bool)

-- | A list of security group IDs to attach to the Amazon EC2 instance. If
--   you add this parameter, the specified security groups must be within
--   the VPC that is specified by <tt>SubnetIds</tt> . If you do not
--   specify this parameter, AWS OpsWorks for Chef Automate creates one new
--   security group that uses TCP ports 22 and 443, open to 0.0.0.0/0
--   (everyone).
csSecurityGroupIds :: Lens' CreateServer [Text]

-- | The IDs of subnets in which to launch the server EC2 instance. Amazon
--   EC2-Classic customers: This field is required. All servers must run
--   within a VPC. The VPC must have "Auto Assign Public IP" enabled.
--   EC2-VPC customers: This field is optional. If you do not specify
--   subnet IDs, your EC2 instances are created in a default subnet that is
--   selected by Amazon EC2. If you specify subnet IDs, the VPC must have
--   "Auto Assign Public IP" enabled. For more information about supported
--   Amazon EC2 platforms, see <a>Supported Platforms</a> .
csSubnetIds :: Lens' CreateServer [Text]

-- | The Amazon EC2 key pair to set for the instance. You may specify this
--   parameter to connect to your instances by using SSH.
csKeyPair :: Lens' CreateServer (Maybe Text)

-- | If you specify this field, AWS OpsWorks for Chef Automate creates the
--   server by using the backup represented by BackupId.
csBackupId :: Lens' CreateServer (Maybe Text)

-- | The configuration management engine to use. Valid values include
--   <tt>Chef</tt> .
csEngine :: Lens' CreateServer (Maybe Text)

-- | The Amazon EC2 instance type to use. Valid values must be specified in
--   the following format: <tt>^([cm][34]|t2).*</tt> For example,
--   <tt>c3.large</tt> .
csInstanceType :: Lens' CreateServer (Maybe Text)

-- | The engine model, or option. Valid values include <tt>Single</tt> .
csEngineModel :: Lens' CreateServer (Maybe Text)

-- | Engine attributes on a specified server. <b>Attributes accepted in a
--   createServer request:</b> * <tt>CHEF_PIVOTAL_KEY</tt> : A
--   base64-encoded RSA private key that is not stored by AWS OpsWorks for
--   Chef Automate. This private key is required to access the Chef API.
csEngineAttributes :: Lens' CreateServer [EngineAttribute]

-- | The start time for a one-hour period each week during which AWS
--   OpsWorks for Chef Automate performs maintenance on the instance. Valid
--   values must be specified in the following format: <tt>DDD:HH:MM</tt> .
--   The specified time is in coordinated universal time (UTC). The default
--   value is a random one-hour period on Tuesday, Wednesday, or Friday.
--   See <tt>TimeWindowDefinition</tt> for more information.
--   <b>Example:</b> <tt>Mon:08:00</tt> , which represents a start time of
--   every Monday at 08:00 UTC. (8:00 a.m.)
csPreferredMaintenanceWindow :: Lens' CreateServer (Maybe Text)

-- | The start time for a one-hour period during which AWS OpsWorks for
--   Chef Automate backs up application-level data on your server if
--   backups are enabled. Valid values must be specified in one of the
--   following formats: * <tt>HH:MM</tt> for daily backups *
--   <tt>DDD:HH:MM</tt> for weekly backups The specified time is in
--   coordinated universal time (UTC). The default value is a random, daily
--   start time. <b>Example:</b> <tt>08:00</tt> , which represents a daily
--   start time of 08:00 UTC. <b>Example:</b> <tt>Mon:08:00</tt> , which
--   represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)
csPreferredBackupWindow :: Lens' CreateServer (Maybe Text)

-- | The number of automated backups that you want to keep. Whenever a new
--   backup is created, AWS OpsWorks for Chef Automate deletes the oldest
--   backups if this number is exceeded. The default value is <tt>1</tt> .
csBackupRetentionCount :: Lens' CreateServer (Maybe Natural)

-- | The name of the server. The server name must be unique within your AWS
--   account, within each region. Server names must start with a letter;
--   then letters, numbers, or hyphens (-) are allowed, up to a maximum of
--   32 characters.
csServerName :: Lens' CreateServer Text

-- | The ARN of the instance profile that your Amazon EC2 instances use.
--   Although the AWS OpsWorks console typically creates the instance
--   profile for you, in this release of AWS OpsWorks for Chef Automate,
--   run the service-role-creation.yaml AWS CloudFormation template,
--   located at
--   <a>https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml</a>.
--   This template creates a stack that includes the instance profile you
--   need.
csInstanceProfileARN :: Lens' CreateServer Text

-- | The service role that the AWS OpsWorks for Chef Automate service
--   backend uses to work with your account. Although the AWS OpsWorks
--   console typically creates the service role for you, in this release of
--   AWS OpsWorks for Chef Automate, run the service-role-creation.yaml AWS
--   CloudFormation template, located at
--   <a>https://s3.amazonaws.com/opsworks-stuff/latest/service-role-creation.yaml</a>.
--   This template creates a stack that includes the service role that you
--   need.
csServiceRoleARN :: Lens' CreateServer Text

-- | Creates a value of <a>CreateServerResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csrsServer</a> - The server that is created by the
--   request.</li>
--   <li><a>csrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createServerResponse :: Int -> CreateServerResponse

-- | <i>See:</i> <a>createServerResponse</a> smart constructor.
data CreateServerResponse

-- | The server that is created by the request.
csrsServer :: Lens' CreateServerResponse (Maybe Server)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
csrsResponseStatus :: Lens' CreateServerResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Data.Data.Data Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance GHC.Show.Show Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance GHC.Read.Read Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.CreateServer.CreateServer
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.CreateServer.CreateServerResponse


-- | Creates an application-level backup of a server. While the server is
--   <tt>BACKING_UP</tt> , the server can not be modified and no additional
--   backup can be created.
--   
--   Backups can be created for <tt>RUNNING</tt> , <tt>HEALTHY</tt> and
--   <tt>UNHEALTHY</tt> servers.
--   
--   This operation is asnychronous.
--   
--   By default 50 manual backups can be created.
--   
--   A <tt>LimitExceededException</tt> is thrown then the maximum number of
--   manual backup is reached. A <tt>InvalidStateException</tt> is thrown
--   when the server is not in any of RUNNING, HEALTHY, UNHEALTHY. A
--   <tt>ResourceNotFoundException</tt> is thrown when the server is not
--   found. A <tt>ValidationException</tt> is thrown when parameters of the
--   request are not valid.
module Network.AWS.OpsWorksCM.CreateBackup

-- | Creates a value of <a>CreateBackup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbDescription</a> - A user-defined description of the
--   backup.</li>
--   <li><a>cbServerName</a> - The name of the server that you want to back
--   up.</li>
--   </ul>
createBackup :: Text -> CreateBackup

-- | <i>See:</i> <a>createBackup</a> smart constructor.
data CreateBackup

-- | A user-defined description of the backup.
cbDescription :: Lens' CreateBackup (Maybe Text)

-- | The name of the server that you want to back up.
cbServerName :: Lens' CreateBackup Text

-- | Creates a value of <a>CreateBackupResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbrsBackup</a> - Backup created by request.</li>
--   <li><a>cbrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createBackupResponse :: Int -> CreateBackupResponse

-- | <i>See:</i> <a>createBackupResponse</a> smart constructor.
data CreateBackupResponse

-- | Backup created by request.
cbrsBackup :: Lens' CreateBackupResponse (Maybe Backup)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cbrsResponseStatus :: Lens' CreateBackupResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Data.Data.Data Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance GHC.Show.Show Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance GHC.Read.Read Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.CreateBackup.CreateBackup
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.CreateBackup.CreateBackupResponse


-- | Undocumented operation.
module Network.AWS.OpsWorksCM.AssociateNode

-- | Creates a value of <a>AssociateNode</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>anEngineAttributes</a> - Undocumented member.</li>
--   <li><a>anServerName</a> - Undocumented member.</li>
--   <li><a>anNodeName</a> - Undocumented member.</li>
--   </ul>
associateNode :: Text -> Text -> AssociateNode

-- | <i>See:</i> <a>associateNode</a> smart constructor.
data AssociateNode

-- | Undocumented member.
anEngineAttributes :: Lens' AssociateNode [EngineAttribute]

-- | Undocumented member.
anServerName :: Lens' AssociateNode Text

-- | Undocumented member.
anNodeName :: Lens' AssociateNode Text

-- | Creates a value of <a>AssociateNodeResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>anrsNodeAssociationStatusToken</a> - Undocumented member.</li>
--   <li><a>anrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
associateNodeResponse :: Int -> AssociateNodeResponse

-- | <i>See:</i> <a>associateNodeResponse</a> smart constructor.
data AssociateNodeResponse

-- | Undocumented member.
anrsNodeAssociationStatusToken :: Lens' AssociateNodeResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
anrsResponseStatus :: Lens' AssociateNodeResponse Int
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse
instance Data.Data.Data Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse
instance GHC.Show.Show Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse
instance GHC.Read.Read Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse
instance GHC.Generics.Generic Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Data.Data.Data Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance GHC.Show.Show Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance GHC.Read.Read Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance GHC.Classes.Eq Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Data.Hashable.Class.Hashable Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorksCM.AssociateNode.AssociateNode
instance Control.DeepSeq.NFData Network.AWS.OpsWorksCM.AssociateNode.AssociateNodeResponse


-- | <b>AWS OpsWorks for Chef Automate</b>
--   
--   A service that runs and manages configuration management servers.
--   
--   Glossary of terms
--   
--   <ul>
--   <li><b>Server</b> : A server is a configuration management server, and
--   can be highly-available. The configuration manager runs on your
--   instances by using various AWS services, such as Amazon Elastic
--   Compute Cloud (EC2), and potentially Amazon Relational Database
--   Service (RDS). A server is a generic abstraction over the
--   configuration manager that you want to use, much like Amazon RDS. In
--   AWS OpsWorks for Chef Automate, you do not start or stop servers.
--   After you create servers, they continue to run until they are
--   deleted.</li>
--   <li><b>Engine</b> : The specific configuration manager that you want
--   to use (such as <tt>Chef</tt> ) is the engine.</li>
--   <li><b>Backup</b> : This is an application-level backup of the data
--   that the configuration manager stores. A backup creates a .tar.gz file
--   that is stored in an Amazon Simple Storage Service (S3) bucket in your
--   account. AWS OpsWorks for Chef Automate creates the S3 bucket when you
--   launch the first instance. A backup maintains a snapshot of all of a
--   server's important attributes at the time of the backup.</li>
--   <li><b>Events</b> : Events are always related to a server. Events are
--   written during server creation, when health checks run, when backups
--   are created, etc. When you delete a server, the server's events are
--   also deleted.</li>
--   <li><b>AccountAttributes</b> : Every account has attributes that are
--   assigned in the AWS OpsWorks for Chef Automate database. These
--   attributes store information about configuration limits (servers,
--   backups, etc.) and your customer account.</li>
--   </ul>
--   
--   Throttling limits
--   
--   All API operations allow for 5 requests per second with a burst of 10
--   requests per second.
module Network.AWS.OpsWorksCM

-- | API version <tt>2016-11-01</tt> of the Amazon OpsWorks for Chef
--   Automate SDK configuration.
opsWorksCM :: Service

-- | One or more of the provided request parameters are not valid.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested resource cannot be created because it already exists.
_ResourceAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This occurs when the provided nextToken is not valid.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested resource does not exist, or access was denied.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The resource is in a state that does not allow you to perform a
--   specified action.
_InvalidStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit of servers or backups has been reached.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
data BackupStatus
BSDeleting :: BackupStatus
BSFailed :: BackupStatus
BSInProgress :: BackupStatus
BSOK :: BackupStatus
data BackupType
Automated :: BackupType
Manual :: BackupType
data MaintenanceStatus
MSFailed :: MaintenanceStatus
MSSuccess :: MaintenanceStatus
data NodeAssociationStatus
NASFailed :: NodeAssociationStatus
NASInProgress :: NodeAssociationStatus
NASSuccess :: NodeAssociationStatus
data ServerStatus
BackingUp :: ServerStatus
ConnectionLost :: ServerStatus
Creating :: ServerStatus
Deleting :: ServerStatus
Failed :: ServerStatus
Healthy :: ServerStatus
Modifying :: ServerStatus
Running :: ServerStatus
Setup :: ServerStatus
UnderMaintenance :: ServerStatus
Unhealthy :: ServerStatus

-- | Stores account attributes.
--   
--   <i>See:</i> <a>accountAttribute</a> smart constructor.
data AccountAttribute

-- | Creates a value of <a>AccountAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaUsed</a> - The current usage, such as the current number of
--   servers associated with the account.</li>
--   <li><a>aaMaximum</a> - The maximum allowed value.</li>
--   <li><a>aaName</a> - The attribute name. The following are supported
--   attribute names. * <i>ServerLimit:</i> The number of servers that
--   currently existing <i> maximal allowed. By default 10 servers can be
--   created. * </i>ManualBackupLimit:<i> The number of manual backups that
--   currently exist </i> are maximal allowed. By default 50 manual backups
--   can be created.</li>
--   </ul>
accountAttribute :: AccountAttribute

-- | The current usage, such as the current number of servers associated
--   with the account.
aaUsed :: Lens' AccountAttribute (Maybe Int)

-- | The maximum allowed value.
aaMaximum :: Lens' AccountAttribute (Maybe Int)

-- | The attribute name. The following are supported attribute names. *
--   <i>ServerLimit:</i> The number of servers that currently existing <i>
--   maximal allowed. By default 10 servers can be created. *
--   </i>ManualBackupLimit:<i> The number of manual backups that currently
--   exist </i> are maximal allowed. By default 50 manual backups can be
--   created.
aaName :: Lens' AccountAttribute (Maybe Text)

-- | Describes a single backup.
--   
--   <i>See:</i> <a>backup</a> smart constructor.
data Backup

-- | Creates a value of <a>Backup</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bEngineVersion</a> - The engine version that is obtained from
--   the server when the backup is created.</li>
--   <li><a>bServiceRoleARN</a> - The service role ARN that is obtained
--   from the server when the backup is created.</li>
--   <li><a>bStatus</a> - The status of a backup while in progress.</li>
--   <li><a>bInstanceProfileARN</a> - The EC2 instance profile ARN that is
--   obtained from the server when the backup is created. Because this
--   value is stored, you are not required to provide the
--   InstanceProfileArn again if you restore a backup.</li>
--   <li><a>bSecurityGroupIds</a> - The security group IDs that are
--   obtained from the server when the backup is created.</li>
--   <li><a>bStatusDescription</a> - An informational message about backup
--   status.</li>
--   <li><a>bServerName</a> - The name of the server from which the backup
--   was made.</li>
--   <li><a>bSubnetIds</a> - The subnet IDs that are obtained from the
--   server when the backup is created.</li>
--   <li><a>bKeyPair</a> - The key pair that is obtained from the server
--   when the backup is created.</li>
--   <li><a>bCreatedAt</a> - The time stamp when the backup was created in
--   the database. Example: <tt>2016-07-29T13:38:47.520Z</tt></li>
--   <li><a>bBackupId</a> - The generated ID of the backup. Example:
--   <tt>myServerName-yyyyMMddHHmmssSSS</tt></li>
--   <li><a>bEngine</a> - The engine type that is obtained from the server
--   when the backup is created.</li>
--   <li><a>bInstanceType</a> - The instance type that is obtained from the
--   server when the backup is created.</li>
--   <li><a>bEngineModel</a> - The engine model that is obtained from the
--   server when the backup is created.</li>
--   <li><a>bPreferredMaintenanceWindow</a> - The preferred maintenance
--   period that is obtained from the server when the backup is
--   created.</li>
--   <li><a>bUserARN</a> - The IAM user ARN of the requester for manual
--   backups. This field is empty for automated backups.</li>
--   <li><a>bPreferredBackupWindow</a> - The preferred backup period that
--   is obtained from the server when the backup is created.</li>
--   <li><a>bS3LogURL</a> - The Amazon S3 URL of the backup's log
--   file.</li>
--   <li><a>bS3DataSize</a> - The size of the backup, in bytes. The size is
--   returned by the instance in the command results.</li>
--   <li><a>bBackupARN</a> - The ARN of the backup.</li>
--   <li><a>bS3DataURL</a> - The Amazon S3 URL of the backup's tar.gz
--   file.</li>
--   <li><a>bDescription</a> - A user-provided description for a manual
--   backup. This field is empty for automated backups.</li>
--   <li><a>bBackupType</a> - The backup type. Valid values are
--   <tt>automated</tt> or <tt>manual</tt> .</li>
--   <li><a>bToolsVersion</a> - The version of AWS OpsWorks for Chef
--   Automate-specific tools that is obtained from the server when the
--   backup is created.</li>
--   </ul>
backup :: Backup

-- | The engine version that is obtained from the server when the backup is
--   created.
bEngineVersion :: Lens' Backup (Maybe Text)

-- | The service role ARN that is obtained from the server when the backup
--   is created.
bServiceRoleARN :: Lens' Backup (Maybe Text)

-- | The status of a backup while in progress.
bStatus :: Lens' Backup (Maybe BackupStatus)

-- | The EC2 instance profile ARN that is obtained from the server when the
--   backup is created. Because this value is stored, you are not required
--   to provide the InstanceProfileArn again if you restore a backup.
bInstanceProfileARN :: Lens' Backup (Maybe Text)

-- | The security group IDs that are obtained from the server when the
--   backup is created.
bSecurityGroupIds :: Lens' Backup [Text]

-- | An informational message about backup status.
bStatusDescription :: Lens' Backup (Maybe Text)

-- | The name of the server from which the backup was made.
bServerName :: Lens' Backup (Maybe Text)

-- | The subnet IDs that are obtained from the server when the backup is
--   created.
bSubnetIds :: Lens' Backup [Text]

-- | The key pair that is obtained from the server when the backup is
--   created.
bKeyPair :: Lens' Backup (Maybe Text)

-- | The time stamp when the backup was created in the database. Example:
--   <tt>2016-07-29T13:38:47.520Z</tt>
bCreatedAt :: Lens' Backup (Maybe UTCTime)

-- | The generated ID of the backup. Example:
--   <tt>myServerName-yyyyMMddHHmmssSSS</tt>
bBackupId :: Lens' Backup (Maybe Text)

-- | The engine type that is obtained from the server when the backup is
--   created.
bEngine :: Lens' Backup (Maybe Text)

-- | The instance type that is obtained from the server when the backup is
--   created.
bInstanceType :: Lens' Backup (Maybe Text)

-- | The engine model that is obtained from the server when the backup is
--   created.
bEngineModel :: Lens' Backup (Maybe Text)

-- | The preferred maintenance period that is obtained from the server when
--   the backup is created.
bPreferredMaintenanceWindow :: Lens' Backup (Maybe Text)

-- | The IAM user ARN of the requester for manual backups. This field is
--   empty for automated backups.
bUserARN :: Lens' Backup (Maybe Text)

-- | The preferred backup period that is obtained from the server when the
--   backup is created.
bPreferredBackupWindow :: Lens' Backup (Maybe Text)

-- | The Amazon S3 URL of the backup's log file.
bS3LogURL :: Lens' Backup (Maybe Text)

-- | The size of the backup, in bytes. The size is returned by the instance
--   in the command results.
bS3DataSize :: Lens' Backup (Maybe Int)

-- | The ARN of the backup.
bBackupARN :: Lens' Backup (Maybe Text)

-- | The Amazon S3 URL of the backup's tar.gz file.
bS3DataURL :: Lens' Backup (Maybe Text)

-- | A user-provided description for a manual backup. This field is empty
--   for automated backups.
bDescription :: Lens' Backup (Maybe Text)

-- | The backup type. Valid values are <tt>automated</tt> or
--   <tt>manual</tt> .
bBackupType :: Lens' Backup (Maybe BackupType)

-- | The version of AWS OpsWorks for Chef Automate-specific tools that is
--   obtained from the server when the backup is created.
bToolsVersion :: Lens' Backup (Maybe Text)

-- | A name/value pair that is specific to the engine of the server.
--   
--   <i>See:</i> <a>engineAttribute</a> smart constructor.
data EngineAttribute

-- | Creates a value of <a>EngineAttribute</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eaValue</a> - The value of the engine attribute.</li>
--   <li><a>eaName</a> - The name of the engine attribute.</li>
--   </ul>
engineAttribute :: EngineAttribute

-- | The value of the engine attribute.
eaValue :: Lens' EngineAttribute (Maybe Text)

-- | The name of the engine attribute.
eaName :: Lens' EngineAttribute (Maybe Text)

-- | Describes a configuration management server.
--   
--   <i>See:</i> <a>server</a> smart constructor.
data Server

-- | Creates a value of <a>Server</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sEngineVersion</a> - The engine version of the server. Because
--   Chef is the engine available in this release, the valid value for
--   EngineVersion is <tt>12</tt> .</li>
--   <li><a>sServiceRoleARN</a> - The service role ARN used to create the
--   server.</li>
--   <li><a>sDisableAutomatedBackup</a> - Disables automated backups. The
--   number of stored backups is dependent on the value of
--   PreferredBackupCount.</li>
--   <li><a>sStatus</a> - The server's status. This field displays the
--   states of actions in progress, such as creating, running, or backing
--   up the server, as well as server health.</li>
--   <li><a>sInstanceProfileARN</a> - The instance profile ARN of the
--   server.</li>
--   <li><a>sSecurityGroupIds</a> - The security group IDs for the server,
--   as specified in the CloudFormation stack. These might not be the same
--   security groups that are shown in the EC2 console.</li>
--   <li><a>sServerName</a> - The name of the server.</li>
--   <li><a>sSubnetIds</a> - The subnet IDs specified in a CreateServer
--   request.</li>
--   <li><a>sKeyPair</a> - The key pair associated with the server.</li>
--   <li><a>sCreatedAt</a> - Time stamp of server creation. Example
--   <tt>2016-07-29T13:38:47.520Z</tt></li>
--   <li><a>sServerARN</a> - The ARN of the server.</li>
--   <li><a>sEngine</a> - The engine type of the server. The valid value in
--   this release is <tt>Chef</tt> .</li>
--   <li><a>sMaintenanceStatus</a> - The status of the most recent server
--   maintenance run. Shows <tt>SUCCESS</tt> or <tt>FAILED</tt> .</li>
--   <li><a>sInstanceType</a> - The instance type for the server, as
--   specified in the CloudFormation stack. This might not be the same
--   instance type that is shown in the EC2 console.</li>
--   <li><a>sEngineModel</a> - The engine model of the server. The valid
--   value in this release is <tt>Single</tt> .</li>
--   <li><a>sEngineAttributes</a> - The response of a createServer()
--   request returns the master credential to access the server in
--   EngineAttributes. These credentials are not stored by AWS OpsWorks for
--   Chef Automate; they are returned only as part of the result of
--   createServer(). <b>Attributes returned in a createServer response:</b>
--   * <tt>CHEF_PIVOTAL_KEY</tt> : A base64-encoded RSA private key that is
--   generated by AWS OpsWorks for Chef Automate. This private key is
--   required to access the Chef API. * <tt>CHEF_STARTER_KIT</tt> : A
--   base64-encoded ZIP file. The ZIP file contains a Chef starter kit,
--   which includes a README, a configuration file, and the required RSA
--   private key. Save this file, unzip it, and then change to the
--   directory where you've unzipped the file contents. From this
--   directory, you can run Knife commands.</li>
--   <li><a>sPreferredMaintenanceWindow</a> - The preferred maintenance
--   period specified for the server.</li>
--   <li><a>sPreferredBackupWindow</a> - The preferred backup period
--   specified for the server.</li>
--   <li><a>sStatusReason</a> - Depending on the server status, this field
--   has either a human-readable message (such as a create or backup
--   error), or an escaped block of JSON (used for health check
--   results).</li>
--   <li><a>sEndpoint</a> - A DNS name that can be used to access the
--   engine. Example:
--   <tt>myserver-asdfghjkl.us-east-1.opsworks.io</tt></li>
--   <li><a>sBackupRetentionCount</a> - The number of automated backups to
--   keep.</li>
--   </ul>
server :: Server

-- | The engine version of the server. Because Chef is the engine available
--   in this release, the valid value for EngineVersion is <tt>12</tt> .
sEngineVersion :: Lens' Server (Maybe Text)

-- | The service role ARN used to create the server.
sServiceRoleARN :: Lens' Server (Maybe Text)

-- | Disables automated backups. The number of stored backups is dependent
--   on the value of PreferredBackupCount.
sDisableAutomatedBackup :: Lens' Server (Maybe Bool)

-- | The server's status. This field displays the states of actions in
--   progress, such as creating, running, or backing up the server, as well
--   as server health.
sStatus :: Lens' Server (Maybe ServerStatus)

-- | The instance profile ARN of the server.
sInstanceProfileARN :: Lens' Server (Maybe Text)

-- | The security group IDs for the server, as specified in the
--   CloudFormation stack. These might not be the same security groups that
--   are shown in the EC2 console.
sSecurityGroupIds :: Lens' Server [Text]

-- | The name of the server.
sServerName :: Lens' Server (Maybe Text)

-- | The subnet IDs specified in a CreateServer request.
sSubnetIds :: Lens' Server [Text]

-- | The key pair associated with the server.
sKeyPair :: Lens' Server (Maybe Text)

-- | Time stamp of server creation. Example
--   <tt>2016-07-29T13:38:47.520Z</tt>
sCreatedAt :: Lens' Server (Maybe UTCTime)

-- | The ARN of the server.
sServerARN :: Lens' Server (Maybe Text)

-- | The engine type of the server. The valid value in this release is
--   <tt>Chef</tt> .
sEngine :: Lens' Server (Maybe Text)

-- | The status of the most recent server maintenance run. Shows
--   <tt>SUCCESS</tt> or <tt>FAILED</tt> .
sMaintenanceStatus :: Lens' Server (Maybe MaintenanceStatus)

-- | The instance type for the server, as specified in the CloudFormation
--   stack. This might not be the same instance type that is shown in the
--   EC2 console.
sInstanceType :: Lens' Server (Maybe Text)

-- | The engine model of the server. The valid value in this release is
--   <tt>Single</tt> .
sEngineModel :: Lens' Server (Maybe Text)

-- | The response of a createServer() request returns the master credential
--   to access the server in EngineAttributes. These credentials are not
--   stored by AWS OpsWorks for Chef Automate; they are returned only as
--   part of the result of createServer(). <b>Attributes returned in a
--   createServer response:</b> * <tt>CHEF_PIVOTAL_KEY</tt> : A
--   base64-encoded RSA private key that is generated by AWS OpsWorks for
--   Chef Automate. This private key is required to access the Chef API. *
--   <tt>CHEF_STARTER_KIT</tt> : A base64-encoded ZIP file. The ZIP file
--   contains a Chef starter kit, which includes a README, a configuration
--   file, and the required RSA private key. Save this file, unzip it, and
--   then change to the directory where you've unzipped the file contents.
--   From this directory, you can run Knife commands.
sEngineAttributes :: Lens' Server [EngineAttribute]

-- | The preferred maintenance period specified for the server.
sPreferredMaintenanceWindow :: Lens' Server (Maybe Text)

-- | The preferred backup period specified for the server.
sPreferredBackupWindow :: Lens' Server (Maybe Text)

-- | Depending on the server status, this field has either a human-readable
--   message (such as a create or backup error), or an escaped block of
--   JSON (used for health check results).
sStatusReason :: Lens' Server (Maybe Text)

-- | A DNS name that can be used to access the engine. Example:
--   <tt>myserver-asdfghjkl.us-east-1.opsworks.io</tt>
sEndpoint :: Lens' Server (Maybe Text)

-- | The number of automated backups to keep.
sBackupRetentionCount :: Lens' Server (Maybe Int)

-- | An event that is related to the server, such as the start of
--   maintenance or backup.
--   
--   <i>See:</i> <a>serverEvent</a> smart constructor.
data ServerEvent

-- | Creates a value of <a>ServerEvent</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seLogURL</a> - The Amazon S3 URL of the event's log file.</li>
--   <li><a>seServerName</a> - The name of the server on or for which the
--   event occurred.</li>
--   <li><a>seCreatedAt</a> - The time when the event occurred.</li>
--   <li><a>seMessage</a> - A human-readable informational or status
--   message.</li>
--   </ul>
serverEvent :: ServerEvent

-- | The Amazon S3 URL of the event's log file.
seLogURL :: Lens' ServerEvent (Maybe Text)

-- | The name of the server on or for which the event occurred.
seServerName :: Lens' ServerEvent (Maybe Text)

-- | The time when the event occurred.
seCreatedAt :: Lens' ServerEvent (Maybe UTCTime)

-- | A human-readable informational or status message.
seMessage :: Lens' ServerEvent (Maybe Text)
