packages feed

amazonka-opsworks 1.5.0 → 1.6.0

raw patch · 87 files changed

+5470/−5093 lines, 87 filesdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.OpsWorks: data OperatingSystem
+ Network.AWS.OpsWorks: data OperatingSystemConfigurationManager
+ Network.AWS.OpsWorks: icStopFailed :: Lens' InstancesCount (Maybe Int)
+ Network.AWS.OpsWorks: operatingSystem :: OperatingSystem
+ Network.AWS.OpsWorks: operatingSystemConfigurationManager :: OperatingSystemConfigurationManager
+ Network.AWS.OpsWorks: osConfigurationManagers :: Lens' OperatingSystem [OperatingSystemConfigurationManager]
+ Network.AWS.OpsWorks: osId :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks: osName :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks: osReportedName :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks: osReportedVersion :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks: osSupported :: Lens' OperatingSystem (Maybe Bool)
+ Network.AWS.OpsWorks: osType :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks: oscmName :: Lens' OperatingSystemConfigurationManager (Maybe Text)
+ Network.AWS.OpsWorks: oscmVersion :: Lens' OperatingSystemConfigurationManager (Maybe Text)
+ Network.AWS.OpsWorks: vEncrypted :: Lens' Volume (Maybe Bool)
+ Network.AWS.OpsWorks: vcEncrypted :: Lens' VolumeConfiguration (Maybe Bool)
+ Network.AWS.OpsWorks.DescribeOperatingSystems: data DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: data DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: describeOperatingSystems :: DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: describeOperatingSystemsResponse :: Int -> DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: dosrsOperatingSystems :: Lens' DescribeOperatingSystemsResponse [OperatingSystem]
+ Network.AWS.OpsWorks.DescribeOperatingSystems: dosrsResponseStatus :: Lens' DescribeOperatingSystemsResponse Int
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Control.DeepSeq.NFData Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Control.DeepSeq.NFData Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Data.Data.Data Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Data.Data.Data Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Data.Hashable.Class.Hashable Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Classes.Eq Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Classes.Eq Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Generics.Generic Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Generics.Generic Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Read.Read Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Read.Read Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Show.Show Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance GHC.Show.Show Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystemsResponse
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Network.AWS.Data.Path.ToPath Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Network.AWS.Data.Query.ToQuery Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.DescribeOperatingSystems: instance Network.AWS.Types.AWSRequest Network.AWS.OpsWorks.DescribeOperatingSystems.DescribeOperatingSystems
+ Network.AWS.OpsWorks.StopInstance: siForce :: Lens' StopInstance (Maybe Bool)
+ Network.AWS.OpsWorks.Types: data OperatingSystem
+ Network.AWS.OpsWorks.Types: data OperatingSystemConfigurationManager
+ Network.AWS.OpsWorks.Types: icStopFailed :: Lens' InstancesCount (Maybe Int)
+ Network.AWS.OpsWorks.Types: operatingSystem :: OperatingSystem
+ Network.AWS.OpsWorks.Types: operatingSystemConfigurationManager :: OperatingSystemConfigurationManager
+ Network.AWS.OpsWorks.Types: osConfigurationManagers :: Lens' OperatingSystem [OperatingSystemConfigurationManager]
+ Network.AWS.OpsWorks.Types: osId :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks.Types: osName :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks.Types: osReportedName :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks.Types: osReportedVersion :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks.Types: osSupported :: Lens' OperatingSystem (Maybe Bool)
+ Network.AWS.OpsWorks.Types: osType :: Lens' OperatingSystem (Maybe Text)
+ Network.AWS.OpsWorks.Types: oscmName :: Lens' OperatingSystemConfigurationManager (Maybe Text)
+ Network.AWS.OpsWorks.Types: oscmVersion :: Lens' OperatingSystemConfigurationManager (Maybe Text)
+ Network.AWS.OpsWorks.Types: vEncrypted :: Lens' Volume (Maybe Bool)
+ Network.AWS.OpsWorks.Types: vcEncrypted :: Lens' VolumeConfiguration (Maybe Bool)
- Network.AWS.OpsWorks: sAttributes :: Lens' Stack (HashMap StackAttributesKeys Text)
+ Network.AWS.OpsWorks: sAttributes :: Lens' Stack (HashMap StackAttributesKeys (Maybe Text))
- Network.AWS.OpsWorks: scCertificate :: Lens' SSLConfiguration Text
+ Network.AWS.OpsWorks: scCertificate :: Lens' SSLConfiguration (Maybe Text)
- Network.AWS.OpsWorks: scPrivateKey :: Lens' SSLConfiguration Text
+ Network.AWS.OpsWorks: scPrivateKey :: Lens' SSLConfiguration (Maybe Text)
- Network.AWS.OpsWorks: sslConfiguration :: Text -> Text -> SSLConfiguration
+ Network.AWS.OpsWorks: sslConfiguration :: SSLConfiguration
- Network.AWS.OpsWorks.CloneStack: cAttributes :: Lens' CloneStack (HashMap StackAttributesKeys Text)
+ Network.AWS.OpsWorks.CloneStack: cAttributes :: Lens' CloneStack (HashMap StackAttributesKeys (Maybe Text))
- Network.AWS.OpsWorks.CreateStack: csAttributes :: Lens' CreateStack (HashMap StackAttributesKeys Text)
+ Network.AWS.OpsWorks.CreateStack: csAttributes :: Lens' CreateStack (HashMap StackAttributesKeys (Maybe Text))
- Network.AWS.OpsWorks.Types: sAttributes :: Lens' Stack (HashMap StackAttributesKeys Text)
+ Network.AWS.OpsWorks.Types: sAttributes :: Lens' Stack (HashMap StackAttributesKeys (Maybe Text))
- Network.AWS.OpsWorks.Types: scCertificate :: Lens' SSLConfiguration Text
+ Network.AWS.OpsWorks.Types: scCertificate :: Lens' SSLConfiguration (Maybe Text)
- Network.AWS.OpsWorks.Types: scPrivateKey :: Lens' SSLConfiguration Text
+ Network.AWS.OpsWorks.Types: scPrivateKey :: Lens' SSLConfiguration (Maybe Text)
- Network.AWS.OpsWorks.Types: sslConfiguration :: Text -> Text -> SSLConfiguration
+ Network.AWS.OpsWorks.Types: sslConfiguration :: SSLConfiguration
- Network.AWS.OpsWorks.UpdateStack: usAttributes :: Lens' UpdateStack (HashMap StackAttributesKeys Text)
+ Network.AWS.OpsWorks.UpdateStack: usAttributes :: Lens' UpdateStack (HashMap StackAttributesKeys (Maybe Text))

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.5.0`+`1.6.0`   ## Description
amazonka-opsworks.cabal view
@@ -1,5 +1,5 @@ name:                  amazonka-opsworks-version:               1.5.0+version:               1.6.0 synopsis:              Amazon OpsWorks SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2017 Brendan Hay+copyright:             Copyright (c) 2013-2018 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -77,6 +77,7 @@         , Network.AWS.OpsWorks.DescribeLayers         , Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling         , Network.AWS.OpsWorks.DescribeMyUserProfile+        , Network.AWS.OpsWorks.DescribeOperatingSystems         , Network.AWS.OpsWorks.DescribePermissions         , Network.AWS.OpsWorks.DescribeRAIdArrays         , Network.AWS.OpsWorks.DescribeRDSDBInstances@@ -126,7 +127,7 @@         , Network.AWS.OpsWorks.Types.Sum      build-depends:-          amazonka-core == 1.5.0.*+          amazonka-core == 1.6.0.*         , base          >= 4.7     && < 5  test-suite amazonka-opsworks-test@@ -146,8 +147,8 @@         , Test.AWS.OpsWorks.Internal      build-depends:-          amazonka-core == 1.5.0.*-        , amazonka-test == 1.5.0.*+          amazonka-core == 1.6.0.*+        , amazonka-test == 1.6.0.*         , amazonka-opsworks         , base         , bytestring
+ fixture/DescribeOperatingSystems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/opsworks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  opsworks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeOperatingSystemsResponse.proto view
gen/Network/AWS/OpsWorks.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Network.AWS.OpsWorks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -49,10 +49,14 @@ -- --     * opsworks.us-west-2.amazonaws.com --+--     * opsworks.ca-central-1.amazonaws.com (API only; not available in the AWS console)+-- --     * opsworks.eu-west-1.amazonaws.com -- --     * opsworks.eu-west-2.amazonaws.com --+--     * opsworks.eu-west-3.amazonaws.com+-- --     * opsworks.eu-central-1.amazonaws.com -- --     * opsworks.ap-northeast-1.amazonaws.com@@ -303,6 +307,9 @@     -- ** CreateUserProfile     , module Network.AWS.OpsWorks.CreateUserProfile +    -- ** DescribeOperatingSystems+    , module Network.AWS.OpsWorks.DescribeOperatingSystems+     -- ** DescribeCommands     , module Network.AWS.OpsWorks.DescribeCommands @@ -597,6 +604,7 @@     , icDeregistering     , icRunningSetup     , icRequested+    , icStopFailed     , icBooting     , icStopped     , icRebooting@@ -650,6 +658,23 @@     , lbascDownScaling     , lbascLayerId +    -- ** OperatingSystem+    , OperatingSystem+    , operatingSystem+    , osReportedVersion+    , osSupported+    , osName+    , osId+    , osConfigurationManagers+    , osType+    , osReportedName++    -- ** OperatingSystemConfigurationManager+    , OperatingSystemConfigurationManager+    , operatingSystemConfigurationManager+    , oscmName+    , oscmVersion+     -- ** Permission     , Permission     , permission@@ -708,9 +733,9 @@     -- ** SSLConfiguration     , SSLConfiguration     , sslConfiguration-    , scChain-    , scCertificate     , scPrivateKey+    , scCertificate+    , scChain      -- ** SelfUserProfile     , SelfUserProfile@@ -819,6 +844,7 @@     , vSize     , vIOPS     , vDevice+    , vEncrypted     , vAvailabilityZone     , vName     , vRAIdArrayId@@ -833,6 +859,7 @@     , volumeConfiguration     , vcIOPS     , vcRAIdLevel+    , vcEncrypted     , vcVolumeType     , vcMountPoint     , vcNumberOfDisks@@ -882,6 +909,7 @@ import Network.AWS.OpsWorks.DescribeLayers import Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling import Network.AWS.OpsWorks.DescribeMyUserProfile+import Network.AWS.OpsWorks.DescribeOperatingSystems import Network.AWS.OpsWorks.DescribePermissions import Network.AWS.OpsWorks.DescribeRAIdArrays import Network.AWS.OpsWorks.DescribeRDSDBInstances
gen/Network/AWS/OpsWorks/AssignInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.AssignInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -75,11 +75,11 @@  -- | The instance ID. aiInstanceId :: Lens' AssignInstance Text-aiInstanceId = lens _aiInstanceId (\ s a -> s{_aiInstanceId = a});+aiInstanceId = lens _aiInstanceId (\ s a -> s{_aiInstanceId = a})  -- | The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer. aiLayerIds :: Lens' AssignInstance [Text]-aiLayerIds = lens _aiLayerIds (\ s a -> s{_aiLayerIds = a}) . _Coerce;+aiLayerIds = lens _aiLayerIds (\ s a -> s{_aiLayerIds = a}) . _Coerce  instance AWSRequest AssignInstance where         type Rs AssignInstance = AssignInstanceResponse
gen/Network/AWS/OpsWorks/AssignVolume.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.AssignVolume--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The instance ID. avInstanceId :: Lens' AssignVolume (Maybe Text)-avInstanceId = lens _avInstanceId (\ s a -> s{_avInstanceId = a});+avInstanceId = lens _avInstanceId (\ s a -> s{_avInstanceId = a})  -- | The volume ID. avVolumeId :: Lens' AssignVolume Text-avVolumeId = lens _avVolumeId (\ s a -> s{_avVolumeId = a});+avVolumeId = lens _avVolumeId (\ s a -> s{_avVolumeId = a})  instance AWSRequest AssignVolume where         type Rs AssignVolume = AssignVolumeResponse
gen/Network/AWS/OpsWorks/AssociateElasticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.AssociateElasticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The instance ID. aeiInstanceId :: Lens' AssociateElasticIP (Maybe Text)-aeiInstanceId = lens _aeiInstanceId (\ s a -> s{_aeiInstanceId = a});+aeiInstanceId = lens _aeiInstanceId (\ s a -> s{_aeiInstanceId = a})  -- | The Elastic IP address. aeiElasticIP :: Lens' AssociateElasticIP Text-aeiElasticIP = lens _aeiElasticIP (\ s a -> s{_aeiElasticIP = a});+aeiElasticIP = lens _aeiElasticIP (\ s a -> s{_aeiElasticIP = a})  instance AWSRequest AssociateElasticIP where         type Rs AssociateElasticIP =
gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.AttachElasticLoadBalancer--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,18 +64,18 @@     -> AttachElasticLoadBalancer attachElasticLoadBalancer pElasticLoadBalancerName_ pLayerId_ =   AttachElasticLoadBalancer'-  { _aelbElasticLoadBalancerName = pElasticLoadBalancerName_-  , _aelbLayerId = pLayerId_-  }+    { _aelbElasticLoadBalancerName = pElasticLoadBalancerName_+    , _aelbLayerId = pLayerId_+    }   -- | The Elastic Load Balancing instance's name. aelbElasticLoadBalancerName :: Lens' AttachElasticLoadBalancer Text-aelbElasticLoadBalancerName = lens _aelbElasticLoadBalancerName (\ s a -> s{_aelbElasticLoadBalancerName = a});+aelbElasticLoadBalancerName = lens _aelbElasticLoadBalancerName (\ s a -> s{_aelbElasticLoadBalancerName = a})  -- | The ID of the layer that the Elastic Load Balancing instance is to be attached to. aelbLayerId :: Lens' AttachElasticLoadBalancer Text-aelbLayerId = lens _aelbLayerId (\ s a -> s{_aelbLayerId = a});+aelbLayerId = lens _aelbLayerId (\ s a -> s{_aelbLayerId = a})  instance AWSRequest AttachElasticLoadBalancer where         type Rs AttachElasticLoadBalancer =
gen/Network/AWS/OpsWorks/CloneStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CloneStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,27 +70,27 @@ -- | /See:/ 'cloneStack' smart constructor. data CloneStack = CloneStack'   { _cDefaultInstanceProfileARN :: !(Maybe Text)-  , _cCloneAppIds               :: !(Maybe [Text])-  , _cDefaultRootDeviceType     :: !(Maybe RootDeviceType)-  , _cVPCId                     :: !(Maybe Text)-  , _cChefConfiguration         :: !(Maybe ChefConfiguration)-  , _cAgentVersion              :: !(Maybe Text)-  , _cDefaultSSHKeyName         :: !(Maybe Text)-  , _cCustomJSON                :: !(Maybe Text)-  , _cClonePermissions          :: !(Maybe Bool)-  , _cCustomCookbooksSource     :: !(Maybe Source)-  , _cDefaultAvailabilityZone   :: !(Maybe Text)-  , _cAttributes                :: !(Maybe (Map StackAttributesKeys Text))-  , _cName                      :: !(Maybe Text)-  , _cDefaultOS                 :: !(Maybe Text)+  , _cCloneAppIds :: !(Maybe [Text])+  , _cDefaultRootDeviceType :: !(Maybe RootDeviceType)+  , _cVPCId :: !(Maybe Text)+  , _cChefConfiguration :: !(Maybe ChefConfiguration)+  , _cAgentVersion :: !(Maybe Text)+  , _cDefaultSSHKeyName :: !(Maybe Text)+  , _cCustomJSON :: !(Maybe Text)+  , _cClonePermissions :: !(Maybe Bool)+  , _cCustomCookbooksSource :: !(Maybe Source)+  , _cDefaultAvailabilityZone :: !(Maybe Text)+  , _cAttributes :: !(Maybe (Map StackAttributesKeys (Maybe Text)))+  , _cName :: !(Maybe Text)+  , _cDefaultOS :: !(Maybe Text)   , _cUseOpsworksSecurityGroups :: !(Maybe Bool)-  , _cUseCustomCookbooks        :: !(Maybe Bool)-  , _cDefaultSubnetId           :: !(Maybe Text)-  , _cRegion                    :: !(Maybe Text)-  , _cConfigurationManager      :: !(Maybe StackConfigurationManager)-  , _cHostnameTheme             :: !(Maybe Text)-  , _cSourceStackId             :: !Text-  , _cServiceRoleARN            :: !Text+  , _cUseCustomCookbooks :: !(Maybe Bool)+  , _cDefaultSubnetId :: !(Maybe Text)+  , _cRegion :: !(Maybe Text)+  , _cConfigurationManager :: !(Maybe StackConfigurationManager)+  , _cHostnameTheme :: !(Maybe Text)+  , _cSourceStackId :: !Text+  , _cServiceRoleARN :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -124,7 +124,7 @@ -- -- * 'cName' - The cloned stack name. ----- * 'cDefaultOS' - The stack's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the parent stack's operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- * 'cDefaultOS' - The stack's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the parent stack's operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . -- -- * 'cUseOpsworksSecurityGroups' - Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With @UseOpsworksSecurityGroups@ you can instead provide your own custom security groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . --@@ -147,118 +147,118 @@     -> CloneStack cloneStack pSourceStackId_ pServiceRoleARN_ =   CloneStack'-  { _cDefaultInstanceProfileARN = Nothing-  , _cCloneAppIds = Nothing-  , _cDefaultRootDeviceType = Nothing-  , _cVPCId = Nothing-  , _cChefConfiguration = Nothing-  , _cAgentVersion = Nothing-  , _cDefaultSSHKeyName = Nothing-  , _cCustomJSON = Nothing-  , _cClonePermissions = Nothing-  , _cCustomCookbooksSource = Nothing-  , _cDefaultAvailabilityZone = Nothing-  , _cAttributes = Nothing-  , _cName = Nothing-  , _cDefaultOS = Nothing-  , _cUseOpsworksSecurityGroups = Nothing-  , _cUseCustomCookbooks = Nothing-  , _cDefaultSubnetId = Nothing-  , _cRegion = Nothing-  , _cConfigurationManager = Nothing-  , _cHostnameTheme = Nothing-  , _cSourceStackId = pSourceStackId_-  , _cServiceRoleARN = pServiceRoleARN_-  }+    { _cDefaultInstanceProfileARN = Nothing+    , _cCloneAppIds = Nothing+    , _cDefaultRootDeviceType = Nothing+    , _cVPCId = Nothing+    , _cChefConfiguration = Nothing+    , _cAgentVersion = Nothing+    , _cDefaultSSHKeyName = Nothing+    , _cCustomJSON = Nothing+    , _cClonePermissions = Nothing+    , _cCustomCookbooksSource = Nothing+    , _cDefaultAvailabilityZone = Nothing+    , _cAttributes = Nothing+    , _cName = Nothing+    , _cDefaultOS = Nothing+    , _cUseOpsworksSecurityGroups = Nothing+    , _cUseCustomCookbooks = Nothing+    , _cDefaultSubnetId = Nothing+    , _cRegion = Nothing+    , _cConfigurationManager = Nothing+    , _cHostnameTheme = Nothing+    , _cSourceStackId = pSourceStackId_+    , _cServiceRoleARN = pServiceRoleARN_+    }   -- | The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . cDefaultInstanceProfileARN :: Lens' CloneStack (Maybe Text)-cDefaultInstanceProfileARN = lens _cDefaultInstanceProfileARN (\ s a -> s{_cDefaultInstanceProfileARN = a});+cDefaultInstanceProfileARN = lens _cDefaultInstanceProfileARN (\ s a -> s{_cDefaultInstanceProfileARN = a})  -- | A list of source stack app IDs to be included in the cloned stack. cCloneAppIds :: Lens' CloneStack [Text]-cCloneAppIds = lens _cCloneAppIds (\ s a -> s{_cCloneAppIds = a}) . _Default . _Coerce;+cCloneAppIds = lens _cCloneAppIds (\ s a -> s{_cCloneAppIds = a}) . _Default . _Coerce  -- | The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> . cDefaultRootDeviceType :: Lens' CloneStack (Maybe RootDeviceType)-cDefaultRootDeviceType = lens _cDefaultRootDeviceType (\ s a -> s{_cDefaultRootDeviceType = a});+cDefaultRootDeviceType = lens _cDefaultRootDeviceType (\ s a -> s{_cDefaultRootDeviceType = a})  -- | The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.     * If your account supports EC2 Classic, the default value is no VPC.     * If your account does not support EC2 Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the @DefaultAvailabilityZone@ or the @DefaultSubnetId@ parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.  If you specify a nondefault VPC ID, note the following:     * It must belong to a VPC in your account that is in the specified region.     * You must specify a value for @DefaultSubnetId@ . For more information on how to use AWS OpsWorks Stacks with a VPC, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html Running a Stack in a VPC> . For more information on default VPC and EC2 Classic, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html Supported Platforms> . cVPCId :: Lens' CloneStack (Maybe Text)-cVPCId = lens _cVPCId (\ s a -> s{_cVPCId = a});+cVPCId = lens _cVPCId (\ s a -> s{_cVPCId = a})  -- | A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . cChefConfiguration :: Lens' CloneStack (Maybe ChefConfiguration)-cChefConfiguration = lens _cChefConfiguration (\ s a -> s{_cChefConfiguration = a});+cChefConfiguration = lens _cChefConfiguration (\ s a -> s{_cChefConfiguration = a})  -- | The default AWS OpsWorks Stacks agent version. You have the following options:     * Auto-update - Set this parameter to @LATEST@ . AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.     * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is @LATEST@ . To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call 'DescribeAgentVersions' . AgentVersion cannot be set to Chef 12.2. cAgentVersion :: Lens' CloneStack (Maybe Text)-cAgentVersion = lens _cAgentVersion (\ s a -> s{_cAgentVersion = a});+cAgentVersion = lens _cAgentVersion (\ s a -> s{_cAgentVersion = a})  -- | A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html Using SSH to Communicate with an Instance> and <http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html Managing SSH Access> . You can override this setting by specifying a different key pair, or no key pair, when you <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html create an instance> . cDefaultSSHKeyName :: Lens' CloneStack (Maybe Text)-cDefaultSSHKeyName = lens _cDefaultSSHKeyName (\ s a -> s{_cDefaultSSHKeyName = a});+cDefaultSSHKeyName = lens _cDefaultSSHKeyName (\ s a -> s{_cDefaultSSHKeyName = a})  -- | A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> cCustomJSON :: Lens' CloneStack (Maybe Text)-cCustomJSON = lens _cCustomJSON (\ s a -> s{_cCustomJSON = a});+cCustomJSON = lens _cCustomJSON (\ s a -> s{_cCustomJSON = a})  -- | Whether to clone the source stack's permissions. cClonePermissions :: Lens' CloneStack (Maybe Bool)-cClonePermissions = lens _cClonePermissions (\ s a -> s{_cClonePermissions = a});+cClonePermissions = lens _cClonePermissions (\ s a -> s{_cClonePermissions = a})  -- | Undocumented member. cCustomCookbooksSource :: Lens' CloneStack (Maybe Source)-cCustomCookbooksSource = lens _cCustomCookbooksSource (\ s a -> s{_cCustomCookbooksSource = a});+cCustomCookbooksSource = lens _cCustomCookbooksSource (\ s a -> s{_cCustomCookbooksSource = a})  -- | The cloned stack's default Availability Zone, which must be in the specified region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . If you also specify a value for @DefaultSubnetId@ , the subnet must be in the same zone. For more information, see the @VpcId@ parameter description. cDefaultAvailabilityZone :: Lens' CloneStack (Maybe Text)-cDefaultAvailabilityZone = lens _cDefaultAvailabilityZone (\ s a -> s{_cDefaultAvailabilityZone = a});+cDefaultAvailabilityZone = lens _cDefaultAvailabilityZone (\ s a -> s{_cDefaultAvailabilityZone = a})  -- | A list of stack attributes and values as key/value pairs to be added to the cloned stack.-cAttributes :: Lens' CloneStack (HashMap StackAttributesKeys Text)-cAttributes = lens _cAttributes (\ s a -> s{_cAttributes = a}) . _Default . _Map;+cAttributes :: Lens' CloneStack (HashMap StackAttributesKeys (Maybe Text))+cAttributes = lens _cAttributes (\ s a -> s{_cAttributes = a}) . _Default . _Map  -- | The cloned stack name. cName :: Lens' CloneStack (Maybe Text)-cName = lens _cName (\ s a -> s{_cName = a});+cName = lens _cName (\ s a -> s{_cName = a}) --- | The stack's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the parent stack's operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- | The stack's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the parent stack's operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . cDefaultOS :: Lens' CloneStack (Maybe Text)-cDefaultOS = lens _cDefaultOS (\ s a -> s{_cDefaultOS = a});+cDefaultOS = lens _cDefaultOS (\ s a -> s{_cDefaultOS = a})  -- | Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With @UseOpsworksSecurityGroups@ you can instead provide your own custom security groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . cUseOpsworksSecurityGroups :: Lens' CloneStack (Maybe Bool)-cUseOpsworksSecurityGroups = lens _cUseOpsworksSecurityGroups (\ s a -> s{_cUseOpsworksSecurityGroups = a});+cUseOpsworksSecurityGroups = lens _cUseOpsworksSecurityGroups (\ s a -> s{_cUseOpsworksSecurityGroups = a})  -- | Whether to use custom cookbooks. cUseCustomCookbooks :: Lens' CloneStack (Maybe Bool)-cUseCustomCookbooks = lens _cUseCustomCookbooks (\ s a -> s{_cUseCustomCookbooks = a});+cUseCustomCookbooks = lens _cUseCustomCookbooks (\ s a -> s{_cUseCustomCookbooks = a})  -- | The stack's default VPC subnet ID. This parameter is required if you specify a value for the @VpcId@ parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for @DefaultAvailabilityZone@ , the subnet must be in that zone. For information on default values and when this parameter is required, see the @VpcId@ parameter description. cDefaultSubnetId :: Lens' CloneStack (Maybe Text)-cDefaultSubnetId = lens _cDefaultSubnetId (\ s a -> s{_cDefaultSubnetId = a});+cDefaultSubnetId = lens _cDefaultSubnetId (\ s a -> s{_cDefaultSubnetId = a})  -- | The cloned stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . cRegion :: Lens' CloneStack (Maybe Text)-cRegion = lens _cRegion (\ s a -> s{_cRegion = a});+cRegion = lens _cRegion (\ s a -> s{_cRegion = a})  -- | The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12. cConfigurationManager :: Lens' CloneStack (Maybe StackConfigurationManager)-cConfigurationManager = lens _cConfigurationManager (\ s a -> s{_cConfigurationManager = a});+cConfigurationManager = lens _cConfigurationManager (\ s a -> s{_cConfigurationManager = a})  -- | The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, @HostnameTheme@ is set to @Layer_Dependent@ , which creates host names by appending integers to the layer's short name. The other themes are:     * @Baked_Goods@      * @Clouds@      * @Europe_Cities@      * @Fruits@      * @Greek_Deities@      * @Legendary_creatures_from_Japan@      * @Planets_and_Moons@      * @Roman_Deities@      * @Scottish_Islands@      * @US_Cities@      * @Wild_Cats@  To obtain a generated host name, call @GetHostNameSuggestion@ , which returns a host name based on the current theme. cHostnameTheme :: Lens' CloneStack (Maybe Text)-cHostnameTheme = lens _cHostnameTheme (\ s a -> s{_cHostnameTheme = a});+cHostnameTheme = lens _cHostnameTheme (\ s a -> s{_cHostnameTheme = a})  -- | The source stack ID. cSourceStackId :: Lens' CloneStack Text-cSourceStackId = lens _cSourceStackId (\ s a -> s{_cSourceStackId = a});+cSourceStackId = lens _cSourceStackId (\ s a -> s{_cSourceStackId = a})  -- | The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling 'DescribePermissions' . For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . cServiceRoleARN :: Lens' CloneStack Text-cServiceRoleARN = lens _cServiceRoleARN (\ s a -> s{_cServiceRoleARN = a});+cServiceRoleARN = lens _cServiceRoleARN (\ s a -> s{_cServiceRoleARN = a})  instance AWSRequest CloneStack where         type Rs CloneStack = CloneStackResponse@@ -344,15 +344,15 @@     -> CloneStackResponse cloneStackResponse pResponseStatus_ =   CloneStackResponse'-  {_csrsStackId = Nothing, _csrsResponseStatus = pResponseStatus_}+    {_csrsStackId = Nothing, _csrsResponseStatus = pResponseStatus_}   -- | The cloned stack ID. csrsStackId :: Lens' CloneStackResponse (Maybe Text)-csrsStackId = lens _csrsStackId (\ s a -> s{_csrsStackId = a});+csrsStackId = lens _csrsStackId (\ s a -> s{_csrsStackId = a})  -- | -- | The response status code. csrsResponseStatus :: Lens' CloneStackResponse Int-csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});+csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a})  instance NFData CloneStackResponse where
gen/Network/AWS/OpsWorks/CreateApp.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateApp--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -108,68 +108,68 @@     -> CreateApp createApp pStackId_ pName_ pType_ =   CreateApp'-  { _caSSLConfiguration = Nothing-  , _caEnvironment = Nothing-  , _caEnableSSL = Nothing-  , _caShortname = Nothing-  , _caDataSources = Nothing-  , _caAppSource = Nothing-  , _caAttributes = Nothing-  , _caDomains = Nothing-  , _caDescription = Nothing-  , _caStackId = pStackId_-  , _caName = pName_-  , _caType = pType_-  }+    { _caSSLConfiguration = Nothing+    , _caEnvironment = Nothing+    , _caEnableSSL = Nothing+    , _caShortname = Nothing+    , _caDataSources = Nothing+    , _caAppSource = Nothing+    , _caAttributes = Nothing+    , _caDomains = Nothing+    , _caDescription = Nothing+    , _caStackId = pStackId_+    , _caName = pName_+    , _caType = pType_+    }   -- | An @SslConfiguration@ object with the SSL configuration. caSSLConfiguration :: Lens' CreateApp (Maybe SSLConfiguration)-caSSLConfiguration = lens _caSSLConfiguration (\ s a -> s{_caSSLConfiguration = a});+caSSLConfiguration = lens _caSSLConfiguration (\ s a -> s{_caSSLConfiguration = a})  -- | An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> . There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 10KB)." caEnvironment :: Lens' CreateApp [EnvironmentVariable]-caEnvironment = lens _caEnvironment (\ s a -> s{_caEnvironment = a}) . _Default . _Coerce;+caEnvironment = lens _caEnvironment (\ s a -> s{_caEnvironment = a}) . _Default . _Coerce  -- | Whether to enable SSL for the app. caEnableSSL :: Lens' CreateApp (Maybe Bool)-caEnableSSL = lens _caEnableSSL (\ s a -> s{_caEnableSSL = a});+caEnableSSL = lens _caEnableSSL (\ s a -> s{_caEnableSSL = a})  -- | The app's short name. caShortname :: Lens' CreateApp (Maybe Text)-caShortname = lens _caShortname (\ s a -> s{_caShortname = a});+caShortname = lens _caShortname (\ s a -> s{_caShortname = a})  -- | The app's data source. caDataSources :: Lens' CreateApp [DataSource]-caDataSources = lens _caDataSources (\ s a -> s{_caDataSources = a}) . _Default . _Coerce;+caDataSources = lens _caDataSources (\ s a -> s{_caDataSources = a}) . _Default . _Coerce  -- | A @Source@ object that specifies the app repository. caAppSource :: Lens' CreateApp (Maybe Source)-caAppSource = lens _caAppSource (\ s a -> s{_caAppSource = a});+caAppSource = lens _caAppSource (\ s a -> s{_caAppSource = a})  -- | One or more user-defined key/value pairs to be added to the stack attributes. caAttributes :: Lens' CreateApp (HashMap AppAttributesKeys Text)-caAttributes = lens _caAttributes (\ s a -> s{_caAttributes = a}) . _Default . _Map;+caAttributes = lens _caAttributes (\ s a -> s{_caAttributes = a}) . _Default . _Map  -- | The app virtual host settings, with multiple domains separated by commas. For example: @'www.example.com, example.com'@ caDomains :: Lens' CreateApp [Text]-caDomains = lens _caDomains (\ s a -> s{_caDomains = a}) . _Default . _Coerce;+caDomains = lens _caDomains (\ s a -> s{_caDomains = a}) . _Default . _Coerce  -- | A description of the app. caDescription :: Lens' CreateApp (Maybe Text)-caDescription = lens _caDescription (\ s a -> s{_caDescription = a});+caDescription = lens _caDescription (\ s a -> s{_caDescription = a})  -- | The stack ID. caStackId :: Lens' CreateApp Text-caStackId = lens _caStackId (\ s a -> s{_caStackId = a});+caStackId = lens _caStackId (\ s a -> s{_caStackId = a})  -- | The app name. caName :: Lens' CreateApp Text-caName = lens _caName (\ s a -> s{_caName = a});+caName = lens _caName (\ s a -> s{_caName = a})  -- | The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify @other@ . caType :: Lens' CreateApp AppType-caType = lens _caType (\ s a -> s{_caType = a});+caType = lens _caType (\ s a -> s{_caType = a})  instance AWSRequest CreateApp where         type Rs CreateApp = CreateAppResponse@@ -238,15 +238,15 @@     -> CreateAppResponse createAppResponse pResponseStatus_ =   CreateAppResponse'-  {_carsAppId = Nothing, _carsResponseStatus = pResponseStatus_}+    {_carsAppId = Nothing, _carsResponseStatus = pResponseStatus_}   -- | The app ID. carsAppId :: Lens' CreateAppResponse (Maybe Text)-carsAppId = lens _carsAppId (\ s a -> s{_carsAppId = a});+carsAppId = lens _carsAppId (\ s a -> s{_carsAppId = a})  -- | -- | The response status code. carsResponseStatus :: Lens' CreateAppResponse Int-carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});+carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a})  instance NFData CreateAppResponse where
gen/Network/AWS/OpsWorks/CreateDeployment.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateDeployment--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -87,43 +87,43 @@     -> CreateDeployment createDeployment pStackId_ pCommand_ =   CreateDeployment'-  { _cdCustomJSON = Nothing-  , _cdAppId = Nothing-  , _cdInstanceIds = Nothing-  , _cdLayerIds = Nothing-  , _cdComment = Nothing-  , _cdStackId = pStackId_-  , _cdCommand = pCommand_-  }+    { _cdCustomJSON = Nothing+    , _cdAppId = Nothing+    , _cdInstanceIds = Nothing+    , _cdLayerIds = Nothing+    , _cdComment = Nothing+    , _cdStackId = pStackId_+    , _cdCommand = pCommand_+    }   -- | A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> . cdCustomJSON :: Lens' CreateDeployment (Maybe Text)-cdCustomJSON = lens _cdCustomJSON (\ s a -> s{_cdCustomJSON = a});+cdCustomJSON = lens _cdCustomJSON (\ s a -> s{_cdCustomJSON = a})  -- | The app ID. This parameter is required for app deployments, but not for other deployment commands. cdAppId :: Lens' CreateDeployment (Maybe Text)-cdAppId = lens _cdAppId (\ s a -> s{_cdAppId = a});+cdAppId = lens _cdAppId (\ s a -> s{_cdAppId = a})  -- | The instance IDs for the deployment targets. cdInstanceIds :: Lens' CreateDeployment [Text]-cdInstanceIds = lens _cdInstanceIds (\ s a -> s{_cdInstanceIds = a}) . _Default . _Coerce;+cdInstanceIds = lens _cdInstanceIds (\ s a -> s{_cdInstanceIds = a}) . _Default . _Coerce  -- | The layer IDs for the deployment targets. cdLayerIds :: Lens' CreateDeployment [Text]-cdLayerIds = lens _cdLayerIds (\ s a -> s{_cdLayerIds = a}) . _Default . _Coerce;+cdLayerIds = lens _cdLayerIds (\ s a -> s{_cdLayerIds = a}) . _Default . _Coerce  -- | A user-defined comment. cdComment :: Lens' CreateDeployment (Maybe Text)-cdComment = lens _cdComment (\ s a -> s{_cdComment = a});+cdComment = lens _cdComment (\ s a -> s{_cdComment = a})  -- | The stack ID. cdStackId :: Lens' CreateDeployment Text-cdStackId = lens _cdStackId (\ s a -> s{_cdStackId = a});+cdStackId = lens _cdStackId (\ s a -> s{_cdStackId = a})  -- | A @DeploymentCommand@ object that specifies the deployment command and any associated arguments. cdCommand :: Lens' CreateDeployment DeploymentCommand-cdCommand = lens _cdCommand (\ s a -> s{_cdCommand = a});+cdCommand = lens _cdCommand (\ s a -> s{_cdCommand = a})  instance AWSRequest CreateDeployment where         type Rs CreateDeployment = CreateDeploymentResponse@@ -188,15 +188,15 @@     -> CreateDeploymentResponse createDeploymentResponse pResponseStatus_ =   CreateDeploymentResponse'-  {_cdrsDeploymentId = Nothing, _cdrsResponseStatus = pResponseStatus_}+    {_cdrsDeploymentId = Nothing, _cdrsResponseStatus = pResponseStatus_}   -- | The deployment ID, which can be used with other requests to identify the deployment. cdrsDeploymentId :: Lens' CreateDeploymentResponse (Maybe Text)-cdrsDeploymentId = lens _cdrsDeploymentId (\ s a -> s{_cdrsDeploymentId = a});+cdrsDeploymentId = lens _cdrsDeploymentId (\ s a -> s{_cdrsDeploymentId = a})  -- | -- | The response status code. cdrsResponseStatus :: Lens' CreateDeploymentResponse Int-cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});+cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a})  instance NFData CreateDeploymentResponse where
gen/Network/AWS/OpsWorks/CreateInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -104,7 +104,7 @@ -- -- * 'ciEBSOptimized' - Whether to create an Amazon EBS-optimized instance. ----- * 'ciOS' - The instance's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the 'CreateInstance' action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> For more information on how to use custom AMIs with AWS OpsWorks Stacks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> .+-- * 'ciOS' - The instance's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the 'CreateInstance' action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> For more information on how to use custom AMIs with AWS OpsWorks Stacks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . -- -- * 'ciAvailabilityZone' - The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . --@@ -131,98 +131,98 @@     -> CreateInstance createInstance pStackId_ pInstanceType_ =   CreateInstance'-  { _ciInstallUpdatesOnBoot = Nothing-  , _ciVirtualizationType = Nothing-  , _ciHostname = Nothing-  , _ciSSHKeyName = Nothing-  , _ciAgentVersion = Nothing-  , _ciSubnetId = Nothing-  , _ciEBSOptimized = Nothing-  , _ciOS = Nothing-  , _ciAvailabilityZone = Nothing-  , _ciTenancy = Nothing-  , _ciAutoScalingType = Nothing-  , _ciArchitecture = Nothing-  , _ciAMIId = Nothing-  , _ciRootDeviceType = Nothing-  , _ciBlockDeviceMappings = Nothing-  , _ciStackId = pStackId_-  , _ciLayerIds = mempty-  , _ciInstanceType = pInstanceType_-  }+    { _ciInstallUpdatesOnBoot = Nothing+    , _ciVirtualizationType = Nothing+    , _ciHostname = Nothing+    , _ciSSHKeyName = Nothing+    , _ciAgentVersion = Nothing+    , _ciSubnetId = Nothing+    , _ciEBSOptimized = Nothing+    , _ciOS = Nothing+    , _ciAvailabilityZone = Nothing+    , _ciTenancy = Nothing+    , _ciAutoScalingType = Nothing+    , _ciArchitecture = Nothing+    , _ciAMIId = Nothing+    , _ciRootDeviceType = Nothing+    , _ciBlockDeviceMappings = Nothing+    , _ciStackId = pStackId_+    , _ciLayerIds = mempty+    , _ciInstanceType = pInstanceType_+    }   -- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . To control when updates are installed, set this value to @false@ . You must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances. ciInstallUpdatesOnBoot :: Lens' CreateInstance (Maybe Bool)-ciInstallUpdatesOnBoot = lens _ciInstallUpdatesOnBoot (\ s a -> s{_ciInstallUpdatesOnBoot = a});+ciInstallUpdatesOnBoot = lens _ciInstallUpdatesOnBoot (\ s a -> s{_ciInstallUpdatesOnBoot = a})  -- | The instance's virtualization type, @paravirtual@ or @hvm@ . ciVirtualizationType :: Lens' CreateInstance (Maybe Text)-ciVirtualizationType = lens _ciVirtualizationType (\ s a -> s{_ciVirtualizationType = a});+ciVirtualizationType = lens _ciVirtualizationType (\ s a -> s{_ciVirtualizationType = a})  -- | The instance host name. ciHostname :: Lens' CreateInstance (Maybe Text)-ciHostname = lens _ciHostname (\ s a -> s{_ciHostname = a});+ciHostname = lens _ciHostname (\ s a -> s{_ciHostname = a})  -- | The instance's Amazon EC2 key-pair name. ciSSHKeyName :: Lens' CreateInstance (Maybe Text)-ciSSHKeyName = lens _ciSSHKeyName (\ s a -> s{_ciSSHKeyName = a});+ciSSHKeyName = lens _ciSSHKeyName (\ s a -> s{_ciSSHKeyName = a})  -- | The default AWS OpsWorks Stacks agent version. You have the following options:     * @INHERIT@ - Use the stack's default agent version setting.     * /version_number/ - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance. The default setting is @INHERIT@ . To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call 'DescribeAgentVersions' . AgentVersion cannot be set to Chef 12.2. ciAgentVersion :: Lens' CreateInstance (Maybe Text)-ciAgentVersion = lens _ciAgentVersion (\ s a -> s{_ciAgentVersion = a});+ciAgentVersion = lens _ciAgentVersion (\ s a -> s{_ciAgentVersion = a})  -- | The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet. ciSubnetId :: Lens' CreateInstance (Maybe Text)-ciSubnetId = lens _ciSubnetId (\ s a -> s{_ciSubnetId = a});+ciSubnetId = lens _ciSubnetId (\ s a -> s{_ciSubnetId = a})  -- | Whether to create an Amazon EBS-optimized instance. ciEBSOptimized :: Lens' CreateInstance (Maybe Bool)-ciEBSOptimized = lens _ciEBSOptimized (\ s a -> s{_ciEBSOptimized = a});+ciEBSOptimized = lens _ciEBSOptimized (\ s a -> s{_ciEBSOptimized = a}) --- | The instance's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the 'CreateInstance' action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> For more information on how to use custom AMIs with AWS OpsWorks Stacks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> .+-- | The instance's operating system, which must be set to one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the 'CreateInstance' action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is @Custom@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> For more information on how to use custom AMIs with AWS OpsWorks Stacks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . ciOS :: Lens' CreateInstance (Maybe Text)-ciOS = lens _ciOS (\ s a -> s{_ciOS = a});+ciOS = lens _ciOS (\ s a -> s{_ciOS = a})  -- | The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . ciAvailabilityZone :: Lens' CreateInstance (Maybe Text)-ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a});+ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a})  -- | The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: @dedicated@ , @default@ , or @host@ . Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see <http://aws.amazon.com/ec2/dedicated-hosts/ Dedicated Hosts Overview> and <http://aws.amazon.com/ec2/dedicated-hosts/ Amazon EC2 Dedicated Hosts> . For more information about dedicated instances, see <http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html Dedicated Instances> and <http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/ Amazon EC2 Dedicated Instances> . ciTenancy :: Lens' CreateInstance (Maybe Text)-ciTenancy = lens _ciTenancy (\ s a -> s{_ciTenancy = a});+ciTenancy = lens _ciTenancy (\ s a -> s{_ciTenancy = a})  -- | For load-based or time-based instances, the type. Windows stacks can use only time-based instances. ciAutoScalingType :: Lens' CreateInstance (Maybe AutoScalingType)-ciAutoScalingType = lens _ciAutoScalingType (\ s a -> s{_ciAutoScalingType = a});+ciAutoScalingType = lens _ciAutoScalingType (\ s a -> s{_ciAutoScalingType = a})  -- | The instance architecture. The default option is @x86_64@ . Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Families and Types> . ciArchitecture :: Lens' CreateInstance (Maybe Architecture)-ciArchitecture = lens _ciArchitecture (\ s a -> s{_ciArchitecture = a});+ciArchitecture = lens _ciArchitecture (\ s a -> s{_ciArchitecture = a})  -- | A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . ciAMIId :: Lens' CreateInstance (Maybe Text)-ciAMIId = lens _ciAMIId (\ s a -> s{_ciAMIId = a});+ciAMIId = lens _ciAMIId (\ s a -> s{_ciAMIId = a})  -- | The instance root device type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> . ciRootDeviceType :: Lens' CreateInstance (Maybe RootDeviceType)-ciRootDeviceType = lens _ciRootDeviceType (\ s a -> s{_ciRootDeviceType = a});+ciRootDeviceType = lens _ciRootDeviceType (\ s a -> s{_ciRootDeviceType = a})  -- | An array of @BlockDeviceMapping@ objects that specify the instance's block devices. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html Block Device Mapping> . Note that block device mappings are not supported for custom AMIs. ciBlockDeviceMappings :: Lens' CreateInstance [BlockDeviceMapping]-ciBlockDeviceMappings = lens _ciBlockDeviceMappings (\ s a -> s{_ciBlockDeviceMappings = a}) . _Default . _Coerce;+ciBlockDeviceMappings = lens _ciBlockDeviceMappings (\ s a -> s{_ciBlockDeviceMappings = a}) . _Default . _Coerce  -- | The stack ID. ciStackId :: Lens' CreateInstance Text-ciStackId = lens _ciStackId (\ s a -> s{_ciStackId = a});+ciStackId = lens _ciStackId (\ s a -> s{_ciStackId = a})  -- | An array that contains the instance's layer IDs. ciLayerIds :: Lens' CreateInstance [Text]-ciLayerIds = lens _ciLayerIds (\ s a -> s{_ciLayerIds = a}) . _Coerce;+ciLayerIds = lens _ciLayerIds (\ s a -> s{_ciLayerIds = a}) . _Coerce  -- | The instance type, such as @t2.micro@ . For a list of supported instance types, open the stack in the console, choose __Instances__ , and choose __+ Instance__ . The __Size__ list contains the currently supported types. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Families and Types> . The parameter values that you use to specify the various types are in the __API Name__ column of the __Available Instance Types__ table. ciInstanceType :: Lens' CreateInstance Text-ciInstanceType = lens _ciInstanceType (\ s a -> s{_ciInstanceType = a});+ciInstanceType = lens _ciInstanceType (\ s a -> s{_ciInstanceType = a})  instance AWSRequest CreateInstance where         type Rs CreateInstance = CreateInstanceResponse@@ -300,15 +300,15 @@     -> CreateInstanceResponse createInstanceResponse pResponseStatus_ =   CreateInstanceResponse'-  {_cirsInstanceId = Nothing, _cirsResponseStatus = pResponseStatus_}+    {_cirsInstanceId = Nothing, _cirsResponseStatus = pResponseStatus_}   -- | The instance ID. cirsInstanceId :: Lens' CreateInstanceResponse (Maybe Text)-cirsInstanceId = lens _cirsInstanceId (\ s a -> s{_cirsInstanceId = a});+cirsInstanceId = lens _cirsInstanceId (\ s a -> s{_cirsInstanceId = a})  -- | -- | The response status code. cirsResponseStatus :: Lens' CreateInstanceResponse Int-cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a});+cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a})  instance NFData CreateInstanceResponse where
gen/Network/AWS/OpsWorks/CreateLayer.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateLayer--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -133,98 +133,98 @@     -> CreateLayer createLayer pStackId_ pType_ pName_ pShortname_ =   CreateLayer'-  { _clCustomInstanceProfileARN = Nothing-  , _clCustomSecurityGroupIds = Nothing-  , _clInstallUpdatesOnBoot = Nothing-  , _clCloudWatchLogsConfiguration = Nothing-  , _clLifecycleEventConfiguration = Nothing-  , _clCustomRecipes = Nothing-  , _clCustomJSON = Nothing-  , _clVolumeConfigurations = Nothing-  , _clEnableAutoHealing = Nothing-  , _clPackages = Nothing-  , _clAttributes = Nothing-  , _clAutoAssignPublicIPs = Nothing-  , _clUseEBSOptimizedInstances = Nothing-  , _clAutoAssignElasticIPs = Nothing-  , _clStackId = pStackId_-  , _clType = pType_-  , _clName = pName_-  , _clShortname = pShortname_-  }+    { _clCustomInstanceProfileARN = Nothing+    , _clCustomSecurityGroupIds = Nothing+    , _clInstallUpdatesOnBoot = Nothing+    , _clCloudWatchLogsConfiguration = Nothing+    , _clLifecycleEventConfiguration = Nothing+    , _clCustomRecipes = Nothing+    , _clCustomJSON = Nothing+    , _clVolumeConfigurations = Nothing+    , _clEnableAutoHealing = Nothing+    , _clPackages = Nothing+    , _clAttributes = Nothing+    , _clAutoAssignPublicIPs = Nothing+    , _clUseEBSOptimizedInstances = Nothing+    , _clAutoAssignElasticIPs = Nothing+    , _clStackId = pStackId_+    , _clType = pType_+    , _clName = pName_+    , _clShortname = pShortname_+    }   -- | The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . clCustomInstanceProfileARN :: Lens' CreateLayer (Maybe Text)-clCustomInstanceProfileARN = lens _clCustomInstanceProfileARN (\ s a -> s{_clCustomInstanceProfileARN = a});+clCustomInstanceProfileARN = lens _clCustomInstanceProfileARN (\ s a -> s{_clCustomInstanceProfileARN = a})  -- | An array containing the layer custom security group IDs. clCustomSecurityGroupIds :: Lens' CreateLayer [Text]-clCustomSecurityGroupIds = lens _clCustomSecurityGroupIds (\ s a -> s{_clCustomSecurityGroupIds = a}) . _Default . _Coerce;+clCustomSecurityGroupIds = lens _clCustomSecurityGroupIds (\ s a -> s{_clCustomSecurityGroupIds = a}) . _Default . _Coerce  -- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . To control when updates are installed, set this value to @false@ . You must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances. clInstallUpdatesOnBoot :: Lens' CreateLayer (Maybe Bool)-clInstallUpdatesOnBoot = lens _clInstallUpdatesOnBoot (\ s a -> s{_clInstallUpdatesOnBoot = a});+clInstallUpdatesOnBoot = lens _clInstallUpdatesOnBoot (\ s a -> s{_clInstallUpdatesOnBoot = a})  -- | Specifies CloudWatch Logs configuration options for the layer. For more information, see 'CloudWatchLogsLogStream' . clCloudWatchLogsConfiguration :: Lens' CreateLayer (Maybe CloudWatchLogsConfiguration)-clCloudWatchLogsConfiguration = lens _clCloudWatchLogsConfiguration (\ s a -> s{_clCloudWatchLogsConfiguration = a});+clCloudWatchLogsConfiguration = lens _clCloudWatchLogsConfiguration (\ s a -> s{_clCloudWatchLogsConfiguration = a})  -- | A @LifeCycleEventConfiguration@ object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining. clLifecycleEventConfiguration :: Lens' CreateLayer (Maybe LifecycleEventConfiguration)-clLifecycleEventConfiguration = lens _clLifecycleEventConfiguration (\ s a -> s{_clLifecycleEventConfiguration = a});+clLifecycleEventConfiguration = lens _clLifecycleEventConfiguration (\ s a -> s{_clLifecycleEventConfiguration = a})  -- | A @LayerCustomRecipes@ object that specifies the layer custom recipes. clCustomRecipes :: Lens' CreateLayer (Maybe Recipes)-clCustomRecipes = lens _clCustomRecipes (\ s a -> s{_clCustomRecipes = a});+clCustomRecipes = lens _clCustomRecipes (\ s a -> s{_clCustomRecipes = a})  -- | A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html Using Custom JSON> . This feature is supported as of version 1.7.42 of the AWS CLI. clCustomJSON :: Lens' CreateLayer (Maybe Text)-clCustomJSON = lens _clCustomJSON (\ s a -> s{_clCustomJSON = a});+clCustomJSON = lens _clCustomJSON (\ s a -> s{_clCustomJSON = a})  -- | A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes. clVolumeConfigurations :: Lens' CreateLayer [VolumeConfiguration]-clVolumeConfigurations = lens _clVolumeConfigurations (\ s a -> s{_clVolumeConfigurations = a}) . _Default . _Coerce;+clVolumeConfigurations = lens _clVolumeConfigurations (\ s a -> s{_clVolumeConfigurations = a}) . _Default . _Coerce  -- | Whether to disable auto healing for the layer. clEnableAutoHealing :: Lens' CreateLayer (Maybe Bool)-clEnableAutoHealing = lens _clEnableAutoHealing (\ s a -> s{_clEnableAutoHealing = a});+clEnableAutoHealing = lens _clEnableAutoHealing (\ s a -> s{_clEnableAutoHealing = a})  -- | An array of @Package@ objects that describes the layer packages. clPackages :: Lens' CreateLayer [Text]-clPackages = lens _clPackages (\ s a -> s{_clPackages = a}) . _Default . _Coerce;+clPackages = lens _clPackages (\ s a -> s{_clPackages = a}) . _Default . _Coerce  -- | One or more user-defined key-value pairs to be added to the stack attributes. To create a cluster layer, set the @EcsClusterArn@ attribute to the cluster's ARN. clAttributes :: Lens' CreateLayer (HashMap LayerAttributesKeys (Maybe Text))-clAttributes = lens _clAttributes (\ s a -> s{_clAttributes = a}) . _Default . _Map;+clAttributes = lens _clAttributes (\ s a -> s{_clAttributes = a}) . _Default . _Map  -- | For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> . clAutoAssignPublicIPs :: Lens' CreateLayer (Maybe Bool)-clAutoAssignPublicIPs = lens _clAutoAssignPublicIPs (\ s a -> s{_clAutoAssignPublicIPs = a});+clAutoAssignPublicIPs = lens _clAutoAssignPublicIPs (\ s a -> s{_clAutoAssignPublicIPs = a})  -- | Whether to use Amazon EBS-optimized instances. clUseEBSOptimizedInstances :: Lens' CreateLayer (Maybe Bool)-clUseEBSOptimizedInstances = lens _clUseEBSOptimizedInstances (\ s a -> s{_clUseEBSOptimizedInstances = a});+clUseEBSOptimizedInstances = lens _clUseEBSOptimizedInstances (\ s a -> s{_clUseEBSOptimizedInstances = a})  -- | Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> . clAutoAssignElasticIPs :: Lens' CreateLayer (Maybe Bool)-clAutoAssignElasticIPs = lens _clAutoAssignElasticIPs (\ s a -> s{_clAutoAssignElasticIPs = a});+clAutoAssignElasticIPs = lens _clAutoAssignElasticIPs (\ s a -> s{_clAutoAssignElasticIPs = a})  -- | The layer stack ID. clStackId :: Lens' CreateLayer Text-clStackId = lens _clStackId (\ s a -> s{_clStackId = a});+clStackId = lens _clStackId (\ s a -> s{_clStackId = a})  -- | The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks. clType :: Lens' CreateLayer LayerType-clType = lens _clType (\ s a -> s{_clType = a});+clType = lens _clType (\ s a -> s{_clType = a})  -- | The layer name, which is used by the console. clName :: Lens' CreateLayer Text-clName = lens _clName (\ s a -> s{_clName = a});+clName = lens _clName (\ s a -> s{_clName = a})  -- | For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'. The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html Layer Reference> . clShortname :: Lens' CreateLayer Text-clShortname = lens _clShortname (\ s a -> s{_clShortname = a});+clShortname = lens _clShortname (\ s a -> s{_clShortname = a})  instance AWSRequest CreateLayer where         type Rs CreateLayer = CreateLayerResponse@@ -308,15 +308,15 @@     -> CreateLayerResponse createLayerResponse pResponseStatus_ =   CreateLayerResponse'-  {_clrsLayerId = Nothing, _clrsResponseStatus = pResponseStatus_}+    {_clrsLayerId = Nothing, _clrsResponseStatus = pResponseStatus_}   -- | The layer ID. clrsLayerId :: Lens' CreateLayerResponse (Maybe Text)-clrsLayerId = lens _clrsLayerId (\ s a -> s{_clrsLayerId = a});+clrsLayerId = lens _clrsLayerId (\ s a -> s{_clrsLayerId = a})  -- | -- | The response status code. clrsResponseStatus :: Lens' CreateLayerResponse Int-clrsResponseStatus = lens _clrsResponseStatus (\ s a -> s{_clrsResponseStatus = a});+clrsResponseStatus = lens _clrsResponseStatus (\ s a -> s{_clrsResponseStatus = a})  instance NFData CreateLayerResponse where
gen/Network/AWS/OpsWorks/CreateStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -66,24 +66,24 @@  -- | /See:/ 'createStack' smart constructor. data CreateStack = CreateStack'-  { _csDefaultRootDeviceType     :: !(Maybe RootDeviceType)-  , _csVPCId                     :: !(Maybe Text)-  , _csChefConfiguration         :: !(Maybe ChefConfiguration)-  , _csAgentVersion              :: !(Maybe Text)-  , _csDefaultSSHKeyName         :: !(Maybe Text)-  , _csCustomJSON                :: !(Maybe Text)-  , _csCustomCookbooksSource     :: !(Maybe Source)-  , _csDefaultAvailabilityZone   :: !(Maybe Text)-  , _csAttributes                :: !(Maybe (Map StackAttributesKeys Text))-  , _csDefaultOS                 :: !(Maybe Text)+  { _csDefaultRootDeviceType :: !(Maybe RootDeviceType)+  , _csVPCId :: !(Maybe Text)+  , _csChefConfiguration :: !(Maybe ChefConfiguration)+  , _csAgentVersion :: !(Maybe Text)+  , _csDefaultSSHKeyName :: !(Maybe Text)+  , _csCustomJSON :: !(Maybe Text)+  , _csCustomCookbooksSource :: !(Maybe Source)+  , _csDefaultAvailabilityZone :: !(Maybe Text)+  , _csAttributes :: !(Maybe (Map StackAttributesKeys (Maybe Text)))+  , _csDefaultOS :: !(Maybe Text)   , _csUseOpsworksSecurityGroups :: !(Maybe Bool)-  , _csUseCustomCookbooks        :: !(Maybe Bool)-  , _csDefaultSubnetId           :: !(Maybe Text)-  , _csConfigurationManager      :: !(Maybe StackConfigurationManager)-  , _csHostnameTheme             :: !(Maybe Text)-  , _csName                      :: !Text-  , _csRegion                    :: !Text-  , _csServiceRoleARN            :: !Text+  , _csUseCustomCookbooks :: !(Maybe Bool)+  , _csDefaultSubnetId :: !(Maybe Text)+  , _csConfigurationManager :: !(Maybe StackConfigurationManager)+  , _csHostnameTheme :: !(Maybe Text)+  , _csName :: !Text+  , _csRegion :: !Text+  , _csServiceRoleARN :: !Text   , _csDefaultInstanceProfileARN :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -110,7 +110,7 @@ -- -- * 'csAttributes' - One or more user-defined key-value pairs to be added to the stack attributes. ----- * 'csDefaultOS' - The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the current Amazon Linux version. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- * 'csDefaultOS' - The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the current Amazon Linux version. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . -- -- * 'csUseOpsworksSecurityGroups' - Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With @UseOpsworksSecurityGroups@ you can instead provide your own custom security groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . --@@ -137,103 +137,103 @@     -> CreateStack createStack pName_ pRegion_ pServiceRoleARN_ pDefaultInstanceProfileARN_ =   CreateStack'-  { _csDefaultRootDeviceType = Nothing-  , _csVPCId = Nothing-  , _csChefConfiguration = Nothing-  , _csAgentVersion = Nothing-  , _csDefaultSSHKeyName = Nothing-  , _csCustomJSON = Nothing-  , _csCustomCookbooksSource = Nothing-  , _csDefaultAvailabilityZone = Nothing-  , _csAttributes = Nothing-  , _csDefaultOS = Nothing-  , _csUseOpsworksSecurityGroups = Nothing-  , _csUseCustomCookbooks = Nothing-  , _csDefaultSubnetId = Nothing-  , _csConfigurationManager = Nothing-  , _csHostnameTheme = Nothing-  , _csName = pName_-  , _csRegion = pRegion_-  , _csServiceRoleARN = pServiceRoleARN_-  , _csDefaultInstanceProfileARN = pDefaultInstanceProfileARN_-  }+    { _csDefaultRootDeviceType = Nothing+    , _csVPCId = Nothing+    , _csChefConfiguration = Nothing+    , _csAgentVersion = Nothing+    , _csDefaultSSHKeyName = Nothing+    , _csCustomJSON = Nothing+    , _csCustomCookbooksSource = Nothing+    , _csDefaultAvailabilityZone = Nothing+    , _csAttributes = Nothing+    , _csDefaultOS = Nothing+    , _csUseOpsworksSecurityGroups = Nothing+    , _csUseCustomCookbooks = Nothing+    , _csDefaultSubnetId = Nothing+    , _csConfigurationManager = Nothing+    , _csHostnameTheme = Nothing+    , _csName = pName_+    , _csRegion = pRegion_+    , _csServiceRoleARN = pServiceRoleARN_+    , _csDefaultInstanceProfileARN = pDefaultInstanceProfileARN_+    }   -- | The default root device type. This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is @instance-store@ . For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> . csDefaultRootDeviceType :: Lens' CreateStack (Maybe RootDeviceType)-csDefaultRootDeviceType = lens _csDefaultRootDeviceType (\ s a -> s{_csDefaultRootDeviceType = a});+csDefaultRootDeviceType = lens _csDefaultRootDeviceType (\ s a -> s{_csDefaultRootDeviceType = a})  -- | The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.     * If your account supports EC2-Classic, the default value is @no VPC@ .     * If your account does not support EC2-Classic, the default value is the default VPC for the specified region. If the VPC ID corresponds to a default VPC and you have specified either the @DefaultAvailabilityZone@ or the @DefaultSubnetId@ parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively. If you specify a nondefault VPC ID, note the following:     * It must belong to a VPC in your account that is in the specified region.     * You must specify a value for @DefaultSubnetId@ . For more information on how to use AWS OpsWorks Stacks with a VPC, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html Running a Stack in a VPC> . For more information on default VPC and EC2-Classic, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html Supported Platforms> . csVPCId :: Lens' CreateStack (Maybe Text)-csVPCId = lens _csVPCId (\ s a -> s{_csVPCId = a});+csVPCId = lens _csVPCId (\ s a -> s{_csVPCId = a})  -- | A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . csChefConfiguration :: Lens' CreateStack (Maybe ChefConfiguration)-csChefConfiguration = lens _csChefConfiguration (\ s a -> s{_csChefConfiguration = a});+csChefConfiguration = lens _csChefConfiguration (\ s a -> s{_csChefConfiguration = a})  -- | The default AWS OpsWorks Stacks agent version. You have the following options:     * Auto-update - Set this parameter to @LATEST@ . AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.     * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call 'DescribeAgentVersions' . AgentVersion cannot be set to Chef 12.2. csAgentVersion :: Lens' CreateStack (Maybe Text)-csAgentVersion = lens _csAgentVersion (\ s a -> s{_csAgentVersion = a});+csAgentVersion = lens _csAgentVersion (\ s a -> s{_csAgentVersion = a})  -- | A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html Using SSH to Communicate with an Instance> and <http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html Managing SSH Access> . You can override this setting by specifying a different key pair, or no key pair, when you <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html create an instance> . csDefaultSSHKeyName :: Lens' CreateStack (Maybe Text)-csDefaultSSHKeyName = lens _csDefaultSSHKeyName (\ s a -> s{_csDefaultSSHKeyName = a});+csDefaultSSHKeyName = lens _csDefaultSSHKeyName (\ s a -> s{_csDefaultSSHKeyName = a})  -- | A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> . csCustomJSON :: Lens' CreateStack (Maybe Text)-csCustomJSON = lens _csCustomJSON (\ s a -> s{_csCustomJSON = a});+csCustomJSON = lens _csCustomJSON (\ s a -> s{_csCustomJSON = a})  -- | Undocumented member. csCustomCookbooksSource :: Lens' CreateStack (Maybe Source)-csCustomCookbooksSource = lens _csCustomCookbooksSource (\ s a -> s{_csCustomCookbooksSource = a});+csCustomCookbooksSource = lens _csCustomCookbooksSource (\ s a -> s{_csCustomCookbooksSource = a})  -- | The stack's default Availability Zone, which must be in the specified region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . If you also specify a value for @DefaultSubnetId@ , the subnet must be in the same zone. For more information, see the @VpcId@ parameter description. csDefaultAvailabilityZone :: Lens' CreateStack (Maybe Text)-csDefaultAvailabilityZone = lens _csDefaultAvailabilityZone (\ s a -> s{_csDefaultAvailabilityZone = a});+csDefaultAvailabilityZone = lens _csDefaultAvailabilityZone (\ s a -> s{_csDefaultAvailabilityZone = a})  -- | One or more user-defined key-value pairs to be added to the stack attributes.-csAttributes :: Lens' CreateStack (HashMap StackAttributesKeys Text)-csAttributes = lens _csAttributes (\ s a -> s{_csAttributes = a}) . _Default . _Map;+csAttributes :: Lens' CreateStack (HashMap StackAttributesKeys (Maybe Text))+csAttributes = lens _csAttributes (\ s a -> s{_csAttributes = a}) . _Default . _Map --- | The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the current Amazon Linux version. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- | The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the current Amazon Linux version. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . csDefaultOS :: Lens' CreateStack (Maybe Text)-csDefaultOS = lens _csDefaultOS (\ s a -> s{_csDefaultOS = a});+csDefaultOS = lens _csDefaultOS (\ s a -> s{_csDefaultOS = a})  -- | Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With @UseOpsworksSecurityGroups@ you can instead provide your own custom security groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . csUseOpsworksSecurityGroups :: Lens' CreateStack (Maybe Bool)-csUseOpsworksSecurityGroups = lens _csUseOpsworksSecurityGroups (\ s a -> s{_csUseOpsworksSecurityGroups = a});+csUseOpsworksSecurityGroups = lens _csUseOpsworksSecurityGroups (\ s a -> s{_csUseOpsworksSecurityGroups = a})  -- | Whether the stack uses custom cookbooks. csUseCustomCookbooks :: Lens' CreateStack (Maybe Bool)-csUseCustomCookbooks = lens _csUseCustomCookbooks (\ s a -> s{_csUseCustomCookbooks = a});+csUseCustomCookbooks = lens _csUseCustomCookbooks (\ s a -> s{_csUseCustomCookbooks = a})  -- | The stack's default VPC subnet ID. This parameter is required if you specify a value for the @VpcId@ parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for @DefaultAvailabilityZone@ , the subnet must be in that zone. For information on default values and when this parameter is required, see the @VpcId@ parameter description. csDefaultSubnetId :: Lens' CreateStack (Maybe Text)-csDefaultSubnetId = lens _csDefaultSubnetId (\ s a -> s{_csDefaultSubnetId = a});+csDefaultSubnetId = lens _csDefaultSubnetId (\ s a -> s{_csDefaultSubnetId = a})  -- | The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4. csConfigurationManager :: Lens' CreateStack (Maybe StackConfigurationManager)-csConfigurationManager = lens _csConfigurationManager (\ s a -> s{_csConfigurationManager = a});+csConfigurationManager = lens _csConfigurationManager (\ s a -> s{_csConfigurationManager = a})  -- | The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, @HostnameTheme@ is set to @Layer_Dependent@ , which creates host names by appending integers to the layer's short name. The other themes are:     * @Baked_Goods@      * @Clouds@      * @Europe_Cities@      * @Fruits@      * @Greek_Deities@      * @Legendary_creatures_from_Japan@      * @Planets_and_Moons@      * @Roman_Deities@      * @Scottish_Islands@      * @US_Cities@      * @Wild_Cats@  To obtain a generated host name, call @GetHostNameSuggestion@ , which returns a host name based on the current theme. csHostnameTheme :: Lens' CreateStack (Maybe Text)-csHostnameTheme = lens _csHostnameTheme (\ s a -> s{_csHostnameTheme = a});+csHostnameTheme = lens _csHostnameTheme (\ s a -> s{_csHostnameTheme = a})  -- | The stack name. csName :: Lens' CreateStack Text-csName = lens _csName (\ s a -> s{_csName = a});+csName = lens _csName (\ s a -> s{_csName = a})  -- | The stack's AWS region, such as "ap-south-1". For more information about Amazon regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . csRegion :: Lens' CreateStack Text-csRegion = lens _csRegion (\ s a -> s{_csRegion = a});+csRegion = lens _csRegion (\ s a -> s{_csRegion = a})  -- | The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . csServiceRoleARN :: Lens' CreateStack Text-csServiceRoleARN = lens _csServiceRoleARN (\ s a -> s{_csServiceRoleARN = a});+csServiceRoleARN = lens _csServiceRoleARN (\ s a -> s{_csServiceRoleARN = a})  -- | The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . csDefaultInstanceProfileARN :: Lens' CreateStack Text-csDefaultInstanceProfileARN = lens _csDefaultInstanceProfileARN (\ s a -> s{_csDefaultInstanceProfileARN = a});+csDefaultInstanceProfileARN = lens _csDefaultInstanceProfileARN (\ s a -> s{_csDefaultInstanceProfileARN = a})  instance AWSRequest CreateStack where         type Rs CreateStack = CreateStackResponse@@ -317,15 +317,15 @@     -> CreateStackResponse createStackResponse pResponseStatus_ =   CreateStackResponse'-  {_crsStackId = Nothing, _crsResponseStatus = pResponseStatus_}+    {_crsStackId = Nothing, _crsResponseStatus = pResponseStatus_}   -- | The stack ID, which is an opaque string that you use to identify the stack when performing actions such as @DescribeStacks@ . crsStackId :: Lens' CreateStackResponse (Maybe Text)-crsStackId = lens _crsStackId (\ s a -> s{_crsStackId = a});+crsStackId = lens _crsStackId (\ s a -> s{_crsStackId = a})  -- | -- | The response status code. crsResponseStatus :: Lens' CreateStackResponse Int-crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})  instance NFData CreateStackResponse where
gen/Network/AWS/OpsWorks/CreateUserProfile.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.CreateUserProfile--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -74,28 +74,28 @@     -> CreateUserProfile createUserProfile pIAMUserARN_ =   CreateUserProfile'-  { _cupAllowSelfManagement = Nothing-  , _cupSSHPublicKey = Nothing-  , _cupSSHUsername = Nothing-  , _cupIAMUserARN = pIAMUserARN_-  }+    { _cupAllowSelfManagement = Nothing+    , _cupSSHPublicKey = Nothing+    , _cupSSHUsername = Nothing+    , _cupIAMUserARN = pIAMUserARN_+    }   -- | Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Setting an IAM User's Public SSH Key> . cupAllowSelfManagement :: Lens' CreateUserProfile (Maybe Bool)-cupAllowSelfManagement = lens _cupAllowSelfManagement (\ s a -> s{_cupAllowSelfManagement = a});+cupAllowSelfManagement = lens _cupAllowSelfManagement (\ s a -> s{_cupAllowSelfManagement = a})  -- | The user's public SSH key. cupSSHPublicKey :: Lens' CreateUserProfile (Maybe Text)-cupSSHPublicKey = lens _cupSSHPublicKey (\ s a -> s{_cupSSHPublicKey = a});+cupSSHPublicKey = lens _cupSSHPublicKey (\ s a -> s{_cupSSHPublicKey = a})  -- | The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, @my.name@ will be changed to @myname@ . If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name. cupSSHUsername :: Lens' CreateUserProfile (Maybe Text)-cupSSHUsername = lens _cupSSHUsername (\ s a -> s{_cupSSHUsername = a});+cupSSHUsername = lens _cupSSHUsername (\ s a -> s{_cupSSHUsername = a})  -- | The user's IAM ARN; this can also be a federated user's ARN. cupIAMUserARN :: Lens' CreateUserProfile Text-cupIAMUserARN = lens _cupIAMUserARN (\ s a -> s{_cupIAMUserARN = a});+cupIAMUserARN = lens _cupIAMUserARN (\ s a -> s{_cupIAMUserARN = a})  instance AWSRequest CreateUserProfile where         type Rs CreateUserProfile = CreateUserProfileResponse@@ -159,15 +159,15 @@     -> CreateUserProfileResponse createUserProfileResponse pResponseStatus_ =   CreateUserProfileResponse'-  {_cuprsIAMUserARN = Nothing, _cuprsResponseStatus = pResponseStatus_}+    {_cuprsIAMUserARN = Nothing, _cuprsResponseStatus = pResponseStatus_}   -- | The user's IAM ARN. cuprsIAMUserARN :: Lens' CreateUserProfileResponse (Maybe Text)-cuprsIAMUserARN = lens _cuprsIAMUserARN (\ s a -> s{_cuprsIAMUserARN = a});+cuprsIAMUserARN = lens _cuprsIAMUserARN (\ s a -> s{_cuprsIAMUserARN = a})  -- | -- | The response status code. cuprsResponseStatus :: Lens' CreateUserProfileResponse Int-cuprsResponseStatus = lens _cuprsResponseStatus (\ s a -> s{_cuprsResponseStatus = a});+cuprsResponseStatus = lens _cuprsResponseStatus (\ s a -> s{_cuprsResponseStatus = a})  instance NFData CreateUserProfileResponse where
gen/Network/AWS/OpsWorks/DeleteApp.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeleteApp--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The app ID. daAppId :: Lens' DeleteApp Text-daAppId = lens _daAppId (\ s a -> s{_daAppId = a});+daAppId = lens _daAppId (\ s a -> s{_daAppId = a})  instance AWSRequest DeleteApp where         type Rs DeleteApp = DeleteAppResponse
gen/Network/AWS/OpsWorks/DeleteInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeleteInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> DeleteInstance deleteInstance pInstanceId_ =   DeleteInstance'-  { _diDeleteVolumes = Nothing-  , _diDeleteElasticIP = Nothing-  , _diInstanceId = pInstanceId_-  }+    { _diDeleteVolumes = Nothing+    , _diDeleteElasticIP = Nothing+    , _diInstanceId = pInstanceId_+    }   -- | Whether to delete the instance's Amazon EBS volumes. diDeleteVolumes :: Lens' DeleteInstance (Maybe Bool)-diDeleteVolumes = lens _diDeleteVolumes (\ s a -> s{_diDeleteVolumes = a});+diDeleteVolumes = lens _diDeleteVolumes (\ s a -> s{_diDeleteVolumes = a})  -- | Whether to delete the instance Elastic IP address. diDeleteElasticIP :: Lens' DeleteInstance (Maybe Bool)-diDeleteElasticIP = lens _diDeleteElasticIP (\ s a -> s{_diDeleteElasticIP = a});+diDeleteElasticIP = lens _diDeleteElasticIP (\ s a -> s{_diDeleteElasticIP = a})  -- | The instance ID. diInstanceId :: Lens' DeleteInstance Text-diInstanceId = lens _diInstanceId (\ s a -> s{_diInstanceId = a});+diInstanceId = lens _diInstanceId (\ s a -> s{_diInstanceId = a})  instance AWSRequest DeleteInstance where         type Rs DeleteInstance = DeleteInstanceResponse
gen/Network/AWS/OpsWorks/DeleteLayer.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeleteLayer--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The layer ID. dlLayerId :: Lens' DeleteLayer Text-dlLayerId = lens _dlLayerId (\ s a -> s{_dlLayerId = a});+dlLayerId = lens _dlLayerId (\ s a -> s{_dlLayerId = a})  instance AWSRequest DeleteLayer where         type Rs DeleteLayer = DeleteLayerResponse
gen/Network/AWS/OpsWorks/DeleteStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeleteStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The stack ID. dsStackId :: Lens' DeleteStack Text-dsStackId = lens _dsStackId (\ s a -> s{_dsStackId = a});+dsStackId = lens _dsStackId (\ s a -> s{_dsStackId = a})  instance AWSRequest DeleteStack where         type Rs DeleteStack = DeleteStackResponse
gen/Network/AWS/OpsWorks/DeleteUserProfile.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeleteUserProfile--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The user's IAM ARN. This can also be a federated user's ARN. dupIAMUserARN :: Lens' DeleteUserProfile Text-dupIAMUserARN = lens _dupIAMUserARN (\ s a -> s{_dupIAMUserARN = a});+dupIAMUserARN = lens _dupIAMUserARN (\ s a -> s{_dupIAMUserARN = a})  instance AWSRequest DeleteUserProfile where         type Rs DeleteUserProfile = DeleteUserProfileResponse
gen/Network/AWS/OpsWorks/DeregisterEcsCluster.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeregisterEcsCluster--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The cluster's ARN. decEcsClusterARN :: Lens' DeregisterEcsCluster Text-decEcsClusterARN = lens _decEcsClusterARN (\ s a -> s{_decEcsClusterARN = a});+decEcsClusterARN = lens _decEcsClusterARN (\ s a -> s{_decEcsClusterARN = a})  instance AWSRequest DeregisterEcsCluster where         type Rs DeregisterEcsCluster =
gen/Network/AWS/OpsWorks/DeregisterElasticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeregisterElasticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The Elastic IP address. deipElasticIP :: Lens' DeregisterElasticIP Text-deipElasticIP = lens _deipElasticIP (\ s a -> s{_deipElasticIP = a});+deipElasticIP = lens _deipElasticIP (\ s a -> s{_deipElasticIP = a})  instance AWSRequest DeregisterElasticIP where         type Rs DeregisterElasticIP =
gen/Network/AWS/OpsWorks/DeregisterInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeregisterInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The instance ID. dInstanceId :: Lens' DeregisterInstance Text-dInstanceId = lens _dInstanceId (\ s a -> s{_dInstanceId = a});+dInstanceId = lens _dInstanceId (\ s a -> s{_dInstanceId = a})  instance AWSRequest DeregisterInstance where         type Rs DeregisterInstance =
gen/Network/AWS/OpsWorks/DeregisterRDSDBInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeregisterRDSDBInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The Amazon RDS instance's ARN. drdiRDSDBInstanceARN :: Lens' DeregisterRDSDBInstance Text-drdiRDSDBInstanceARN = lens _drdiRDSDBInstanceARN (\ s a -> s{_drdiRDSDBInstanceARN = a});+drdiRDSDBInstanceARN = lens _drdiRDSDBInstanceARN (\ s a -> s{_drdiRDSDBInstanceARN = a})  instance AWSRequest DeregisterRDSDBInstance where         type Rs DeregisterRDSDBInstance =
gen/Network/AWS/OpsWorks/DeregisterVolume.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DeregisterVolume--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID. dvVolumeId :: Lens' DeregisterVolume Text-dvVolumeId = lens _dvVolumeId (\ s a -> s{_dvVolumeId = a});+dvVolumeId = lens _dvVolumeId (\ s a -> s{_dvVolumeId = a})  instance AWSRequest DeregisterVolume where         type Rs DeregisterVolume = DeregisterVolumeResponse
gen/Network/AWS/OpsWorks/DescribeAgentVersions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeAgentVersions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,16 +63,16 @@     :: DescribeAgentVersions describeAgentVersions =   DescribeAgentVersions'-  {_davConfigurationManager = Nothing, _davStackId = Nothing}+    {_davConfigurationManager = Nothing, _davStackId = Nothing}   -- | The configuration manager. davConfigurationManager :: Lens' DescribeAgentVersions (Maybe StackConfigurationManager)-davConfigurationManager = lens _davConfigurationManager (\ s a -> s{_davConfigurationManager = a});+davConfigurationManager = lens _davConfigurationManager (\ s a -> s{_davConfigurationManager = a})  -- | The stack ID. davStackId :: Lens' DescribeAgentVersions (Maybe Text)-davStackId = lens _davStackId (\ s a -> s{_davStackId = a});+davStackId = lens _davStackId (\ s a -> s{_davStackId = a})  instance AWSRequest DescribeAgentVersions where         type Rs DescribeAgentVersions =@@ -136,15 +136,15 @@     -> DescribeAgentVersionsResponse describeAgentVersionsResponse pResponseStatus_ =   DescribeAgentVersionsResponse'-  {_davrsAgentVersions = Nothing, _davrsResponseStatus = pResponseStatus_}+    {_davrsAgentVersions = Nothing, _davrsResponseStatus = pResponseStatus_}   -- | The agent versions for the specified stack or configuration manager. Note that this value is the complete version number, not the abbreviated number used by the console. davrsAgentVersions :: Lens' DescribeAgentVersionsResponse [AgentVersion]-davrsAgentVersions = lens _davrsAgentVersions (\ s a -> s{_davrsAgentVersions = a}) . _Default . _Coerce;+davrsAgentVersions = lens _davrsAgentVersions (\ s a -> s{_davrsAgentVersions = a}) . _Default . _Coerce  -- | -- | The response status code. davrsResponseStatus :: Lens' DescribeAgentVersionsResponse Int-davrsResponseStatus = lens _davrsResponseStatus (\ s a -> s{_davrsResponseStatus = a});+davrsResponseStatus = lens _davrsResponseStatus (\ s a -> s{_davrsResponseStatus = a})  instance NFData DescribeAgentVersionsResponse where
gen/Network/AWS/OpsWorks/DescribeApps.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeApps--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | An array of app IDs for the apps to be described. If you use this parameter, @DescribeApps@ returns a description of the specified apps. Otherwise, it returns a description of every app. daAppIds :: Lens' DescribeApps [Text]-daAppIds = lens _daAppIds (\ s a -> s{_daAppIds = a}) . _Default . _Coerce;+daAppIds = lens _daAppIds (\ s a -> s{_daAppIds = a}) . _Default . _Coerce  -- | The app stack ID. If you use this parameter, @DescribeApps@ returns a description of the apps in the specified stack. daStackId :: Lens' DescribeApps (Maybe Text)-daStackId = lens _daStackId (\ s a -> s{_daStackId = a});+daStackId = lens _daStackId (\ s a -> s{_daStackId = a})  instance AWSRequest DescribeApps where         type Rs DescribeApps = DescribeAppsResponse@@ -132,15 +132,15 @@     -> DescribeAppsResponse describeAppsResponse pResponseStatus_ =   DescribeAppsResponse'-  {_darsApps = Nothing, _darsResponseStatus = pResponseStatus_}+    {_darsApps = Nothing, _darsResponseStatus = pResponseStatus_}   -- | An array of @App@ objects that describe the specified apps. darsApps :: Lens' DescribeAppsResponse [App]-darsApps = lens _darsApps (\ s a -> s{_darsApps = a}) . _Default . _Coerce;+darsApps = lens _darsApps (\ s a -> s{_darsApps = a}) . _Default . _Coerce  -- | -- | The response status code. darsResponseStatus :: Lens' DescribeAppsResponse Int-darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});+darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a})  instance NFData DescribeAppsResponse where
gen/Network/AWS/OpsWorks/DescribeCommands.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeCommands--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,20 +69,23 @@     :: DescribeCommands describeCommands =   DescribeCommands'-  {_dcDeploymentId = Nothing, _dcInstanceId = Nothing, _dcCommandIds = Nothing}+    { _dcDeploymentId = Nothing+    , _dcInstanceId = Nothing+    , _dcCommandIds = Nothing+    }   -- | The deployment ID. If you include this parameter, @DescribeCommands@ returns a description of the commands associated with the specified deployment. dcDeploymentId :: Lens' DescribeCommands (Maybe Text)-dcDeploymentId = lens _dcDeploymentId (\ s a -> s{_dcDeploymentId = a});+dcDeploymentId = lens _dcDeploymentId (\ s a -> s{_dcDeploymentId = a})  -- | The instance ID. If you include this parameter, @DescribeCommands@ returns a description of the commands associated with the specified instance. dcInstanceId :: Lens' DescribeCommands (Maybe Text)-dcInstanceId = lens _dcInstanceId (\ s a -> s{_dcInstanceId = a});+dcInstanceId = lens _dcInstanceId (\ s a -> s{_dcInstanceId = a})  -- | An array of command IDs. If you include this parameter, @DescribeCommands@ returns a description of the specified commands. Otherwise, it returns a description of every command. dcCommandIds :: Lens' DescribeCommands [Text]-dcCommandIds = lens _dcCommandIds (\ s a -> s{_dcCommandIds = a}) . _Default . _Coerce;+dcCommandIds = lens _dcCommandIds (\ s a -> s{_dcCommandIds = a}) . _Default . _Coerce  instance AWSRequest DescribeCommands where         type Rs DescribeCommands = DescribeCommandsResponse@@ -144,15 +147,15 @@     -> DescribeCommandsResponse describeCommandsResponse pResponseStatus_ =   DescribeCommandsResponse'-  {_dcrsCommands = Nothing, _dcrsResponseStatus = pResponseStatus_}+    {_dcrsCommands = Nothing, _dcrsResponseStatus = pResponseStatus_}   -- | An array of @Command@ objects that describe each of the specified commands. dcrsCommands :: Lens' DescribeCommandsResponse [Command]-dcrsCommands = lens _dcrsCommands (\ s a -> s{_dcrsCommands = a}) . _Default . _Coerce;+dcrsCommands = lens _dcrsCommands (\ s a -> s{_dcrsCommands = a}) . _Default . _Coerce  -- | -- | The response status code. dcrsResponseStatus :: Lens' DescribeCommandsResponse Int-dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a});+dcrsResponseStatus = lens _dcrsResponseStatus (\ s a -> s{_dcrsResponseStatus = a})  instance NFData DescribeCommandsResponse where
gen/Network/AWS/OpsWorks/DescribeDeployments.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeDeployments--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -60,29 +60,29 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ddAppId' - The app ID. If you include this parameter, @DescribeDeployments@ returns a description of the commands associated with the specified app.+-- * 'ddAppId' - The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app. ----- * 'ddDeploymentIds' - An array of deployment IDs to be described. If you include this parameter, @DescribeDeployments@ returns a description of the specified deployments. Otherwise, it returns a description of every deployment.+-- * 'ddDeploymentIds' - An array of deployment IDs to be described. If you include this parameter, the command returns a description of the specified deployments. Otherwise, it returns a description of every deployment. ----- * 'ddStackId' - The stack ID. If you include this parameter, @DescribeDeployments@ returns a description of the commands associated with the specified stack.+-- * 'ddStackId' - The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack. describeDeployments     :: DescribeDeployments describeDeployments =   DescribeDeployments'-  {_ddAppId = Nothing, _ddDeploymentIds = Nothing, _ddStackId = Nothing}+    {_ddAppId = Nothing, _ddDeploymentIds = Nothing, _ddStackId = Nothing}  --- | The app ID. If you include this parameter, @DescribeDeployments@ returns a description of the commands associated with the specified app.+-- | The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app. ddAppId :: Lens' DescribeDeployments (Maybe Text)-ddAppId = lens _ddAppId (\ s a -> s{_ddAppId = a});+ddAppId = lens _ddAppId (\ s a -> s{_ddAppId = a}) --- | An array of deployment IDs to be described. If you include this parameter, @DescribeDeployments@ returns a description of the specified deployments. Otherwise, it returns a description of every deployment.+-- | An array of deployment IDs to be described. If you include this parameter, the command returns a description of the specified deployments. Otherwise, it returns a description of every deployment. ddDeploymentIds :: Lens' DescribeDeployments [Text]-ddDeploymentIds = lens _ddDeploymentIds (\ s a -> s{_ddDeploymentIds = a}) . _Default . _Coerce;+ddDeploymentIds = lens _ddDeploymentIds (\ s a -> s{_ddDeploymentIds = a}) . _Default . _Coerce --- | The stack ID. If you include this parameter, @DescribeDeployments@ returns a description of the commands associated with the specified stack.+-- | The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack. ddStackId :: Lens' DescribeDeployments (Maybe Text)-ddStackId = lens _ddStackId (\ s a -> s{_ddStackId = a});+ddStackId = lens _ddStackId (\ s a -> s{_ddStackId = a})  instance AWSRequest DescribeDeployments where         type Rs DescribeDeployments =@@ -146,15 +146,15 @@     -> DescribeDeploymentsResponse describeDeploymentsResponse pResponseStatus_ =   DescribeDeploymentsResponse'-  {_ddrsDeployments = Nothing, _ddrsResponseStatus = pResponseStatus_}+    {_ddrsDeployments = Nothing, _ddrsResponseStatus = pResponseStatus_}   -- | An array of @Deployment@ objects that describe the deployments. ddrsDeployments :: Lens' DescribeDeploymentsResponse [Deployment]-ddrsDeployments = lens _ddrsDeployments (\ s a -> s{_ddrsDeployments = a}) . _Default . _Coerce;+ddrsDeployments = lens _ddrsDeployments (\ s a -> s{_ddrsDeployments = a}) . _Default . _Coerce  -- | -- | The response status code. ddrsResponseStatus :: Lens' DescribeDeploymentsResponse Int-ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});+ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a})  instance NFData DescribeDeploymentsResponse where
gen/Network/AWS/OpsWorks/DescribeEcsClusters.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeEcsClusters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -79,28 +79,28 @@     :: DescribeEcsClusters describeEcsClusters =   DescribeEcsClusters'-  { _decNextToken = Nothing-  , _decStackId = Nothing-  , _decMaxResults = Nothing-  , _decEcsClusterARNs = Nothing-  }+    { _decNextToken = Nothing+    , _decStackId = Nothing+    , _decMaxResults = Nothing+    , _decEcsClusterARNs = Nothing+    }   -- | If the previous paginated request did not return all of the remaining results, the response object's@NextToken@ parameter value is set to a token. To retrieve the next set of results, call @DescribeEcsClusters@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ . decNextToken :: Lens' DescribeEcsClusters (Maybe Text)-decNextToken = lens _decNextToken (\ s a -> s{_decNextToken = a});+decNextToken = lens _decNextToken (\ s a -> s{_decNextToken = a})  -- | A stack ID. @DescribeEcsClusters@ returns a description of the cluster that is registered with the stack. decStackId :: Lens' DescribeEcsClusters (Maybe Text)-decStackId = lens _decStackId (\ s a -> s{_decStackId = a});+decStackId = lens _decStackId (\ s a -> s{_decStackId = 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 @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results. decMaxResults :: Lens' DescribeEcsClusters (Maybe Int)-decMaxResults = lens _decMaxResults (\ s a -> s{_decMaxResults = a});+decMaxResults = lens _decMaxResults (\ s a -> s{_decMaxResults = a})  -- | A list of ARNs, one for each cluster to be described. decEcsClusterARNs :: Lens' DescribeEcsClusters [Text]-decEcsClusterARNs = lens _decEcsClusterARNs (\ s a -> s{_decEcsClusterARNs = a}) . _Default . _Coerce;+decEcsClusterARNs = lens _decEcsClusterARNs (\ s a -> s{_decEcsClusterARNs = a}) . _Default . _Coerce  instance AWSPager DescribeEcsClusters where         page rq rs@@ -176,22 +176,22 @@     -> DescribeEcsClustersResponse describeEcsClustersResponse pResponseStatus_ =   DescribeEcsClustersResponse'-  { _decrsNextToken = Nothing-  , _decrsEcsClusters = Nothing-  , _decrsResponseStatus = pResponseStatus_-  }+    { _decrsNextToken = Nothing+    , _decrsEcsClusters = Nothing+    , _decrsResponseStatus = pResponseStatus_+    }   -- | If a paginated request does not return all of the remaining results, this parameter is set to a token that you can assign to the request object's @NextToken@ parameter to retrieve the next set of results. If the previous paginated request returned all of the remaining results, this parameter is set to @null@ . decrsNextToken :: Lens' DescribeEcsClustersResponse (Maybe Text)-decrsNextToken = lens _decrsNextToken (\ s a -> s{_decrsNextToken = a});+decrsNextToken = lens _decrsNextToken (\ s a -> s{_decrsNextToken = a})  -- | A list of @EcsCluster@ objects containing the cluster descriptions. decrsEcsClusters :: Lens' DescribeEcsClustersResponse [EcsCluster]-decrsEcsClusters = lens _decrsEcsClusters (\ s a -> s{_decrsEcsClusters = a}) . _Default . _Coerce;+decrsEcsClusters = lens _decrsEcsClusters (\ s a -> s{_decrsEcsClusters = a}) . _Default . _Coerce  -- | -- | The response status code. decrsResponseStatus :: Lens' DescribeEcsClustersResponse Int-decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a});+decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a})  instance NFData DescribeEcsClustersResponse where
gen/Network/AWS/OpsWorks/DescribeElasticIPs.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeElasticIPs--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,20 +69,20 @@     :: DescribeElasticIPs describeElasticIPs =   DescribeElasticIPs'-  {_deiInstanceId = Nothing, _deiIPs = Nothing, _deiStackId = Nothing}+    {_deiInstanceId = Nothing, _deiIPs = Nothing, _deiStackId = Nothing}   -- | The instance ID. If you include this parameter, @DescribeElasticIps@ returns a description of the Elastic IP addresses associated with the specified instance. deiInstanceId :: Lens' DescribeElasticIPs (Maybe Text)-deiInstanceId = lens _deiInstanceId (\ s a -> s{_deiInstanceId = a});+deiInstanceId = lens _deiInstanceId (\ s a -> s{_deiInstanceId = a})  -- | An array of Elastic IP addresses to be described. If you include this parameter, @DescribeElasticIps@ returns a description of the specified Elastic IP addresses. Otherwise, it returns a description of every Elastic IP address. deiIPs :: Lens' DescribeElasticIPs [Text]-deiIPs = lens _deiIPs (\ s a -> s{_deiIPs = a}) . _Default . _Coerce;+deiIPs = lens _deiIPs (\ s a -> s{_deiIPs = a}) . _Default . _Coerce  -- | A stack ID. If you include this parameter, @DescribeElasticIps@ returns a description of the Elastic IP addresses that are registered with the specified stack. deiStackId :: Lens' DescribeElasticIPs (Maybe Text)-deiStackId = lens _deiStackId (\ s a -> s{_deiStackId = a});+deiStackId = lens _deiStackId (\ s a -> s{_deiStackId = a})  instance AWSRequest DescribeElasticIPs where         type Rs DescribeElasticIPs =@@ -146,15 +146,15 @@     -> DescribeElasticIPsResponse describeElasticIPsResponse pResponseStatus_ =   DescribeElasticIPsResponse'-  {_deirsElasticIPs = Nothing, _deirsResponseStatus = pResponseStatus_}+    {_deirsElasticIPs = Nothing, _deirsResponseStatus = pResponseStatus_}   -- | An @ElasticIps@ object that describes the specified Elastic IP addresses. deirsElasticIPs :: Lens' DescribeElasticIPsResponse [ElasticIP]-deirsElasticIPs = lens _deirsElasticIPs (\ s a -> s{_deirsElasticIPs = a}) . _Default . _Coerce;+deirsElasticIPs = lens _deirsElasticIPs (\ s a -> s{_deirsElasticIPs = a}) . _Default . _Coerce  -- | -- | The response status code. deirsResponseStatus :: Lens' DescribeElasticIPsResponse Int-deirsResponseStatus = lens _deirsResponseStatus (\ s a -> s{_deirsResponseStatus = a});+deirsResponseStatus = lens _deirsResponseStatus (\ s a -> s{_deirsResponseStatus = a})  instance NFData DescribeElasticIPsResponse where
gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeElasticLoadBalancers--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,16 +65,16 @@     :: DescribeElasticLoadBalancers describeElasticLoadBalancers =   DescribeElasticLoadBalancers'-  {_delbLayerIds = Nothing, _delbStackId = Nothing}+    {_delbLayerIds = Nothing, _delbStackId = Nothing}   -- | A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers. delbLayerIds :: Lens' DescribeElasticLoadBalancers [Text]-delbLayerIds = lens _delbLayerIds (\ s a -> s{_delbLayerIds = a}) . _Default . _Coerce;+delbLayerIds = lens _delbLayerIds (\ s a -> s{_delbLayerIds = a}) . _Default . _Coerce  -- | A stack ID. The action describes the stack's Elastic Load Balancing instances. delbStackId :: Lens' DescribeElasticLoadBalancers (Maybe Text)-delbStackId = lens _delbStackId (\ s a -> s{_delbStackId = a});+delbStackId = lens _delbStackId (\ s a -> s{_delbStackId = a})  instance AWSRequest DescribeElasticLoadBalancers          where@@ -138,18 +138,18 @@     -> DescribeElasticLoadBalancersResponse describeElasticLoadBalancersResponse pResponseStatus_ =   DescribeElasticLoadBalancersResponse'-  { _delbrsElasticLoadBalancers = Nothing-  , _delbrsResponseStatus = pResponseStatus_-  }+    { _delbrsElasticLoadBalancers = Nothing+    , _delbrsResponseStatus = pResponseStatus_+    }   -- | A list of @ElasticLoadBalancer@ objects that describe the specified Elastic Load Balancing instances. delbrsElasticLoadBalancers :: Lens' DescribeElasticLoadBalancersResponse [ElasticLoadBalancer]-delbrsElasticLoadBalancers = lens _delbrsElasticLoadBalancers (\ s a -> s{_delbrsElasticLoadBalancers = a}) . _Default . _Coerce;+delbrsElasticLoadBalancers = lens _delbrsElasticLoadBalancers (\ s a -> s{_delbrsElasticLoadBalancers = a}) . _Default . _Coerce  -- | -- | The response status code. delbrsResponseStatus :: Lens' DescribeElasticLoadBalancersResponse Int-delbrsResponseStatus = lens _delbrsResponseStatus (\ s a -> s{_delbrsResponseStatus = a});+delbrsResponseStatus = lens _delbrsResponseStatus (\ s a -> s{_delbrsResponseStatus = a})  instance NFData DescribeElasticLoadBalancersResponse          where
gen/Network/AWS/OpsWorks/DescribeInstances.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeInstances--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,20 +69,20 @@     :: DescribeInstances describeInstances =   DescribeInstances'-  {_diInstanceIds = Nothing, _diStackId = Nothing, _diLayerId = Nothing}+    {_diInstanceIds = Nothing, _diStackId = Nothing, _diLayerId = Nothing}   -- | An array of instance IDs to be described. If you use this parameter, @DescribeInstances@ returns a description of the specified instances. Otherwise, it returns a description of every instance. diInstanceIds :: Lens' DescribeInstances [Text]-diInstanceIds = lens _diInstanceIds (\ s a -> s{_diInstanceIds = a}) . _Default . _Coerce;+diInstanceIds = lens _diInstanceIds (\ s a -> s{_diInstanceIds = a}) . _Default . _Coerce  -- | A stack ID. If you use this parameter, @DescribeInstances@ returns descriptions of the instances associated with the specified stack. diStackId :: Lens' DescribeInstances (Maybe Text)-diStackId = lens _diStackId (\ s a -> s{_diStackId = a});+diStackId = lens _diStackId (\ s a -> s{_diStackId = a})  -- | A layer ID. If you use this parameter, @DescribeInstances@ returns descriptions of the instances associated with the specified layer. diLayerId :: Lens' DescribeInstances (Maybe Text)-diLayerId = lens _diLayerId (\ s a -> s{_diLayerId = a});+diLayerId = lens _diLayerId (\ s a -> s{_diLayerId = a})  instance AWSRequest DescribeInstances where         type Rs DescribeInstances = DescribeInstancesResponse@@ -145,15 +145,15 @@     -> DescribeInstancesResponse describeInstancesResponse pResponseStatus_ =   DescribeInstancesResponse'-  {_dirsInstances = Nothing, _dirsResponseStatus = pResponseStatus_}+    {_dirsInstances = Nothing, _dirsResponseStatus = pResponseStatus_}   -- | An array of @Instance@ objects that describe the instances. dirsInstances :: Lens' DescribeInstancesResponse [Instance]-dirsInstances = lens _dirsInstances (\ s a -> s{_dirsInstances = a}) . _Default . _Coerce;+dirsInstances = lens _dirsInstances (\ s a -> s{_dirsInstances = a}) . _Default . _Coerce  -- | -- | The response status code. dirsResponseStatus :: Lens' DescribeInstancesResponse Int-dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a})  instance NFData DescribeInstancesResponse where
gen/Network/AWS/OpsWorks/DescribeLayers.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeLayers--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | An array of layer IDs that specify the layers to be described. If you omit this parameter, @DescribeLayers@ returns a description of every layer in the specified stack. dlLayerIds :: Lens' DescribeLayers [Text]-dlLayerIds = lens _dlLayerIds (\ s a -> s{_dlLayerIds = a}) . _Default . _Coerce;+dlLayerIds = lens _dlLayerIds (\ s a -> s{_dlLayerIds = a}) . _Default . _Coerce  -- | The stack ID. dlStackId :: Lens' DescribeLayers (Maybe Text)-dlStackId = lens _dlStackId (\ s a -> s{_dlStackId = a});+dlStackId = lens _dlStackId (\ s a -> s{_dlStackId = a})  instance AWSRequest DescribeLayers where         type Rs DescribeLayers = DescribeLayersResponse@@ -132,15 +132,15 @@     -> DescribeLayersResponse describeLayersResponse pResponseStatus_ =   DescribeLayersResponse'-  {_dlrsLayers = Nothing, _dlrsResponseStatus = pResponseStatus_}+    {_dlrsLayers = Nothing, _dlrsResponseStatus = pResponseStatus_}   -- | An array of @Layer@ objects that describe the layers. dlrsLayers :: Lens' DescribeLayersResponse [Layer]-dlrsLayers = lens _dlrsLayers (\ s a -> s{_dlrsLayers = a}) . _Default . _Coerce;+dlrsLayers = lens _dlrsLayers (\ s a -> s{_dlrsLayers = a}) . _Default . _Coerce  -- | -- | The response status code. dlrsResponseStatus :: Lens' DescribeLayersResponse Int-dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a});+dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a})  instance NFData DescribeLayersResponse where
gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,7 +65,7 @@  -- | An array of layer IDs. dlbasLayerIds :: Lens' DescribeLoadBasedAutoScaling [Text]-dlbasLayerIds = lens _dlbasLayerIds (\ s a -> s{_dlbasLayerIds = a}) . _Coerce;+dlbasLayerIds = lens _dlbasLayerIds (\ s a -> s{_dlbasLayerIds = a}) . _Coerce  instance AWSRequest DescribeLoadBasedAutoScaling          where@@ -128,18 +128,18 @@     -> DescribeLoadBasedAutoScalingResponse describeLoadBasedAutoScalingResponse pResponseStatus_ =   DescribeLoadBasedAutoScalingResponse'-  { _dlbasrsLoadBasedAutoScalingConfigurations = Nothing-  , _dlbasrsResponseStatus = pResponseStatus_-  }+    { _dlbasrsLoadBasedAutoScalingConfigurations = Nothing+    , _dlbasrsResponseStatus = pResponseStatus_+    }   -- | An array of @LoadBasedAutoScalingConfiguration@ objects that describe each layer's configuration. dlbasrsLoadBasedAutoScalingConfigurations :: Lens' DescribeLoadBasedAutoScalingResponse [LoadBasedAutoScalingConfiguration]-dlbasrsLoadBasedAutoScalingConfigurations = lens _dlbasrsLoadBasedAutoScalingConfigurations (\ s a -> s{_dlbasrsLoadBasedAutoScalingConfigurations = a}) . _Default . _Coerce;+dlbasrsLoadBasedAutoScalingConfigurations = lens _dlbasrsLoadBasedAutoScalingConfigurations (\ s a -> s{_dlbasrsLoadBasedAutoScalingConfigurations = a}) . _Default . _Coerce  -- | -- | The response status code. dlbasrsResponseStatus :: Lens' DescribeLoadBasedAutoScalingResponse Int-dlbasrsResponseStatus = lens _dlbasrsResponseStatus (\ s a -> s{_dlbasrsResponseStatus = a});+dlbasrsResponseStatus = lens _dlbasrsResponseStatus (\ s a -> s{_dlbasrsResponseStatus = a})  instance NFData DescribeLoadBasedAutoScalingResponse          where
gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeMyUserProfile--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -113,15 +113,15 @@     -> DescribeMyUserProfileResponse describeMyUserProfileResponse pResponseStatus_ =   DescribeMyUserProfileResponse'-  {_dmuprsUserProfile = Nothing, _dmuprsResponseStatus = pResponseStatus_}+    {_dmuprsUserProfile = Nothing, _dmuprsResponseStatus = pResponseStatus_}   -- | A @UserProfile@ object that describes the user's SSH information. dmuprsUserProfile :: Lens' DescribeMyUserProfileResponse (Maybe SelfUserProfile)-dmuprsUserProfile = lens _dmuprsUserProfile (\ s a -> s{_dmuprsUserProfile = a});+dmuprsUserProfile = lens _dmuprsUserProfile (\ s a -> s{_dmuprsUserProfile = a})  -- | -- | The response status code. dmuprsResponseStatus :: Lens' DescribeMyUserProfileResponse Int-dmuprsResponseStatus = lens _dmuprsResponseStatus (\ s a -> s{_dmuprsResponseStatus = a});+dmuprsResponseStatus = lens _dmuprsResponseStatus (\ s a -> s{_dmuprsResponseStatus = a})  instance NFData DescribeMyUserProfileResponse where
+ gen/Network/AWS/OpsWorks/DescribeOperatingSystems.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.OpsWorks.DescribeOperatingSystems+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the operating systems that are supported by AWS OpsWorks Stacks.+--+--+module Network.AWS.OpsWorks.DescribeOperatingSystems+    (+    -- * Creating a Request+      describeOperatingSystems+    , DescribeOperatingSystems++    -- * Destructuring the Response+    , describeOperatingSystemsResponse+    , DescribeOperatingSystemsResponse+    -- * Response Lenses+    , dosrsOperatingSystems+    , dosrsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.OpsWorks.Types+import Network.AWS.OpsWorks.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeOperatingSystems' smart constructor.+data DescribeOperatingSystems =+  DescribeOperatingSystems'+  deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeOperatingSystems' with the minimum fields required to make a request.+--+describeOperatingSystems+    :: DescribeOperatingSystems+describeOperatingSystems = DescribeOperatingSystems'+++instance AWSRequest DescribeOperatingSystems where+        type Rs DescribeOperatingSystems =+             DescribeOperatingSystemsResponse+        request = postJSON opsWorks+        response+          = receiveJSON+              (\ s h x ->+                 DescribeOperatingSystemsResponse' <$>+                   (x .?> "OperatingSystems" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DescribeOperatingSystems where++instance NFData DescribeOperatingSystems where++instance ToHeaders DescribeOperatingSystems where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("OpsWorks_20130218.DescribeOperatingSystems" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeOperatingSystems where+        toJSON = const (Object mempty)++instance ToPath DescribeOperatingSystems where+        toPath = const "/"++instance ToQuery DescribeOperatingSystems where+        toQuery = const mempty++-- | The response to a @DescribeOperatingSystems@ request.+--+--+--+-- /See:/ 'describeOperatingSystemsResponse' smart constructor.+data DescribeOperatingSystemsResponse = DescribeOperatingSystemsResponse'+  { _dosrsOperatingSystems :: !(Maybe [OperatingSystem])+  , _dosrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeOperatingSystemsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dosrsOperatingSystems' - Undocumented member.+--+-- * 'dosrsResponseStatus' - -- | The response status code.+describeOperatingSystemsResponse+    :: Int -- ^ 'dosrsResponseStatus'+    -> DescribeOperatingSystemsResponse+describeOperatingSystemsResponse pResponseStatus_ =+  DescribeOperatingSystemsResponse'+    {_dosrsOperatingSystems = Nothing, _dosrsResponseStatus = pResponseStatus_}+++-- | Undocumented member.+dosrsOperatingSystems :: Lens' DescribeOperatingSystemsResponse [OperatingSystem]+dosrsOperatingSystems = lens _dosrsOperatingSystems (\ s a -> s{_dosrsOperatingSystems = a}) . _Default . _Coerce++-- | -- | The response status code.+dosrsResponseStatus :: Lens' DescribeOperatingSystemsResponse Int+dosrsResponseStatus = lens _dosrsResponseStatus (\ s a -> s{_dosrsResponseStatus = a})++instance NFData DescribeOperatingSystemsResponse+         where
gen/Network/AWS/OpsWorks/DescribePermissions.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribePermissions--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,11 +69,11 @@  -- | The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . dpIAMUserARN :: Lens' DescribePermissions (Maybe Text)-dpIAMUserARN = lens _dpIAMUserARN (\ s a -> s{_dpIAMUserARN = a});+dpIAMUserARN = lens _dpIAMUserARN (\ s a -> s{_dpIAMUserARN = a})  -- | The stack ID. dpStackId :: Lens' DescribePermissions (Maybe Text)-dpStackId = lens _dpStackId (\ s a -> s{_dpStackId = a});+dpStackId = lens _dpStackId (\ s a -> s{_dpStackId = a})  instance AWSRequest DescribePermissions where         type Rs DescribePermissions =@@ -136,15 +136,15 @@     -> DescribePermissionsResponse describePermissionsResponse pResponseStatus_ =   DescribePermissionsResponse'-  {_dprsPermissions = Nothing, _dprsResponseStatus = pResponseStatus_}+    {_dprsPermissions = Nothing, _dprsResponseStatus = pResponseStatus_}   -- | An array of @Permission@ objects that describe the stack permissions.     * If the request object contains only a stack ID, the array contains a @Permission@ object with permissions for each of the stack IAM ARNs.     * If the request object contains only an IAM ARN, the array contains a @Permission@ object with permissions for each of the user's stack IDs.     * If the request contains a stack ID and an IAM ARN, the array contains a single @Permission@ object with permissions for the specified stack and IAM ARN. dprsPermissions :: Lens' DescribePermissionsResponse [Permission]-dprsPermissions = lens _dprsPermissions (\ s a -> s{_dprsPermissions = a}) . _Default . _Coerce;+dprsPermissions = lens _dprsPermissions (\ s a -> s{_dprsPermissions = a}) . _Default . _Coerce  -- | -- | The response status code. dprsResponseStatus :: Lens' DescribePermissionsResponse Int-dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a});+dprsResponseStatus = lens _dprsResponseStatus (\ s a -> s{_dprsResponseStatus = a})  instance NFData DescribePermissionsResponse where
gen/Network/AWS/OpsWorks/DescribeRAIdArrays.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeRAIdArrays--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     :: DescribeRAIdArrays describeRAIdArrays =   DescribeRAIdArrays'-  { _draiaInstanceId = Nothing-  , _draiaRAIdArrayIds = Nothing-  , _draiaStackId = Nothing-  }+    { _draiaInstanceId = Nothing+    , _draiaRAIdArrayIds = Nothing+    , _draiaStackId = Nothing+    }   -- | The instance ID. If you use this parameter, @DescribeRaidArrays@ returns descriptions of the RAID arrays associated with the specified instance. draiaInstanceId :: Lens' DescribeRAIdArrays (Maybe Text)-draiaInstanceId = lens _draiaInstanceId (\ s a -> s{_draiaInstanceId = a});+draiaInstanceId = lens _draiaInstanceId (\ s a -> s{_draiaInstanceId = a})  -- | An array of RAID array IDs. If you use this parameter, @DescribeRaidArrays@ returns descriptions of the specified arrays. Otherwise, it returns a description of every array. draiaRAIdArrayIds :: Lens' DescribeRAIdArrays [Text]-draiaRAIdArrayIds = lens _draiaRAIdArrayIds (\ s a -> s{_draiaRAIdArrayIds = a}) . _Default . _Coerce;+draiaRAIdArrayIds = lens _draiaRAIdArrayIds (\ s a -> s{_draiaRAIdArrayIds = a}) . _Default . _Coerce  -- | The stack ID. draiaStackId :: Lens' DescribeRAIdArrays (Maybe Text)-draiaStackId = lens _draiaStackId (\ s a -> s{_draiaStackId = a});+draiaStackId = lens _draiaStackId (\ s a -> s{_draiaStackId = a})  instance AWSRequest DescribeRAIdArrays where         type Rs DescribeRAIdArrays =@@ -149,15 +149,15 @@     -> DescribeRAIdArraysResponse describeRAIdArraysResponse pResponseStatus_ =   DescribeRAIdArraysResponse'-  {_draiarsRAIdArrays = Nothing, _draiarsResponseStatus = pResponseStatus_}+    {_draiarsRAIdArrays = Nothing, _draiarsResponseStatus = pResponseStatus_}   -- | A @RaidArrays@ object that describes the specified RAID arrays. draiarsRAIdArrays :: Lens' DescribeRAIdArraysResponse [RAIdArray]-draiarsRAIdArrays = lens _draiarsRAIdArrays (\ s a -> s{_draiarsRAIdArrays = a}) . _Default . _Coerce;+draiarsRAIdArrays = lens _draiarsRAIdArrays (\ s a -> s{_draiarsRAIdArrays = a}) . _Default . _Coerce  -- | -- | The response status code. draiarsResponseStatus :: Lens' DescribeRAIdArraysResponse Int-draiarsResponseStatus = lens _draiarsResponseStatus (\ s a -> s{_draiarsResponseStatus = a});+draiarsResponseStatus = lens _draiarsResponseStatus (\ s a -> s{_draiarsResponseStatus = a})  instance NFData DescribeRAIdArraysResponse where
gen/Network/AWS/OpsWorks/DescribeRDSDBInstances.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeRDSDBInstances--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,16 +68,16 @@     -> DescribeRDSDBInstances describeRDSDBInstances pStackId_ =   DescribeRDSDBInstances'-  {_drdiRDSDBInstanceARNs = Nothing, _drdiStackId = pStackId_}+    {_drdiRDSDBInstanceARNs = Nothing, _drdiStackId = pStackId_}   -- | An array containing the ARNs of the instances to be described. drdiRDSDBInstanceARNs :: Lens' DescribeRDSDBInstances [Text]-drdiRDSDBInstanceARNs = lens _drdiRDSDBInstanceARNs (\ s a -> s{_drdiRDSDBInstanceARNs = a}) . _Default . _Coerce;+drdiRDSDBInstanceARNs = lens _drdiRDSDBInstanceARNs (\ s a -> s{_drdiRDSDBInstanceARNs = a}) . _Default . _Coerce  -- | The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances. drdiStackId :: Lens' DescribeRDSDBInstances Text-drdiStackId = lens _drdiStackId (\ s a -> s{_drdiStackId = a});+drdiStackId = lens _drdiStackId (\ s a -> s{_drdiStackId = a})  instance AWSRequest DescribeRDSDBInstances where         type Rs DescribeRDSDBInstances =@@ -140,15 +140,15 @@     -> DescribeRDSDBInstancesResponse describeRDSDBInstancesResponse pResponseStatus_ =   DescribeRDSDBInstancesResponse'-  {_drdirsRDSDBInstances = Nothing, _drdirsResponseStatus = pResponseStatus_}+    {_drdirsRDSDBInstances = Nothing, _drdirsResponseStatus = pResponseStatus_}   -- | An a array of @RdsDbInstance@ objects that describe the instances. drdirsRDSDBInstances :: Lens' DescribeRDSDBInstancesResponse [RDSDBInstance]-drdirsRDSDBInstances = lens _drdirsRDSDBInstances (\ s a -> s{_drdirsRDSDBInstances = a}) . _Default . _Coerce;+drdirsRDSDBInstances = lens _drdirsRDSDBInstances (\ s a -> s{_drdirsRDSDBInstances = a}) . _Default . _Coerce  -- | -- | The response status code. drdirsResponseStatus :: Lens' DescribeRDSDBInstancesResponse Int-drdirsResponseStatus = lens _drdirsResponseStatus (\ s a -> s{_drdirsResponseStatus = a});+drdirsResponseStatus = lens _drdirsResponseStatus (\ s a -> s{_drdirsResponseStatus = a})  instance NFData DescribeRDSDBInstancesResponse where
gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeServiceErrors--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,23 +71,23 @@     :: DescribeServiceErrors describeServiceErrors =   DescribeServiceErrors'-  { _dseInstanceId = Nothing-  , _dseStackId = Nothing-  , _dseServiceErrorIds = Nothing-  }+    { _dseInstanceId = Nothing+    , _dseStackId = Nothing+    , _dseServiceErrorIds = Nothing+    }   -- | The instance ID. If you use this parameter, @DescribeServiceErrors@ returns descriptions of the errors associated with the specified instance. dseInstanceId :: Lens' DescribeServiceErrors (Maybe Text)-dseInstanceId = lens _dseInstanceId (\ s a -> s{_dseInstanceId = a});+dseInstanceId = lens _dseInstanceId (\ s a -> s{_dseInstanceId = a})  -- | The stack ID. If you use this parameter, @DescribeServiceErrors@ returns descriptions of the errors associated with the specified stack. dseStackId :: Lens' DescribeServiceErrors (Maybe Text)-dseStackId = lens _dseStackId (\ s a -> s{_dseStackId = a});+dseStackId = lens _dseStackId (\ s a -> s{_dseStackId = a})  -- | An array of service error IDs. If you use this parameter, @DescribeServiceErrors@ returns descriptions of the specified errors. Otherwise, it returns a description of every error. dseServiceErrorIds :: Lens' DescribeServiceErrors [Text]-dseServiceErrorIds = lens _dseServiceErrorIds (\ s a -> s{_dseServiceErrorIds = a}) . _Default . _Coerce;+dseServiceErrorIds = lens _dseServiceErrorIds (\ s a -> s{_dseServiceErrorIds = a}) . _Default . _Coerce  instance AWSRequest DescribeServiceErrors where         type Rs DescribeServiceErrors =@@ -151,15 +151,15 @@     -> DescribeServiceErrorsResponse describeServiceErrorsResponse pResponseStatus_ =   DescribeServiceErrorsResponse'-  {_dsersServiceErrors = Nothing, _dsersResponseStatus = pResponseStatus_}+    {_dsersServiceErrors = Nothing, _dsersResponseStatus = pResponseStatus_}   -- | An array of @ServiceError@ objects that describe the specified service errors. dsersServiceErrors :: Lens' DescribeServiceErrorsResponse [ServiceError']-dsersServiceErrors = lens _dsersServiceErrors (\ s a -> s{_dsersServiceErrors = a}) . _Default . _Coerce;+dsersServiceErrors = lens _dsersServiceErrors (\ s a -> s{_dsersServiceErrors = a}) . _Default . _Coerce  -- | -- | The response status code. dsersResponseStatus :: Lens' DescribeServiceErrorsResponse Int-dsersResponseStatus = lens _dsersResponseStatus (\ s a -> s{_dsersResponseStatus = a});+dsersResponseStatus = lens _dsersResponseStatus (\ s a -> s{_dsersResponseStatus = a})  instance NFData DescribeServiceErrorsResponse where
gen/Network/AWS/OpsWorks/DescribeStackProvisioningParameters.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeStackProvisioningParameters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,7 +67,7 @@  -- | The stack ID dsppStackId :: Lens' DescribeStackProvisioningParameters Text-dsppStackId = lens _dsppStackId (\ s a -> s{_dsppStackId = a});+dsppStackId = lens _dsppStackId (\ s a -> s{_dsppStackId = a})  instance AWSRequest            DescribeStackProvisioningParameters@@ -141,23 +141,23 @@     -> DescribeStackProvisioningParametersResponse describeStackProvisioningParametersResponse pResponseStatus_ =   DescribeStackProvisioningParametersResponse'-  { _dspprsAgentInstallerURL = Nothing-  , _dspprsParameters = Nothing-  , _dspprsResponseStatus = pResponseStatus_-  }+    { _dspprsAgentInstallerURL = Nothing+    , _dspprsParameters = Nothing+    , _dspprsResponseStatus = pResponseStatus_+    }   -- | The AWS OpsWorks Stacks agent installer's URL. dspprsAgentInstallerURL :: Lens' DescribeStackProvisioningParametersResponse (Maybe Text)-dspprsAgentInstallerURL = lens _dspprsAgentInstallerURL (\ s a -> s{_dspprsAgentInstallerURL = a});+dspprsAgentInstallerURL = lens _dspprsAgentInstallerURL (\ s a -> s{_dspprsAgentInstallerURL = a})  -- | An embedded object that contains the provisioning parameters. dspprsParameters :: Lens' DescribeStackProvisioningParametersResponse (HashMap Text Text)-dspprsParameters = lens _dspprsParameters (\ s a -> s{_dspprsParameters = a}) . _Default . _Map;+dspprsParameters = lens _dspprsParameters (\ s a -> s{_dspprsParameters = a}) . _Default . _Map  -- | -- | The response status code. dspprsResponseStatus :: Lens' DescribeStackProvisioningParametersResponse Int-dspprsResponseStatus = lens _dspprsResponseStatus (\ s a -> s{_dspprsResponseStatus = a});+dspprsResponseStatus = lens _dspprsResponseStatus (\ s a -> s{_dspprsResponseStatus = a})  instance NFData            DescribeStackProvisioningParametersResponse
gen/Network/AWS/OpsWorks/DescribeStackSummary.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeStackSummary--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,7 +65,7 @@  -- | The stack ID. dssStackId :: Lens' DescribeStackSummary Text-dssStackId = lens _dssStackId (\ s a -> s{_dssStackId = a});+dssStackId = lens _dssStackId (\ s a -> s{_dssStackId = a})  instance AWSRequest DescribeStackSummary where         type Rs DescribeStackSummary =@@ -125,15 +125,15 @@     -> DescribeStackSummaryResponse describeStackSummaryResponse pResponseStatus_ =   DescribeStackSummaryResponse'-  {_dssrsStackSummary = Nothing, _dssrsResponseStatus = pResponseStatus_}+    {_dssrsStackSummary = Nothing, _dssrsResponseStatus = pResponseStatus_}   -- | A @StackSummary@ object that contains the results. dssrsStackSummary :: Lens' DescribeStackSummaryResponse (Maybe StackSummary)-dssrsStackSummary = lens _dssrsStackSummary (\ s a -> s{_dssrsStackSummary = a});+dssrsStackSummary = lens _dssrsStackSummary (\ s a -> s{_dssrsStackSummary = a})  -- | -- | The response status code. dssrsResponseStatus :: Lens' DescribeStackSummaryResponse Int-dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a});+dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a})  instance NFData DescribeStackSummaryResponse where
gen/Network/AWS/OpsWorks/DescribeStacks.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeStacks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | An array of stack IDs that specify the stacks to be described. If you omit this parameter, @DescribeStacks@ returns a description of every stack. dsStackIds :: Lens' DescribeStacks [Text]-dsStackIds = lens _dsStackIds (\ s a -> s{_dsStackIds = a}) . _Default . _Coerce;+dsStackIds = lens _dsStackIds (\ s a -> s{_dsStackIds = a}) . _Default . _Coerce  instance AWSRequest DescribeStacks where         type Rs DescribeStacks = DescribeStacksResponse@@ -122,15 +122,15 @@     -> DescribeStacksResponse describeStacksResponse pResponseStatus_ =   DescribeStacksResponse'-  {_dsrsStacks = Nothing, _dsrsResponseStatus = pResponseStatus_}+    {_dsrsStacks = Nothing, _dsrsResponseStatus = pResponseStatus_}   -- | An array of @Stack@ objects that describe the stacks. dsrsStacks :: Lens' DescribeStacksResponse [Stack]-dsrsStacks = lens _dsrsStacks (\ s a -> s{_dsrsStacks = a}) . _Default . _Coerce;+dsrsStacks = lens _dsrsStacks (\ s a -> s{_dsrsStacks = a}) . _Default . _Coerce  -- | -- | The response status code. dsrsResponseStatus :: Lens' DescribeStacksResponse Int-dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a});+dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a})  instance NFData DescribeStacksResponse where
gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,7 +65,7 @@  -- | An array of instance IDs. dtbasInstanceIds :: Lens' DescribeTimeBasedAutoScaling [Text]-dtbasInstanceIds = lens _dtbasInstanceIds (\ s a -> s{_dtbasInstanceIds = a}) . _Coerce;+dtbasInstanceIds = lens _dtbasInstanceIds (\ s a -> s{_dtbasInstanceIds = a}) . _Coerce  instance AWSRequest DescribeTimeBasedAutoScaling          where@@ -129,18 +129,18 @@     -> DescribeTimeBasedAutoScalingResponse describeTimeBasedAutoScalingResponse pResponseStatus_ =   DescribeTimeBasedAutoScalingResponse'-  { _dtbasrsTimeBasedAutoScalingConfigurations = Nothing-  , _dtbasrsResponseStatus = pResponseStatus_-  }+    { _dtbasrsTimeBasedAutoScalingConfigurations = Nothing+    , _dtbasrsResponseStatus = pResponseStatus_+    }   -- | An array of @TimeBasedAutoScalingConfiguration@ objects that describe the configuration for the specified instances. dtbasrsTimeBasedAutoScalingConfigurations :: Lens' DescribeTimeBasedAutoScalingResponse [TimeBasedAutoScalingConfiguration]-dtbasrsTimeBasedAutoScalingConfigurations = lens _dtbasrsTimeBasedAutoScalingConfigurations (\ s a -> s{_dtbasrsTimeBasedAutoScalingConfigurations = a}) . _Default . _Coerce;+dtbasrsTimeBasedAutoScalingConfigurations = lens _dtbasrsTimeBasedAutoScalingConfigurations (\ s a -> s{_dtbasrsTimeBasedAutoScalingConfigurations = a}) . _Default . _Coerce  -- | -- | The response status code. dtbasrsResponseStatus :: Lens' DescribeTimeBasedAutoScalingResponse Int-dtbasrsResponseStatus = lens _dtbasrsResponseStatus (\ s a -> s{_dtbasrsResponseStatus = a});+dtbasrsResponseStatus = lens _dtbasrsResponseStatus (\ s a -> s{_dtbasrsResponseStatus = a})  instance NFData DescribeTimeBasedAutoScalingResponse          where
gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeUserProfiles--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,7 +64,7 @@  -- | An array of IAM or federated user ARNs that identify the users to be described. dupIAMUserARNs :: Lens' DescribeUserProfiles [Text]-dupIAMUserARNs = lens _dupIAMUserARNs (\ s a -> s{_dupIAMUserARNs = a}) . _Default . _Coerce;+dupIAMUserARNs = lens _dupIAMUserARNs (\ s a -> s{_dupIAMUserARNs = a}) . _Default . _Coerce  instance AWSRequest DescribeUserProfiles where         type Rs DescribeUserProfiles =@@ -125,15 +125,15 @@     -> DescribeUserProfilesResponse describeUserProfilesResponse pResponseStatus_ =   DescribeUserProfilesResponse'-  {_duprsUserProfiles = Nothing, _duprsResponseStatus = pResponseStatus_}+    {_duprsUserProfiles = Nothing, _duprsResponseStatus = pResponseStatus_}   -- | A @Users@ object that describes the specified users. duprsUserProfiles :: Lens' DescribeUserProfilesResponse [UserProfile]-duprsUserProfiles = lens _duprsUserProfiles (\ s a -> s{_duprsUserProfiles = a}) . _Default . _Coerce;+duprsUserProfiles = lens _duprsUserProfiles (\ s a -> s{_duprsUserProfiles = a}) . _Default . _Coerce  -- | -- | The response status code. duprsResponseStatus :: Lens' DescribeUserProfilesResponse Int-duprsResponseStatus = lens _duprsResponseStatus (\ s a -> s{_duprsResponseStatus = a});+duprsResponseStatus = lens _duprsResponseStatus (\ s a -> s{_duprsResponseStatus = a})  instance NFData DescribeUserProfilesResponse where
gen/Network/AWS/OpsWorks/DescribeVolumes.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DescribeVolumes--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -73,28 +73,28 @@     :: DescribeVolumes describeVolumes =   DescribeVolumes'-  { _dvInstanceId = Nothing-  , _dvVolumeIds = Nothing-  , _dvRAIdArrayId = Nothing-  , _dvStackId = Nothing-  }+    { _dvInstanceId = Nothing+    , _dvVolumeIds = Nothing+    , _dvRAIdArrayId = Nothing+    , _dvStackId = Nothing+    }   -- | The instance ID. If you use this parameter, @DescribeVolumes@ returns descriptions of the volumes associated with the specified instance. dvInstanceId :: Lens' DescribeVolumes (Maybe Text)-dvInstanceId = lens _dvInstanceId (\ s a -> s{_dvInstanceId = a});+dvInstanceId = lens _dvInstanceId (\ s a -> s{_dvInstanceId = a})  -- | Am array of volume IDs. If you use this parameter, @DescribeVolumes@ returns descriptions of the specified volumes. Otherwise, it returns a description of every volume. dvVolumeIds :: Lens' DescribeVolumes [Text]-dvVolumeIds = lens _dvVolumeIds (\ s a -> s{_dvVolumeIds = a}) . _Default . _Coerce;+dvVolumeIds = lens _dvVolumeIds (\ s a -> s{_dvVolumeIds = a}) . _Default . _Coerce  -- | The RAID array ID. If you use this parameter, @DescribeVolumes@ returns descriptions of the volumes associated with the specified RAID array. dvRAIdArrayId :: Lens' DescribeVolumes (Maybe Text)-dvRAIdArrayId = lens _dvRAIdArrayId (\ s a -> s{_dvRAIdArrayId = a});+dvRAIdArrayId = lens _dvRAIdArrayId (\ s a -> s{_dvRAIdArrayId = a})  -- | A stack ID. The action describes the stack's registered Amazon EBS volumes. dvStackId :: Lens' DescribeVolumes (Maybe Text)-dvStackId = lens _dvStackId (\ s a -> s{_dvStackId = a});+dvStackId = lens _dvStackId (\ s a -> s{_dvStackId = a})  instance AWSRequest DescribeVolumes where         type Rs DescribeVolumes = DescribeVolumesResponse@@ -156,15 +156,15 @@     -> DescribeVolumesResponse describeVolumesResponse pResponseStatus_ =   DescribeVolumesResponse'-  {_dvrsVolumes = Nothing, _dvrsResponseStatus = pResponseStatus_}+    {_dvrsVolumes = Nothing, _dvrsResponseStatus = pResponseStatus_}   -- | An array of volume IDs. dvrsVolumes :: Lens' DescribeVolumesResponse [Volume]-dvrsVolumes = lens _dvrsVolumes (\ s a -> s{_dvrsVolumes = a}) . _Default . _Coerce;+dvrsVolumes = lens _dvrsVolumes (\ s a -> s{_dvrsVolumes = a}) . _Default . _Coerce  -- | -- | The response status code. dvrsResponseStatus :: Lens' DescribeVolumesResponse Int-dvrsResponseStatus = lens _dvrsResponseStatus (\ s a -> s{_dvrsResponseStatus = a});+dvrsResponseStatus = lens _dvrsResponseStatus (\ s a -> s{_dvrsResponseStatus = a})  instance NFData DescribeVolumesResponse where
gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DetachElasticLoadBalancer--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -64,18 +64,18 @@     -> DetachElasticLoadBalancer detachElasticLoadBalancer pElasticLoadBalancerName_ pLayerId_ =   DetachElasticLoadBalancer'-  { _delbElasticLoadBalancerName = pElasticLoadBalancerName_-  , _delbLayerId = pLayerId_-  }+    { _delbElasticLoadBalancerName = pElasticLoadBalancerName_+    , _delbLayerId = pLayerId_+    }   -- | The Elastic Load Balancing instance's name. delbElasticLoadBalancerName :: Lens' DetachElasticLoadBalancer Text-delbElasticLoadBalancerName = lens _delbElasticLoadBalancerName (\ s a -> s{_delbElasticLoadBalancerName = a});+delbElasticLoadBalancerName = lens _delbElasticLoadBalancerName (\ s a -> s{_delbElasticLoadBalancerName = a})  -- | The ID of the layer that the Elastic Load Balancing instance is attached to. delbLayerId :: Lens' DetachElasticLoadBalancer Text-delbLayerId = lens _delbLayerId (\ s a -> s{_delbLayerId = a});+delbLayerId = lens _delbLayerId (\ s a -> s{_delbLayerId = a})  instance AWSRequest DetachElasticLoadBalancer where         type Rs DetachElasticLoadBalancer =
gen/Network/AWS/OpsWorks/DisassociateElasticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.DisassociateElasticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,7 +63,7 @@  -- | The Elastic IP address. deiElasticIP :: Lens' DisassociateElasticIP Text-deiElasticIP = lens _deiElasticIP (\ s a -> s{_deiElasticIP = a});+deiElasticIP = lens _deiElasticIP (\ s a -> s{_deiElasticIP = a})  instance AWSRequest DisassociateElasticIP where         type Rs DisassociateElasticIP =
gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.GetHostnameSuggestion--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,7 +67,7 @@  -- | The layer ID. ghsLayerId :: Lens' GetHostnameSuggestion Text-ghsLayerId = lens _ghsLayerId (\ s a -> s{_ghsLayerId = a});+ghsLayerId = lens _ghsLayerId (\ s a -> s{_ghsLayerId = a})  instance AWSRequest GetHostnameSuggestion where         type Rs GetHostnameSuggestion =@@ -131,22 +131,22 @@     -> GetHostnameSuggestionResponse getHostnameSuggestionResponse pResponseStatus_ =   GetHostnameSuggestionResponse'-  { _ghsrsHostname = Nothing-  , _ghsrsLayerId = Nothing-  , _ghsrsResponseStatus = pResponseStatus_-  }+    { _ghsrsHostname = Nothing+    , _ghsrsLayerId = Nothing+    , _ghsrsResponseStatus = pResponseStatus_+    }   -- | The generated host name. ghsrsHostname :: Lens' GetHostnameSuggestionResponse (Maybe Text)-ghsrsHostname = lens _ghsrsHostname (\ s a -> s{_ghsrsHostname = a});+ghsrsHostname = lens _ghsrsHostname (\ s a -> s{_ghsrsHostname = a})  -- | The layer ID. ghsrsLayerId :: Lens' GetHostnameSuggestionResponse (Maybe Text)-ghsrsLayerId = lens _ghsrsLayerId (\ s a -> s{_ghsrsLayerId = a});+ghsrsLayerId = lens _ghsrsLayerId (\ s a -> s{_ghsrsLayerId = a})  -- | -- | The response status code. ghsrsResponseStatus :: Lens' GetHostnameSuggestionResponse Int-ghsrsResponseStatus = lens _ghsrsResponseStatus (\ s a -> s{_ghsrsResponseStatus = a});+ghsrsResponseStatus = lens _ghsrsResponseStatus (\ s a -> s{_ghsrsResponseStatus = a})  instance NFData GetHostnameSuggestionResponse where
gen/Network/AWS/OpsWorks/GrantAccess.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.GrantAccess--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -68,11 +68,11 @@  -- | The length of time (in minutes) that the grant is valid. When the grant expires at the end of this period, the user will no longer be able to use the credentials to log in. If the user is logged in at the time, he or she automatically will be logged out. gaValidForInMinutes :: Lens' GrantAccess (Maybe Natural)-gaValidForInMinutes = lens _gaValidForInMinutes (\ s a -> s{_gaValidForInMinutes = a}) . mapping _Nat;+gaValidForInMinutes = lens _gaValidForInMinutes (\ s a -> s{_gaValidForInMinutes = a}) . mapping _Nat  -- | The instance's AWS OpsWorks Stacks ID. gaInstanceId :: Lens' GrantAccess Text-gaInstanceId = lens _gaInstanceId (\ s a -> s{_gaInstanceId = a});+gaInstanceId = lens _gaInstanceId (\ s a -> s{_gaInstanceId = a})  instance AWSRequest GrantAccess where         type Rs GrantAccess = GrantAccessResponse@@ -133,15 +133,15 @@     -> GrantAccessResponse grantAccessResponse pResponseStatus_ =   GrantAccessResponse'-  {_garsTemporaryCredential = Nothing, _garsResponseStatus = pResponseStatus_}+    {_garsTemporaryCredential = Nothing, _garsResponseStatus = pResponseStatus_}   -- | A @TemporaryCredential@ object that contains the data needed to log in to the instance by RDP clients, such as the Microsoft Remote Desktop Connection. garsTemporaryCredential :: Lens' GrantAccessResponse (Maybe TemporaryCredential)-garsTemporaryCredential = lens _garsTemporaryCredential (\ s a -> s{_garsTemporaryCredential = a});+garsTemporaryCredential = lens _garsTemporaryCredential (\ s a -> s{_garsTemporaryCredential = a})  -- | -- | The response status code. garsResponseStatus :: Lens' GrantAccessResponse Int-garsResponseStatus = lens _garsResponseStatus (\ s a -> s{_garsResponseStatus = a});+garsResponseStatus = lens _garsResponseStatus (\ s a -> s{_garsResponseStatus = a})  instance NFData GrantAccessResponse where
gen/Network/AWS/OpsWorks/ListTags.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.ListTags--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -69,23 +69,23 @@     -> ListTags listTags pResourceARN_ =   ListTags'-  { _ltNextToken = Nothing-  , _ltMaxResults = Nothing-  , _ltResourceARN = pResourceARN_-  }+    { _ltNextToken = Nothing+    , _ltMaxResults = Nothing+    , _ltResourceARN = pResourceARN_+    }   -- | Do not use. A validation exception occurs if you add a @NextToken@ parameter to a @ListTagsRequest@ call. ltNextToken :: Lens' ListTags (Maybe Text)-ltNextToken = lens _ltNextToken (\ s a -> s{_ltNextToken = a});+ltNextToken = lens _ltNextToken (\ s a -> s{_ltNextToken = a})  -- | Do not use. A validation exception occurs if you add a @MaxResults@ parameter to a @ListTagsRequest@ call. ltMaxResults :: Lens' ListTags (Maybe Int)-ltMaxResults = lens _ltMaxResults (\ s a -> s{_ltMaxResults = a});+ltMaxResults = lens _ltMaxResults (\ s a -> s{_ltMaxResults = a})  -- | The stack or layer's Amazon Resource Number (ARN). ltResourceARN :: Lens' ListTags Text-ltResourceARN = lens _ltResourceARN (\ s a -> s{_ltResourceARN = a});+ltResourceARN = lens _ltResourceARN (\ s a -> s{_ltResourceARN = a})  instance AWSRequest ListTags where         type Rs ListTags = ListTagsResponse@@ -150,22 +150,22 @@     -> ListTagsResponse listTagsResponse pResponseStatus_ =   ListTagsResponse'-  { _ltrsNextToken = Nothing-  , _ltrsTags = Nothing-  , _ltrsResponseStatus = pResponseStatus_-  }+    { _ltrsNextToken = Nothing+    , _ltrsTags = Nothing+    , _ltrsResponseStatus = pResponseStatus_+    }   -- | If a paginated request does not return all of the remaining results, this parameter is set to a token that you can assign to the request object's @NextToken@ parameter to get the next set of results. If the previous paginated request returned all of the remaining results, this parameter is set to @null@ . ltrsNextToken :: Lens' ListTagsResponse (Maybe Text)-ltrsNextToken = lens _ltrsNextToken (\ s a -> s{_ltrsNextToken = a});+ltrsNextToken = lens _ltrsNextToken (\ s a -> s{_ltrsNextToken = a})  -- | A set of key-value pairs that contain tag keys and tag values that are attached to a stack or layer. ltrsTags :: Lens' ListTagsResponse (HashMap Text Text)-ltrsTags = lens _ltrsTags (\ s a -> s{_ltrsTags = a}) . _Default . _Map;+ltrsTags = lens _ltrsTags (\ s a -> s{_ltrsTags = a}) . _Default . _Map  -- | -- | The response status code. ltrsResponseStatus :: Lens' ListTagsResponse Int-ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a});+ltrsResponseStatus = lens _ltrsResponseStatus (\ s a -> s{_ltrsResponseStatus = a})  instance NFData ListTagsResponse where
gen/Network/AWS/OpsWorks/RebootInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RebootInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The instance ID. riInstanceId :: Lens' RebootInstance Text-riInstanceId = lens _riInstanceId (\ s a -> s{_riInstanceId = a});+riInstanceId = lens _riInstanceId (\ s a -> s{_riInstanceId = a})  instance AWSRequest RebootInstance where         type Rs RebootInstance = RebootInstanceResponse
gen/Network/AWS/OpsWorks/RegisterEcsCluster.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RegisterEcsCluster--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,16 +67,16 @@     -> RegisterEcsCluster registerEcsCluster pEcsClusterARN_ pStackId_ =   RegisterEcsCluster'-  {_recEcsClusterARN = pEcsClusterARN_, _recStackId = pStackId_}+    {_recEcsClusterARN = pEcsClusterARN_, _recStackId = pStackId_}   -- | The cluster's ARN. recEcsClusterARN :: Lens' RegisterEcsCluster Text-recEcsClusterARN = lens _recEcsClusterARN (\ s a -> s{_recEcsClusterARN = a});+recEcsClusterARN = lens _recEcsClusterARN (\ s a -> s{_recEcsClusterARN = a})  -- | The stack ID. recStackId :: Lens' RegisterEcsCluster Text-recStackId = lens _recStackId (\ s a -> s{_recStackId = a});+recStackId = lens _recStackId (\ s a -> s{_recStackId = a})  instance AWSRequest RegisterEcsCluster where         type Rs RegisterEcsCluster =@@ -138,15 +138,15 @@     -> RegisterEcsClusterResponse registerEcsClusterResponse pResponseStatus_ =   RegisterEcsClusterResponse'-  {_recrsEcsClusterARN = Nothing, _recrsResponseStatus = pResponseStatus_}+    {_recrsEcsClusterARN = Nothing, _recrsResponseStatus = pResponseStatus_}   -- | The cluster's ARN. recrsEcsClusterARN :: Lens' RegisterEcsClusterResponse (Maybe Text)-recrsEcsClusterARN = lens _recrsEcsClusterARN (\ s a -> s{_recrsEcsClusterARN = a});+recrsEcsClusterARN = lens _recrsEcsClusterARN (\ s a -> s{_recrsEcsClusterARN = a})  -- | -- | The response status code. recrsResponseStatus :: Lens' RegisterEcsClusterResponse Int-recrsResponseStatus = lens _recrsResponseStatus (\ s a -> s{_recrsResponseStatus = a});+recrsResponseStatus = lens _recrsResponseStatus (\ s a -> s{_recrsResponseStatus = a})  instance NFData RegisterEcsClusterResponse where
gen/Network/AWS/OpsWorks/RegisterElasticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RegisterElasticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,11 +71,11 @@  -- | The Elastic IP address. reiElasticIP :: Lens' RegisterElasticIP Text-reiElasticIP = lens _reiElasticIP (\ s a -> s{_reiElasticIP = a});+reiElasticIP = lens _reiElasticIP (\ s a -> s{_reiElasticIP = a})  -- | The stack ID. reiStackId :: Lens' RegisterElasticIP Text-reiStackId = lens _reiStackId (\ s a -> s{_reiStackId = a});+reiStackId = lens _reiStackId (\ s a -> s{_reiStackId = a})  instance AWSRequest RegisterElasticIP where         type Rs RegisterElasticIP = RegisterElasticIPResponse@@ -136,15 +136,15 @@     -> RegisterElasticIPResponse registerElasticIPResponse pResponseStatus_ =   RegisterElasticIPResponse'-  {_reirsElasticIP = Nothing, _reirsResponseStatus = pResponseStatus_}+    {_reirsElasticIP = Nothing, _reirsResponseStatus = pResponseStatus_}   -- | The Elastic IP address. reirsElasticIP :: Lens' RegisterElasticIPResponse (Maybe Text)-reirsElasticIP = lens _reirsElasticIP (\ s a -> s{_reirsElasticIP = a});+reirsElasticIP = lens _reirsElasticIP (\ s a -> s{_reirsElasticIP = a})  -- | -- | The response status code. reirsResponseStatus :: Lens' RegisterElasticIPResponse Int-reirsResponseStatus = lens _reirsResponseStatus (\ s a -> s{_reirsResponseStatus = a});+reirsResponseStatus = lens _reirsResponseStatus (\ s a -> s{_reirsResponseStatus = a})  instance NFData RegisterElasticIPResponse where
gen/Network/AWS/OpsWorks/RegisterInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RegisterInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -88,43 +88,43 @@     -> RegisterInstance registerInstance pStackId_ =   RegisterInstance'-  { _riPrivateIP = Nothing-  , _riHostname = Nothing-  , _riInstanceIdentity = Nothing-  , _riPublicIP = Nothing-  , _riRsaPublicKeyFingerprint = Nothing-  , _riRsaPublicKey = Nothing-  , _riStackId = pStackId_-  }+    { _riPrivateIP = Nothing+    , _riHostname = Nothing+    , _riInstanceIdentity = Nothing+    , _riPublicIP = Nothing+    , _riRsaPublicKeyFingerprint = Nothing+    , _riRsaPublicKey = Nothing+    , _riStackId = pStackId_+    }   -- | The instance's private IP address. riPrivateIP :: Lens' RegisterInstance (Maybe Text)-riPrivateIP = lens _riPrivateIP (\ s a -> s{_riPrivateIP = a});+riPrivateIP = lens _riPrivateIP (\ s a -> s{_riPrivateIP = a})  -- | The instance's hostname. riHostname :: Lens' RegisterInstance (Maybe Text)-riHostname = lens _riHostname (\ s a -> s{_riHostname = a});+riHostname = lens _riHostname (\ s a -> s{_riHostname = a})  -- | An InstanceIdentity object that contains the instance's identity. riInstanceIdentity :: Lens' RegisterInstance (Maybe InstanceIdentity)-riInstanceIdentity = lens _riInstanceIdentity (\ s a -> s{_riInstanceIdentity = a});+riInstanceIdentity = lens _riInstanceIdentity (\ s a -> s{_riInstanceIdentity = a})  -- | The instance's public IP address. riPublicIP :: Lens' RegisterInstance (Maybe Text)-riPublicIP = lens _riPublicIP (\ s a -> s{_riPublicIP = a});+riPublicIP = lens _riPublicIP (\ s a -> s{_riPublicIP = a})  -- | The instances public RSA key fingerprint. riRsaPublicKeyFingerprint :: Lens' RegisterInstance (Maybe Text)-riRsaPublicKeyFingerprint = lens _riRsaPublicKeyFingerprint (\ s a -> s{_riRsaPublicKeyFingerprint = a});+riRsaPublicKeyFingerprint = lens _riRsaPublicKeyFingerprint (\ s a -> s{_riRsaPublicKeyFingerprint = a})  -- | The instances public RSA key. This key is used to encrypt communication between the instance and the service. riRsaPublicKey :: Lens' RegisterInstance (Maybe Text)-riRsaPublicKey = lens _riRsaPublicKey (\ s a -> s{_riRsaPublicKey = a});+riRsaPublicKey = lens _riRsaPublicKey (\ s a -> s{_riRsaPublicKey = a})  -- | The ID of the stack that the instance is to be registered with. riStackId :: Lens' RegisterInstance Text-riStackId = lens _riStackId (\ s a -> s{_riStackId = a});+riStackId = lens _riStackId (\ s a -> s{_riStackId = a})  instance AWSRequest RegisterInstance where         type Rs RegisterInstance = RegisterInstanceResponse@@ -190,15 +190,15 @@     -> RegisterInstanceResponse registerInstanceResponse pResponseStatus_ =   RegisterInstanceResponse'-  {_rirsInstanceId = Nothing, _rirsResponseStatus = pResponseStatus_}+    {_rirsInstanceId = Nothing, _rirsResponseStatus = pResponseStatus_}   -- | The registered instance's AWS OpsWorks Stacks ID. rirsInstanceId :: Lens' RegisterInstanceResponse (Maybe Text)-rirsInstanceId = lens _rirsInstanceId (\ s a -> s{_rirsInstanceId = a});+rirsInstanceId = lens _rirsInstanceId (\ s a -> s{_rirsInstanceId = a})  -- | -- | The response status code. rirsResponseStatus :: Lens' RegisterInstanceResponse Int-rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a});+rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a})  instance NFData RegisterInstanceResponse where
gen/Network/AWS/OpsWorks/RegisterRDSDBInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RegisterRDSDBInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -74,28 +74,28 @@     -> RegisterRDSDBInstance registerRDSDBInstance pStackId_ pRDSDBInstanceARN_ pDBUser_ pDBPassword_ =   RegisterRDSDBInstance'-  { _rrdiStackId = pStackId_-  , _rrdiRDSDBInstanceARN = pRDSDBInstanceARN_-  , _rrdiDBUser = pDBUser_-  , _rrdiDBPassword = pDBPassword_-  }+    { _rrdiStackId = pStackId_+    , _rrdiRDSDBInstanceARN = pRDSDBInstanceARN_+    , _rrdiDBUser = pDBUser_+    , _rrdiDBPassword = pDBPassword_+    }   -- | The stack ID. rrdiStackId :: Lens' RegisterRDSDBInstance Text-rrdiStackId = lens _rrdiStackId (\ s a -> s{_rrdiStackId = a});+rrdiStackId = lens _rrdiStackId (\ s a -> s{_rrdiStackId = a})  -- | The Amazon RDS instance's ARN. rrdiRDSDBInstanceARN :: Lens' RegisterRDSDBInstance Text-rrdiRDSDBInstanceARN = lens _rrdiRDSDBInstanceARN (\ s a -> s{_rrdiRDSDBInstanceARN = a});+rrdiRDSDBInstanceARN = lens _rrdiRDSDBInstanceARN (\ s a -> s{_rrdiRDSDBInstanceARN = a})  -- | The database's master user name. rrdiDBUser :: Lens' RegisterRDSDBInstance Text-rrdiDBUser = lens _rrdiDBUser (\ s a -> s{_rrdiDBUser = a});+rrdiDBUser = lens _rrdiDBUser (\ s a -> s{_rrdiDBUser = a})  -- | The database password. rrdiDBPassword :: Lens' RegisterRDSDBInstance Text-rrdiDBPassword = lens _rrdiDBPassword (\ s a -> s{_rrdiDBPassword = a});+rrdiDBPassword = lens _rrdiDBPassword (\ s a -> s{_rrdiDBPassword = a})  instance AWSRequest RegisterRDSDBInstance where         type Rs RegisterRDSDBInstance =
gen/Network/AWS/OpsWorks/RegisterVolume.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.RegisterVolume--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -70,11 +70,11 @@  -- | The Amazon EBS volume ID. rvEC2VolumeId :: Lens' RegisterVolume (Maybe Text)-rvEC2VolumeId = lens _rvEC2VolumeId (\ s a -> s{_rvEC2VolumeId = a});+rvEC2VolumeId = lens _rvEC2VolumeId (\ s a -> s{_rvEC2VolumeId = a})  -- | The stack ID. rvStackId :: Lens' RegisterVolume Text-rvStackId = lens _rvStackId (\ s a -> s{_rvStackId = a});+rvStackId = lens _rvStackId (\ s a -> s{_rvStackId = a})  instance AWSRequest RegisterVolume where         type Rs RegisterVolume = RegisterVolumeResponse@@ -134,15 +134,15 @@     -> RegisterVolumeResponse registerVolumeResponse pResponseStatus_ =   RegisterVolumeResponse'-  {_rvrsVolumeId = Nothing, _rvrsResponseStatus = pResponseStatus_}+    {_rvrsVolumeId = Nothing, _rvrsResponseStatus = pResponseStatus_}   -- | The volume ID. rvrsVolumeId :: Lens' RegisterVolumeResponse (Maybe Text)-rvrsVolumeId = lens _rvrsVolumeId (\ s a -> s{_rvrsVolumeId = a});+rvrsVolumeId = lens _rvrsVolumeId (\ s a -> s{_rvrsVolumeId = a})  -- | -- | The response status code. rvrsResponseStatus :: Lens' RegisterVolumeResponse Int-rvrsResponseStatus = lens _rvrsResponseStatus (\ s a -> s{_rvrsResponseStatus = a});+rvrsResponseStatus = lens _rvrsResponseStatus (\ s a -> s{_rvrsResponseStatus = a})  instance NFData RegisterVolumeResponse where
gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.SetLoadBasedAutoScaling--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,28 +71,28 @@     -> SetLoadBasedAutoScaling setLoadBasedAutoScaling pLayerId_ =   SetLoadBasedAutoScaling'-  { _slbasUpScaling = Nothing-  , _slbasEnable = Nothing-  , _slbasDownScaling = Nothing-  , _slbasLayerId = pLayerId_-  }+    { _slbasUpScaling = Nothing+    , _slbasEnable = Nothing+    , _slbasDownScaling = Nothing+    , _slbasLayerId = pLayerId_+    }   -- | An @AutoScalingThresholds@ object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified number of instances. slbasUpScaling :: Lens' SetLoadBasedAutoScaling (Maybe AutoScalingThresholds)-slbasUpScaling = lens _slbasUpScaling (\ s a -> s{_slbasUpScaling = a});+slbasUpScaling = lens _slbasUpScaling (\ s a -> s{_slbasUpScaling = a})  -- | Enables load-based auto scaling for the layer. slbasEnable :: Lens' SetLoadBasedAutoScaling (Maybe Bool)-slbasEnable = lens _slbasEnable (\ s a -> s{_slbasEnable = a});+slbasEnable = lens _slbasEnable (\ s a -> s{_slbasEnable = a})  -- | An @AutoScalingThresholds@ object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks Stacks stops a specified number of instances. slbasDownScaling :: Lens' SetLoadBasedAutoScaling (Maybe AutoScalingThresholds)-slbasDownScaling = lens _slbasDownScaling (\ s a -> s{_slbasDownScaling = a});+slbasDownScaling = lens _slbasDownScaling (\ s a -> s{_slbasDownScaling = a})  -- | The layer ID. slbasLayerId :: Lens' SetLoadBasedAutoScaling Text-slbasLayerId = lens _slbasLayerId (\ s a -> s{_slbasLayerId = a});+slbasLayerId = lens _slbasLayerId (\ s a -> s{_slbasLayerId = a})  instance AWSRequest SetLoadBasedAutoScaling where         type Rs SetLoadBasedAutoScaling =
gen/Network/AWS/OpsWorks/SetPermission.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.SetPermission--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -76,33 +76,33 @@     -> SetPermission setPermission pStackId_ pIAMUserARN_ =   SetPermission'-  { _spAllowSudo = Nothing-  , _spLevel = Nothing-  , _spAllowSSH = Nothing-  , _spStackId = pStackId_-  , _spIAMUserARN = pIAMUserARN_-  }+    { _spAllowSudo = Nothing+    , _spLevel = Nothing+    , _spAllowSSH = Nothing+    , _spStackId = pStackId_+    , _spIAMUserARN = pIAMUserARN_+    }   -- | The user is allowed to use __sudo__ to elevate privileges. spAllowSudo :: Lens' SetPermission (Maybe Bool)-spAllowSudo = lens _spAllowSudo (\ s a -> s{_spAllowSudo = a});+spAllowSudo = lens _spAllowSudo (\ s a -> s{_spAllowSudo = a})  -- | The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.     * @deny@      * @show@      * @deploy@      * @manage@      * @iam_only@  For more information on the permissions associated with these levels, see <http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html Managing User Permissions> . spLevel :: Lens' SetPermission (Maybe Text)-spLevel = lens _spLevel (\ s a -> s{_spLevel = a});+spLevel = lens _spLevel (\ s a -> s{_spLevel = a})  -- | The user is allowed to use SSH to communicate with the instance. spAllowSSH :: Lens' SetPermission (Maybe Bool)-spAllowSSH = lens _spAllowSSH (\ s a -> s{_spAllowSSH = a});+spAllowSSH = lens _spAllowSSH (\ s a -> s{_spAllowSSH = a})  -- | The stack ID. spStackId :: Lens' SetPermission Text-spStackId = lens _spStackId (\ s a -> s{_spStackId = a});+spStackId = lens _spStackId (\ s a -> s{_spStackId = a})  -- | The user's IAM ARN. This can also be a federated user's ARN. spIAMUserARN :: Lens' SetPermission Text-spIAMUserARN = lens _spIAMUserARN (\ s a -> s{_spIAMUserARN = a});+spIAMUserARN = lens _spIAMUserARN (\ s a -> s{_spIAMUserARN = a})  instance AWSRequest SetPermission where         type Rs SetPermission = SetPermissionResponse
gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.SetTimeBasedAutoScaling--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,16 +63,16 @@     -> SetTimeBasedAutoScaling setTimeBasedAutoScaling pInstanceId_ =   SetTimeBasedAutoScaling'-  {_stbasAutoScalingSchedule = Nothing, _stbasInstanceId = pInstanceId_}+    {_stbasAutoScalingSchedule = Nothing, _stbasInstanceId = pInstanceId_}   -- | An @AutoScalingSchedule@ with the instance schedule. stbasAutoScalingSchedule :: Lens' SetTimeBasedAutoScaling (Maybe WeeklyAutoScalingSchedule)-stbasAutoScalingSchedule = lens _stbasAutoScalingSchedule (\ s a -> s{_stbasAutoScalingSchedule = a});+stbasAutoScalingSchedule = lens _stbasAutoScalingSchedule (\ s a -> s{_stbasAutoScalingSchedule = a})  -- | The instance ID. stbasInstanceId :: Lens' SetTimeBasedAutoScaling Text-stbasInstanceId = lens _stbasInstanceId (\ s a -> s{_stbasInstanceId = a});+stbasInstanceId = lens _stbasInstanceId (\ s a -> s{_stbasInstanceId = a})  instance AWSRequest SetTimeBasedAutoScaling where         type Rs SetTimeBasedAutoScaling =
gen/Network/AWS/OpsWorks/StartInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.StartInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The instance ID. sInstanceId :: Lens' StartInstance Text-sInstanceId = lens _sInstanceId (\ s a -> s{_sInstanceId = a});+sInstanceId = lens _sInstanceId (\ s a -> s{_sInstanceId = a})  instance AWSRequest StartInstance where         type Rs StartInstance = StartInstanceResponse
gen/Network/AWS/OpsWorks/StartStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.StartStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The stack ID. staStackId :: Lens' StartStack Text-staStackId = lens _staStackId (\ s a -> s{_staStackId = a});+staStackId = lens _staStackId (\ s a -> s{_staStackId = a})  instance AWSRequest StartStack where         type Rs StartStack = StartStackResponse
gen/Network/AWS/OpsWorks/StopInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.StopInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -29,6 +29,7 @@       stopInstance     , StopInstance     -- * Request Lenses+    , siForce     , siInstanceId      -- * Destructuring the Response@@ -44,8 +45,9 @@ import Network.AWS.Response  -- | /See:/ 'stopInstance' smart constructor.-newtype StopInstance = StopInstance'-  { _siInstanceId :: Text+data StopInstance = StopInstance'+  { _siForce      :: !(Maybe Bool)+  , _siInstanceId :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -53,16 +55,23 @@ -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'siForce' - Undocumented member.+-- -- * 'siInstanceId' - The instance ID. stopInstance     :: Text -- ^ 'siInstanceId'     -> StopInstance-stopInstance pInstanceId_ = StopInstance' {_siInstanceId = pInstanceId_}+stopInstance pInstanceId_ =+  StopInstance' {_siForce = Nothing, _siInstanceId = pInstanceId_}  +-- | Undocumented member.+siForce :: Lens' StopInstance (Maybe Bool)+siForce = lens _siForce (\ s a -> s{_siForce = a})+ -- | The instance ID. siInstanceId :: Lens' StopInstance Text-siInstanceId = lens _siInstanceId (\ s a -> s{_siInstanceId = a});+siInstanceId = lens _siInstanceId (\ s a -> s{_siInstanceId = a})  instance AWSRequest StopInstance where         type Rs StopInstance = StopInstanceResponse@@ -85,7 +94,9 @@ instance ToJSON StopInstance where         toJSON StopInstance'{..}           = object-              (catMaybes [Just ("InstanceId" .= _siInstanceId)])+              (catMaybes+                 [("Force" .=) <$> _siForce,+                  Just ("InstanceId" .= _siInstanceId)])  instance ToPath StopInstance where         toPath = const "/"
gen/Network/AWS/OpsWorks/StopStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.StopStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The stack ID. stoStackId :: Lens' StopStack Text-stoStackId = lens _stoStackId (\ s a -> s{_stoStackId = a});+stoStackId = lens _stoStackId (\ s a -> s{_stoStackId = a})  instance AWSRequest StopStack where         type Rs StopStack = StopStackResponse
gen/Network/AWS/OpsWorks/TagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.TagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,11 +65,11 @@  -- | The stack or layer's Amazon Resource Number (ARN). trResourceARN :: Lens' TagResource Text-trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a});+trResourceARN = lens _trResourceARN (\ s a -> s{_trResourceARN = a})  -- | A map that contains tag keys and tag values that are attached to a stack or layer.     * The key cannot be empty.     * The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: @+ - = . _ : /@      * The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: @+ - = . _ : /@      * Leading and trailing white spaces are trimmed from both the key and value.     * A maximum of 40 tags is allowed for any resource. trTags :: Lens' TagResource (HashMap Text Text)-trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Map;+trTags = lens _trTags (\ s a -> s{_trTags = a}) . _Map  instance AWSRequest TagResource where         type Rs TagResource = TagResourceResponse
gen/Network/AWS/OpsWorks/Types.hs view
@@ -4,7 +4,7 @@  -- | -- Module      : Network.AWS.OpsWorks.Types--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -284,6 +284,7 @@     , icDeregistering     , icRunningSetup     , icRequested+    , icStopFailed     , icBooting     , icStopped     , icRebooting@@ -337,6 +338,23 @@     , lbascDownScaling     , lbascLayerId +    -- * OperatingSystem+    , OperatingSystem+    , operatingSystem+    , osReportedVersion+    , osSupported+    , osName+    , osId+    , osConfigurationManagers+    , osType+    , osReportedName++    -- * OperatingSystemConfigurationManager+    , OperatingSystemConfigurationManager+    , operatingSystemConfigurationManager+    , oscmName+    , oscmVersion+     -- * Permission     , Permission     , permission@@ -395,9 +413,9 @@     -- * SSLConfiguration     , SSLConfiguration     , sslConfiguration-    , scChain-    , scCertificate     , scPrivateKey+    , scCertificate+    , scChain      -- * SelfUserProfile     , SelfUserProfile@@ -506,6 +524,7 @@     , vSize     , vIOPS     , vDevice+    , vEncrypted     , vAvailabilityZone     , vName     , vRAIdArrayId@@ -520,6 +539,7 @@     , volumeConfiguration     , vcIOPS     , vcRAIdLevel+    , vcEncrypted     , vcVolumeType     , vcMountPoint     , vcNumberOfDisks@@ -547,24 +567,24 @@ opsWorks :: Service opsWorks =   Service-  { _svcAbbrev = "OpsWorks"-  , _svcSigner = v4-  , _svcPrefix = "opsworks"-  , _svcVersion = "2013-02-18"-  , _svcEndpoint = defaultEndpoint opsWorks-  , _svcTimeout = Just 70-  , _svcCheck = statusSuccess-  , _svcError = parseJSONError "OpsWorks"-  , _svcRetry = retry-  }+    { _svcAbbrev = "OpsWorks"+    , _svcSigner = v4+    , _svcPrefix = "opsworks"+    , _svcVersion = "2013-02-18"+    , _svcEndpoint = defaultEndpoint opsWorks+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError "OpsWorks"+    , _svcRetry = retry+    }   where     retry =       Exponential-      { _retryBase = 5.0e-2-      , _retryGrowth = 2-      , _retryAttempts = 5-      , _retryCheck = check-      }+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }     check e       | has (hasCode "ThrottledException" . hasStatus 400) e =         Just "throttled_exception"@@ -573,6 +593,8 @@         Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"+      | has (hasCode "RequestThrottledException" . hasStatus 400) e =+        Just "request_throttled_exception"       | has (hasStatus 502) e = Just "bad_gateway"       | has (hasStatus 503) e = Just "service_unavailable"       | has (hasStatus 500) e = Just "general_server_error"
gen/Network/AWS/OpsWorks/Types/Product.hs view
@@ -9,4074 +9,4235 @@  -- | -- Module      : Network.AWS.OpsWorks.Types.Product--- Copyright   : (c) 2013-2017 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.OpsWorks.Types.Product where--import Network.AWS.Lens-import Network.AWS.OpsWorks.Types.Sum-import Network.AWS.Prelude---- | Describes an agent version.------------ /See:/ 'agentVersion' smart constructor.-data AgentVersion = AgentVersion'-  { _avVersion              :: !(Maybe Text)-  , _avConfigurationManager :: !(Maybe StackConfigurationManager)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AgentVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avVersion' - The agent version.------ * 'avConfigurationManager' - The configuration manager.-agentVersion-    :: AgentVersion-agentVersion =-  AgentVersion' {_avVersion = Nothing, _avConfigurationManager = Nothing}----- | The agent version.-avVersion :: Lens' AgentVersion (Maybe Text)-avVersion = lens _avVersion (\ s a -> s{_avVersion = a});---- | The configuration manager.-avConfigurationManager :: Lens' AgentVersion (Maybe StackConfigurationManager)-avConfigurationManager = lens _avConfigurationManager (\ s a -> s{_avConfigurationManager = a});--instance FromJSON AgentVersion where-        parseJSON-          = withObject "AgentVersion"-              (\ x ->-                 AgentVersion' <$>-                   (x .:? "Version") <*> (x .:? "ConfigurationManager"))--instance Hashable AgentVersion where--instance NFData AgentVersion where---- | A description of the app.------------ /See:/ 'app' smart constructor.-data App = App'-  { _appSSLConfiguration :: !(Maybe SSLConfiguration)-  , _appEnvironment      :: !(Maybe [EnvironmentVariable])-  , _appEnableSSL        :: !(Maybe Bool)-  , _appCreatedAt        :: !(Maybe Text)-  , _appShortname        :: !(Maybe Text)-  , _appDataSources      :: !(Maybe [DataSource])-  , _appAppSource        :: !(Maybe Source)-  , _appAppId            :: !(Maybe Text)-  , _appAttributes       :: !(Maybe (Map AppAttributesKeys Text))-  , _appName             :: !(Maybe Text)-  , _appType             :: !(Maybe AppType)-  , _appStackId          :: !(Maybe Text)-  , _appDomains          :: !(Maybe [Text])-  , _appDescription      :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'App' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'appSSLConfiguration' - An @SslConfiguration@ object with the SSL configuration.------ * 'appEnvironment' - An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> .------ * 'appEnableSSL' - Whether to enable SSL for the app.------ * 'appCreatedAt' - When the app was created.------ * 'appShortname' - The app's short name.------ * 'appDataSources' - The app's data sources.------ * 'appAppSource' - A @Source@ object that describes the app repository.------ * 'appAppId' - The app ID.------ * 'appAttributes' - The stack attributes.------ * 'appName' - The app name.------ * 'appType' - The app type.------ * 'appStackId' - The app stack ID.------ * 'appDomains' - The app vhost settings with multiple domains separated by commas. For example: @'www.example.com, example.com'@------ * 'appDescription' - A description of the app.-app-    :: App-app =-  App'-  { _appSSLConfiguration = Nothing-  , _appEnvironment = Nothing-  , _appEnableSSL = Nothing-  , _appCreatedAt = Nothing-  , _appShortname = Nothing-  , _appDataSources = Nothing-  , _appAppSource = Nothing-  , _appAppId = Nothing-  , _appAttributes = Nothing-  , _appName = Nothing-  , _appType = Nothing-  , _appStackId = Nothing-  , _appDomains = Nothing-  , _appDescription = Nothing-  }----- | An @SslConfiguration@ object with the SSL configuration.-appSSLConfiguration :: Lens' App (Maybe SSLConfiguration)-appSSLConfiguration = lens _appSSLConfiguration (\ s a -> s{_appSSLConfiguration = a});---- | An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> .-appEnvironment :: Lens' App [EnvironmentVariable]-appEnvironment = lens _appEnvironment (\ s a -> s{_appEnvironment = a}) . _Default . _Coerce;---- | Whether to enable SSL for the app.-appEnableSSL :: Lens' App (Maybe Bool)-appEnableSSL = lens _appEnableSSL (\ s a -> s{_appEnableSSL = a});---- | When the app was created.-appCreatedAt :: Lens' App (Maybe Text)-appCreatedAt = lens _appCreatedAt (\ s a -> s{_appCreatedAt = a});---- | The app's short name.-appShortname :: Lens' App (Maybe Text)-appShortname = lens _appShortname (\ s a -> s{_appShortname = a});---- | The app's data sources.-appDataSources :: Lens' App [DataSource]-appDataSources = lens _appDataSources (\ s a -> s{_appDataSources = a}) . _Default . _Coerce;---- | A @Source@ object that describes the app repository.-appAppSource :: Lens' App (Maybe Source)-appAppSource = lens _appAppSource (\ s a -> s{_appAppSource = a});---- | The app ID.-appAppId :: Lens' App (Maybe Text)-appAppId = lens _appAppId (\ s a -> s{_appAppId = a});---- | The stack attributes.-appAttributes :: Lens' App (HashMap AppAttributesKeys Text)-appAttributes = lens _appAttributes (\ s a -> s{_appAttributes = a}) . _Default . _Map;---- | The app name.-appName :: Lens' App (Maybe Text)-appName = lens _appName (\ s a -> s{_appName = a});---- | The app type.-appType :: Lens' App (Maybe AppType)-appType = lens _appType (\ s a -> s{_appType = a});---- | The app stack ID.-appStackId :: Lens' App (Maybe Text)-appStackId = lens _appStackId (\ s a -> s{_appStackId = a});---- | The app vhost settings with multiple domains separated by commas. For example: @'www.example.com, example.com'@-appDomains :: Lens' App [Text]-appDomains = lens _appDomains (\ s a -> s{_appDomains = a}) . _Default . _Coerce;---- | A description of the app.-appDescription :: Lens' App (Maybe Text)-appDescription = lens _appDescription (\ s a -> s{_appDescription = a});--instance FromJSON App where-        parseJSON-          = withObject "App"-              (\ x ->-                 App' <$>-                   (x .:? "SslConfiguration") <*>-                     (x .:? "Environment" .!= mempty)-                     <*> (x .:? "EnableSsl")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "Shortname")-                     <*> (x .:? "DataSources" .!= mempty)-                     <*> (x .:? "AppSource")-                     <*> (x .:? "AppId")-                     <*> (x .:? "Attributes" .!= mempty)-                     <*> (x .:? "Name")-                     <*> (x .:? "Type")-                     <*> (x .:? "StackId")-                     <*> (x .:? "Domains" .!= mempty)-                     <*> (x .:? "Description"))--instance Hashable App where--instance NFData App where---- | Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks Stacks starts or stops load-based instances.------------ /See:/ 'autoScalingThresholds' smart constructor.-data AutoScalingThresholds = AutoScalingThresholds'-  { _astInstanceCount      :: !(Maybe Int)-  , _astIgnoreMetricsTime  :: !(Maybe Nat)-  , _astLoadThreshold      :: !(Maybe Double)-  , _astThresholdsWaitTime :: !(Maybe Nat)-  , _astAlarms             :: !(Maybe [Text])-  , _astMemoryThreshold    :: !(Maybe Double)-  , _astCPUThreshold       :: !(Maybe Double)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AutoScalingThresholds' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'astInstanceCount' - The number of instances to add or remove when the load exceeds a threshold.------ * 'astIgnoreMetricsTime' - The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. @IgnoreMetricsTime@ allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.------ * 'astLoadThreshold' - The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see <http://en.wikipedia.org/wiki/Load_%28computing%29 Load (computing)> .------ * 'astThresholdsWaitTime' - The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.------ * 'astAlarms' - Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.------ * 'astMemoryThreshold' - The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.------ * 'astCPUThreshold' - The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.-autoScalingThresholds-    :: AutoScalingThresholds-autoScalingThresholds =-  AutoScalingThresholds'-  { _astInstanceCount = Nothing-  , _astIgnoreMetricsTime = Nothing-  , _astLoadThreshold = Nothing-  , _astThresholdsWaitTime = Nothing-  , _astAlarms = Nothing-  , _astMemoryThreshold = Nothing-  , _astCPUThreshold = Nothing-  }----- | The number of instances to add or remove when the load exceeds a threshold.-astInstanceCount :: Lens' AutoScalingThresholds (Maybe Int)-astInstanceCount = lens _astInstanceCount (\ s a -> s{_astInstanceCount = a});---- | The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. @IgnoreMetricsTime@ allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.-astIgnoreMetricsTime :: Lens' AutoScalingThresholds (Maybe Natural)-astIgnoreMetricsTime = lens _astIgnoreMetricsTime (\ s a -> s{_astIgnoreMetricsTime = a}) . mapping _Nat;---- | The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see <http://en.wikipedia.org/wiki/Load_%28computing%29 Load (computing)> .-astLoadThreshold :: Lens' AutoScalingThresholds (Maybe Double)-astLoadThreshold = lens _astLoadThreshold (\ s a -> s{_astLoadThreshold = a});---- | The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.-astThresholdsWaitTime :: Lens' AutoScalingThresholds (Maybe Natural)-astThresholdsWaitTime = lens _astThresholdsWaitTime (\ s a -> s{_astThresholdsWaitTime = a}) . mapping _Nat;---- | Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.-astAlarms :: Lens' AutoScalingThresholds [Text]-astAlarms = lens _astAlarms (\ s a -> s{_astAlarms = a}) . _Default . _Coerce;---- | The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.-astMemoryThreshold :: Lens' AutoScalingThresholds (Maybe Double)-astMemoryThreshold = lens _astMemoryThreshold (\ s a -> s{_astMemoryThreshold = a});---- | The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.-astCPUThreshold :: Lens' AutoScalingThresholds (Maybe Double)-astCPUThreshold = lens _astCPUThreshold (\ s a -> s{_astCPUThreshold = a});--instance FromJSON AutoScalingThresholds where-        parseJSON-          = withObject "AutoScalingThresholds"-              (\ x ->-                 AutoScalingThresholds' <$>-                   (x .:? "InstanceCount") <*>-                     (x .:? "IgnoreMetricsTime")-                     <*> (x .:? "LoadThreshold")-                     <*> (x .:? "ThresholdsWaitTime")-                     <*> (x .:? "Alarms" .!= mempty)-                     <*> (x .:? "MemoryThreshold")-                     <*> (x .:? "CpuThreshold"))--instance Hashable AutoScalingThresholds where--instance NFData AutoScalingThresholds where--instance ToJSON AutoScalingThresholds where-        toJSON AutoScalingThresholds'{..}-          = object-              (catMaybes-                 [("InstanceCount" .=) <$> _astInstanceCount,-                  ("IgnoreMetricsTime" .=) <$> _astIgnoreMetricsTime,-                  ("LoadThreshold" .=) <$> _astLoadThreshold,-                  ("ThresholdsWaitTime" .=) <$> _astThresholdsWaitTime,-                  ("Alarms" .=) <$> _astAlarms,-                  ("MemoryThreshold" .=) <$> _astMemoryThreshold,-                  ("CpuThreshold" .=) <$> _astCPUThreshold])---- | Describes a block device mapping. This data type maps directly to the Amazon EC2 <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> data type.------------ /See:/ 'blockDeviceMapping' smart constructor.-data BlockDeviceMapping = BlockDeviceMapping'-  { _bdmVirtualName :: !(Maybe Text)-  , _bdmNoDevice    :: !(Maybe Text)-  , _bdmEBS         :: !(Maybe EBSBlockDevice)-  , _bdmDeviceName  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bdmVirtualName' - The virtual device name. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> .------ * 'bdmNoDevice' - Suppresses the specified device included in the AMI's block device mapping.------ * 'bdmEBS' - An @EBSBlockDevice@ that defines how to configure an Amazon EBS volume when the instance is launched.------ * 'bdmDeviceName' - The device name that is exposed to the instance, such as @/dev/sdh@ . For the root device, you can use the explicit device name or you can set this parameter to @ROOT_DEVICE@ and AWS OpsWorks Stacks will provide the correct device name.-blockDeviceMapping-    :: BlockDeviceMapping-blockDeviceMapping =-  BlockDeviceMapping'-  { _bdmVirtualName = Nothing-  , _bdmNoDevice = Nothing-  , _bdmEBS = Nothing-  , _bdmDeviceName = Nothing-  }----- | The virtual device name. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> .-bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)-bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});---- | Suppresses the specified device included in the AMI's block device mapping.-bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)-bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});---- | An @EBSBlockDevice@ that defines how to configure an Amazon EBS volume when the instance is launched.-bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)-bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});---- | The device name that is exposed to the instance, such as @/dev/sdh@ . For the root device, you can use the explicit device name or you can set this parameter to @ROOT_DEVICE@ and AWS OpsWorks Stacks will provide the correct device name.-bdmDeviceName :: Lens' BlockDeviceMapping (Maybe Text)-bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});--instance FromJSON BlockDeviceMapping where-        parseJSON-          = withObject "BlockDeviceMapping"-              (\ x ->-                 BlockDeviceMapping' <$>-                   (x .:? "VirtualName") <*> (x .:? "NoDevice") <*>-                     (x .:? "Ebs")-                     <*> (x .:? "DeviceName"))--instance Hashable BlockDeviceMapping where--instance NFData BlockDeviceMapping where--instance ToJSON BlockDeviceMapping where-        toJSON BlockDeviceMapping'{..}-          = object-              (catMaybes-                 [("VirtualName" .=) <$> _bdmVirtualName,-                  ("NoDevice" .=) <$> _bdmNoDevice,-                  ("Ebs" .=) <$> _bdmEBS,-                  ("DeviceName" .=) <$> _bdmDeviceName])---- | Describes the Chef configuration.------------ /See:/ 'chefConfiguration' smart constructor.-data ChefConfiguration = ChefConfiguration'-  { _ccBerkshelfVersion :: !(Maybe Text)-  , _ccManageBerkshelf  :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ChefConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccBerkshelfVersion' - The Berkshelf version.------ * 'ccManageBerkshelf' - Whether to enable Berkshelf.-chefConfiguration-    :: ChefConfiguration-chefConfiguration =-  ChefConfiguration'-  {_ccBerkshelfVersion = Nothing, _ccManageBerkshelf = Nothing}----- | The Berkshelf version.-ccBerkshelfVersion :: Lens' ChefConfiguration (Maybe Text)-ccBerkshelfVersion = lens _ccBerkshelfVersion (\ s a -> s{_ccBerkshelfVersion = a});---- | Whether to enable Berkshelf.-ccManageBerkshelf :: Lens' ChefConfiguration (Maybe Bool)-ccManageBerkshelf = lens _ccManageBerkshelf (\ s a -> s{_ccManageBerkshelf = a});--instance FromJSON ChefConfiguration where-        parseJSON-          = withObject "ChefConfiguration"-              (\ x ->-                 ChefConfiguration' <$>-                   (x .:? "BerkshelfVersion") <*>-                     (x .:? "ManageBerkshelf"))--instance Hashable ChefConfiguration where--instance NFData ChefConfiguration where--instance ToJSON ChefConfiguration where-        toJSON ChefConfiguration'{..}-          = object-              (catMaybes-                 [("BerkshelfVersion" .=) <$> _ccBerkshelfVersion,-                  ("ManageBerkshelf" .=) <$> _ccManageBerkshelf])---- | Describes the Amazon CloudWatch logs configuration for a layer.------------ /See:/ 'cloudWatchLogsConfiguration' smart constructor.-data CloudWatchLogsConfiguration = CloudWatchLogsConfiguration'-  { _cwlcEnabled    :: !(Maybe Bool)-  , _cwlcLogStreams :: !(Maybe [CloudWatchLogsLogStream])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CloudWatchLogsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cwlcEnabled' - Whether CloudWatch Logs is enabled for a layer.------ * 'cwlcLogStreams' - A list of configuration options for CloudWatch Logs.-cloudWatchLogsConfiguration-    :: CloudWatchLogsConfiguration-cloudWatchLogsConfiguration =-  CloudWatchLogsConfiguration'-  {_cwlcEnabled = Nothing, _cwlcLogStreams = Nothing}----- | Whether CloudWatch Logs is enabled for a layer.-cwlcEnabled :: Lens' CloudWatchLogsConfiguration (Maybe Bool)-cwlcEnabled = lens _cwlcEnabled (\ s a -> s{_cwlcEnabled = a});---- | A list of configuration options for CloudWatch Logs.-cwlcLogStreams :: Lens' CloudWatchLogsConfiguration [CloudWatchLogsLogStream]-cwlcLogStreams = lens _cwlcLogStreams (\ s a -> s{_cwlcLogStreams = a}) . _Default . _Coerce;--instance FromJSON CloudWatchLogsConfiguration where-        parseJSON-          = withObject "CloudWatchLogsConfiguration"-              (\ x ->-                 CloudWatchLogsConfiguration' <$>-                   (x .:? "Enabled") <*>-                     (x .:? "LogStreams" .!= mempty))--instance Hashable CloudWatchLogsConfiguration where--instance NFData CloudWatchLogsConfiguration where--instance ToJSON CloudWatchLogsConfiguration where-        toJSON CloudWatchLogsConfiguration'{..}-          = object-              (catMaybes-                 [("Enabled" .=) <$> _cwlcEnabled,-                  ("LogStreams" .=) <$> _cwlcLogStreams])---- | Describes the Amazon CloudWatch logs configuration for a layer. For detailed information about members of this data type, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .------------ /See:/ 'cloudWatchLogsLogStream' smart constructor.-data CloudWatchLogsLogStream = CloudWatchLogsLogStream'-  { _cwllsBatchCount            :: !(Maybe Int)-  , _cwllsFileFingerprintLines  :: !(Maybe Text)-  , _cwllsBufferDuration        :: !(Maybe Int)-  , _cwllsBatchSize             :: !(Maybe Int)-  , _cwllsLogGroupName          :: !(Maybe Text)-  , _cwllsMultiLineStartPattern :: !(Maybe Text)-  , _cwllsInitialPosition       :: !(Maybe CloudWatchLogsInitialPosition)-  , _cwllsDatetimeFormat        :: !(Maybe Text)-  , _cwllsEncoding              :: !(Maybe CloudWatchLogsEncoding)-  , _cwllsTimeZone              :: !(Maybe CloudWatchLogsTimeZone)-  , _cwllsFile                  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CloudWatchLogsLogStream' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cwllsBatchCount' - Specifies the max number of log events in a batch, up to 10000. The default value is 1000.------ * 'cwllsFileFingerprintLines' - Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.------ * 'cwllsBufferDuration' - Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.------ * 'cwllsBatchSize' - Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.------ * 'cwllsLogGroupName' - Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).------ * 'cwllsMultiLineStartPattern' - Specifies the pattern for identifying the start of a log message.------ * 'cwllsInitialPosition' - Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.------ * 'cwllsDatetimeFormat' - Specifies how the time stamp is extracted from logs. For more information, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .------ * 'cwllsEncoding' - Specifies the encoding of the log file so that the file can be read correctly. The default is @utf_8@ . Encodings supported by Python @codecs.decode()@ can be used here.------ * 'cwllsTimeZone' - Specifies the time zone of log event time stamps.------ * 'cwllsFile' - Specifies log files that you want to push to CloudWatch Logs. @File@ can point to a specific file or multiple files (by using wild card characters such as @/var/log/system.log*@ ). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as @access_log.2014-06-01-01@ , @access_log.2014-06-01-02@ , and so on by using a pattern like @access_log.*@ . Don't use a wildcard to match multiple file types, such as @access_log_80@ and @access_log_443@ . To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group. Zipped files are not supported.-cloudWatchLogsLogStream-    :: CloudWatchLogsLogStream-cloudWatchLogsLogStream =-  CloudWatchLogsLogStream'-  { _cwllsBatchCount = Nothing-  , _cwllsFileFingerprintLines = Nothing-  , _cwllsBufferDuration = Nothing-  , _cwllsBatchSize = Nothing-  , _cwllsLogGroupName = Nothing-  , _cwllsMultiLineStartPattern = Nothing-  , _cwllsInitialPosition = Nothing-  , _cwllsDatetimeFormat = Nothing-  , _cwllsEncoding = Nothing-  , _cwllsTimeZone = Nothing-  , _cwllsFile = Nothing-  }----- | Specifies the max number of log events in a batch, up to 10000. The default value is 1000.-cwllsBatchCount :: Lens' CloudWatchLogsLogStream (Maybe Int)-cwllsBatchCount = lens _cwllsBatchCount (\ s a -> s{_cwllsBatchCount = a});---- | Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.-cwllsFileFingerprintLines :: Lens' CloudWatchLogsLogStream (Maybe Text)-cwllsFileFingerprintLines = lens _cwllsFileFingerprintLines (\ s a -> s{_cwllsFileFingerprintLines = a});---- | Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.-cwllsBufferDuration :: Lens' CloudWatchLogsLogStream (Maybe Int)-cwllsBufferDuration = lens _cwllsBufferDuration (\ s a -> s{_cwllsBufferDuration = a});---- | Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.-cwllsBatchSize :: Lens' CloudWatchLogsLogStream (Maybe Int)-cwllsBatchSize = lens _cwllsBatchSize (\ s a -> s{_cwllsBatchSize = a});---- | Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).-cwllsLogGroupName :: Lens' CloudWatchLogsLogStream (Maybe Text)-cwllsLogGroupName = lens _cwllsLogGroupName (\ s a -> s{_cwllsLogGroupName = a});---- | Specifies the pattern for identifying the start of a log message.-cwllsMultiLineStartPattern :: Lens' CloudWatchLogsLogStream (Maybe Text)-cwllsMultiLineStartPattern = lens _cwllsMultiLineStartPattern (\ s a -> s{_cwllsMultiLineStartPattern = a});---- | Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.-cwllsInitialPosition :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsInitialPosition)-cwllsInitialPosition = lens _cwllsInitialPosition (\ s a -> s{_cwllsInitialPosition = a});---- | Specifies how the time stamp is extracted from logs. For more information, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .-cwllsDatetimeFormat :: Lens' CloudWatchLogsLogStream (Maybe Text)-cwllsDatetimeFormat = lens _cwllsDatetimeFormat (\ s a -> s{_cwllsDatetimeFormat = a});---- | Specifies the encoding of the log file so that the file can be read correctly. The default is @utf_8@ . Encodings supported by Python @codecs.decode()@ can be used here.-cwllsEncoding :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsEncoding)-cwllsEncoding = lens _cwllsEncoding (\ s a -> s{_cwllsEncoding = a});---- | Specifies the time zone of log event time stamps.-cwllsTimeZone :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsTimeZone)-cwllsTimeZone = lens _cwllsTimeZone (\ s a -> s{_cwllsTimeZone = a});---- | Specifies log files that you want to push to CloudWatch Logs. @File@ can point to a specific file or multiple files (by using wild card characters such as @/var/log/system.log*@ ). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as @access_log.2014-06-01-01@ , @access_log.2014-06-01-02@ , and so on by using a pattern like @access_log.*@ . Don't use a wildcard to match multiple file types, such as @access_log_80@ and @access_log_443@ . To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group. Zipped files are not supported.-cwllsFile :: Lens' CloudWatchLogsLogStream (Maybe Text)-cwllsFile = lens _cwllsFile (\ s a -> s{_cwllsFile = a});--instance FromJSON CloudWatchLogsLogStream where-        parseJSON-          = withObject "CloudWatchLogsLogStream"-              (\ x ->-                 CloudWatchLogsLogStream' <$>-                   (x .:? "BatchCount") <*>-                     (x .:? "FileFingerprintLines")-                     <*> (x .:? "BufferDuration")-                     <*> (x .:? "BatchSize")-                     <*> (x .:? "LogGroupName")-                     <*> (x .:? "MultiLineStartPattern")-                     <*> (x .:? "InitialPosition")-                     <*> (x .:? "DatetimeFormat")-                     <*> (x .:? "Encoding")-                     <*> (x .:? "TimeZone")-                     <*> (x .:? "File"))--instance Hashable CloudWatchLogsLogStream where--instance NFData CloudWatchLogsLogStream where--instance ToJSON CloudWatchLogsLogStream where-        toJSON CloudWatchLogsLogStream'{..}-          = object-              (catMaybes-                 [("BatchCount" .=) <$> _cwllsBatchCount,-                  ("FileFingerprintLines" .=) <$>-                    _cwllsFileFingerprintLines,-                  ("BufferDuration" .=) <$> _cwllsBufferDuration,-                  ("BatchSize" .=) <$> _cwllsBatchSize,-                  ("LogGroupName" .=) <$> _cwllsLogGroupName,-                  ("MultiLineStartPattern" .=) <$>-                    _cwllsMultiLineStartPattern,-                  ("InitialPosition" .=) <$> _cwllsInitialPosition,-                  ("DatetimeFormat" .=) <$> _cwllsDatetimeFormat,-                  ("Encoding" .=) <$> _cwllsEncoding,-                  ("TimeZone" .=) <$> _cwllsTimeZone,-                  ("File" .=) <$> _cwllsFile])---- | Describes a command.------------ /See:/ 'command' smart constructor.-data Command = Command'-  { _cDeploymentId   :: !(Maybe Text)-  , _cInstanceId     :: !(Maybe Text)-  , _cStatus         :: !(Maybe Text)-  , _cLogURL         :: !(Maybe Text)-  , _cCreatedAt      :: !(Maybe Text)-  , _cCommandId      :: !(Maybe Text)-  , _cExitCode       :: !(Maybe Int)-  , _cType           :: !(Maybe Text)-  , _cCompletedAt    :: !(Maybe Text)-  , _cAcknowledgedAt :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Command' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cDeploymentId' - The command deployment ID.------ * 'cInstanceId' - The ID of the instance where the command was executed.------ * 'cStatus' - The command status:     * failed     * successful     * skipped     * pending------ * 'cLogURL' - The URL of the command log.------ * 'cCreatedAt' - Date and time when the command was run.------ * 'cCommandId' - The command ID.------ * 'cExitCode' - The command exit code.------ * 'cType' - The command type:     * @configure@      * @deploy@      * @execute_recipes@      * @install_dependencies@      * @restart@      * @rollback@      * @setup@      * @start@      * @stop@      * @undeploy@      * @update_custom_cookbooks@      * @update_dependencies@------ * 'cCompletedAt' - Date when the command completed.------ * 'cAcknowledgedAt' - Date and time when the command was acknowledged.-command-    :: Command-command =-  Command'-  { _cDeploymentId = Nothing-  , _cInstanceId = Nothing-  , _cStatus = Nothing-  , _cLogURL = Nothing-  , _cCreatedAt = Nothing-  , _cCommandId = Nothing-  , _cExitCode = Nothing-  , _cType = Nothing-  , _cCompletedAt = Nothing-  , _cAcknowledgedAt = Nothing-  }----- | The command deployment ID.-cDeploymentId :: Lens' Command (Maybe Text)-cDeploymentId = lens _cDeploymentId (\ s a -> s{_cDeploymentId = a});---- | The ID of the instance where the command was executed.-cInstanceId :: Lens' Command (Maybe Text)-cInstanceId = lens _cInstanceId (\ s a -> s{_cInstanceId = a});---- | The command status:     * failed     * successful     * skipped     * pending-cStatus :: Lens' Command (Maybe Text)-cStatus = lens _cStatus (\ s a -> s{_cStatus = a});---- | The URL of the command log.-cLogURL :: Lens' Command (Maybe Text)-cLogURL = lens _cLogURL (\ s a -> s{_cLogURL = a});---- | Date and time when the command was run.-cCreatedAt :: Lens' Command (Maybe Text)-cCreatedAt = lens _cCreatedAt (\ s a -> s{_cCreatedAt = a});---- | The command ID.-cCommandId :: Lens' Command (Maybe Text)-cCommandId = lens _cCommandId (\ s a -> s{_cCommandId = a});---- | The command exit code.-cExitCode :: Lens' Command (Maybe Int)-cExitCode = lens _cExitCode (\ s a -> s{_cExitCode = a});---- | The command type:     * @configure@      * @deploy@      * @execute_recipes@      * @install_dependencies@      * @restart@      * @rollback@      * @setup@      * @start@      * @stop@      * @undeploy@      * @update_custom_cookbooks@      * @update_dependencies@-cType :: Lens' Command (Maybe Text)-cType = lens _cType (\ s a -> s{_cType = a});---- | Date when the command completed.-cCompletedAt :: Lens' Command (Maybe Text)-cCompletedAt = lens _cCompletedAt (\ s a -> s{_cCompletedAt = a});---- | Date and time when the command was acknowledged.-cAcknowledgedAt :: Lens' Command (Maybe Text)-cAcknowledgedAt = lens _cAcknowledgedAt (\ s a -> s{_cAcknowledgedAt = a});--instance FromJSON Command where-        parseJSON-          = withObject "Command"-              (\ x ->-                 Command' <$>-                   (x .:? "DeploymentId") <*> (x .:? "InstanceId") <*>-                     (x .:? "Status")-                     <*> (x .:? "LogUrl")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "CommandId")-                     <*> (x .:? "ExitCode")-                     <*> (x .:? "Type")-                     <*> (x .:? "CompletedAt")-                     <*> (x .:? "AcknowledgedAt"))--instance Hashable Command where--instance NFData Command where---- | Describes an app's data source.------------ /See:/ 'dataSource' smart constructor.-data DataSource = DataSource'-  { _dsARN          :: !(Maybe Text)-  , _dsDatabaseName :: !(Maybe Text)-  , _dsType         :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DataSource' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dsARN' - The data source's ARN.------ * 'dsDatabaseName' - The database name.------ * 'dsType' - The data source's type, @AutoSelectOpsworksMysqlInstance@ , @OpsworksMysqlInstance@ , or @RdsDbInstance@ .-dataSource-    :: DataSource-dataSource =-  DataSource' {_dsARN = Nothing, _dsDatabaseName = Nothing, _dsType = Nothing}----- | The data source's ARN.-dsARN :: Lens' DataSource (Maybe Text)-dsARN = lens _dsARN (\ s a -> s{_dsARN = a});---- | The database name.-dsDatabaseName :: Lens' DataSource (Maybe Text)-dsDatabaseName = lens _dsDatabaseName (\ s a -> s{_dsDatabaseName = a});---- | The data source's type, @AutoSelectOpsworksMysqlInstance@ , @OpsworksMysqlInstance@ , or @RdsDbInstance@ .-dsType :: Lens' DataSource (Maybe Text)-dsType = lens _dsType (\ s a -> s{_dsType = a});--instance FromJSON DataSource where-        parseJSON-          = withObject "DataSource"-              (\ x ->-                 DataSource' <$>-                   (x .:? "Arn") <*> (x .:? "DatabaseName") <*>-                     (x .:? "Type"))--instance Hashable DataSource where--instance NFData DataSource where--instance ToJSON DataSource where-        toJSON DataSource'{..}-          = object-              (catMaybes-                 [("Arn" .=) <$> _dsARN,-                  ("DatabaseName" .=) <$> _dsDatabaseName,-                  ("Type" .=) <$> _dsType])---- | Describes a deployment of a stack or app.------------ /See:/ 'deployment' smart constructor.-data Deployment = Deployment'-  { _dDeploymentId :: !(Maybe Text)-  , _dStatus       :: !(Maybe Text)-  , _dCommand      :: !(Maybe DeploymentCommand)-  , _dCreatedAt    :: !(Maybe Text)-  , _dCustomJSON   :: !(Maybe Text)-  , _dIAMUserARN   :: !(Maybe Text)-  , _dAppId        :: !(Maybe Text)-  , _dInstanceIds  :: !(Maybe [Text])-  , _dCompletedAt  :: !(Maybe Text)-  , _dStackId      :: !(Maybe Text)-  , _dComment      :: !(Maybe Text)-  , _dDuration     :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Deployment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dDeploymentId' - The deployment ID.------ * 'dStatus' - The deployment status:     * running     * successful     * failed------ * 'dCommand' - Undocumented member.------ * 'dCreatedAt' - Date when the deployment was created.------ * 'dCustomJSON' - A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .------ * 'dIAMUserARN' - The user's IAM ARN.------ * 'dAppId' - The app ID.------ * 'dInstanceIds' - The IDs of the target instances.------ * 'dCompletedAt' - Date when the deployment completed.------ * 'dStackId' - The stack ID.------ * 'dComment' - A user-defined comment.------ * 'dDuration' - The deployment duration.-deployment-    :: Deployment-deployment =-  Deployment'-  { _dDeploymentId = Nothing-  , _dStatus = Nothing-  , _dCommand = Nothing-  , _dCreatedAt = Nothing-  , _dCustomJSON = Nothing-  , _dIAMUserARN = Nothing-  , _dAppId = Nothing-  , _dInstanceIds = Nothing-  , _dCompletedAt = Nothing-  , _dStackId = Nothing-  , _dComment = Nothing-  , _dDuration = Nothing-  }----- | The deployment ID.-dDeploymentId :: Lens' Deployment (Maybe Text)-dDeploymentId = lens _dDeploymentId (\ s a -> s{_dDeploymentId = a});---- | The deployment status:     * running     * successful     * failed-dStatus :: Lens' Deployment (Maybe Text)-dStatus = lens _dStatus (\ s a -> s{_dStatus = a});---- | Undocumented member.-dCommand :: Lens' Deployment (Maybe DeploymentCommand)-dCommand = lens _dCommand (\ s a -> s{_dCommand = a});---- | Date when the deployment was created.-dCreatedAt :: Lens' Deployment (Maybe Text)-dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a});---- | A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .-dCustomJSON :: Lens' Deployment (Maybe Text)-dCustomJSON = lens _dCustomJSON (\ s a -> s{_dCustomJSON = a});---- | The user's IAM ARN.-dIAMUserARN :: Lens' Deployment (Maybe Text)-dIAMUserARN = lens _dIAMUserARN (\ s a -> s{_dIAMUserARN = a});---- | The app ID.-dAppId :: Lens' Deployment (Maybe Text)-dAppId = lens _dAppId (\ s a -> s{_dAppId = a});---- | The IDs of the target instances.-dInstanceIds :: Lens' Deployment [Text]-dInstanceIds = lens _dInstanceIds (\ s a -> s{_dInstanceIds = a}) . _Default . _Coerce;---- | Date when the deployment completed.-dCompletedAt :: Lens' Deployment (Maybe Text)-dCompletedAt = lens _dCompletedAt (\ s a -> s{_dCompletedAt = a});---- | The stack ID.-dStackId :: Lens' Deployment (Maybe Text)-dStackId = lens _dStackId (\ s a -> s{_dStackId = a});---- | A user-defined comment.-dComment :: Lens' Deployment (Maybe Text)-dComment = lens _dComment (\ s a -> s{_dComment = a});---- | The deployment duration.-dDuration :: Lens' Deployment (Maybe Int)-dDuration = lens _dDuration (\ s a -> s{_dDuration = a});--instance FromJSON Deployment where-        parseJSON-          = withObject "Deployment"-              (\ x ->-                 Deployment' <$>-                   (x .:? "DeploymentId") <*> (x .:? "Status") <*>-                     (x .:? "Command")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "CustomJson")-                     <*> (x .:? "IamUserArn")-                     <*> (x .:? "AppId")-                     <*> (x .:? "InstanceIds" .!= mempty)-                     <*> (x .:? "CompletedAt")-                     <*> (x .:? "StackId")-                     <*> (x .:? "Comment")-                     <*> (x .:? "Duration"))--instance Hashable Deployment where--instance NFData Deployment where---- | Used to specify a stack or deployment command.------------ /See:/ 'deploymentCommand' smart constructor.-data DeploymentCommand = DeploymentCommand'-  { _dcArgs :: !(Maybe (Map Text [Text]))-  , _dcName :: !DeploymentCommandName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeploymentCommand' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dcArgs' - The arguments of those commands that take arguments. It should be set to a JSON object with the following format: @{"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}@  The @update_dependencies@ command takes two arguments:     * @upgrade_os_to@ - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as @Amazon Linux 2016.09@ . You must also set the @allow_reboot@ argument to true.     * @allow_reboot@ - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either @true@ or @false@ . The default value is @false@ . For example, to upgrade an instance to Amazon Linux 2016.09, set @Args@ to the following. @{ "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } @------ * 'dcName' - Specifies the operation. You can specify only one command. For stacks, the following commands are available:     * @execute_recipes@ : Execute one or more recipes. To specify the recipes, set an @Args@ parameter named @recipes@ to the list of recipes to be executed. For example, to execute @phpapp::appsetup@ , set @Args@ to @{"recipes":["phpapp::appsetup"]}@ .     * @install_dependencies@ : Install the stack's dependencies.     * @update_custom_cookbooks@ : Update the stack's custom cookbooks.     * @update_dependencies@ : Update the stack's dependencies. For apps, the following commands are available:     * @deploy@ : Deploy an app. Ruby on Rails apps have an optional @Args@ parameter named @migrate@ . Set @Args@ to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.     * @rollback@ Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.     * @start@ : Start the app's web or application server.     * @stop@ : Stop the app's web or application server.     * @restart@ : Restart the app's web or application server.     * @undeploy@ : Undeploy the app.-deploymentCommand-    :: DeploymentCommandName -- ^ 'dcName'-    -> DeploymentCommand-deploymentCommand pName_ =-  DeploymentCommand' {_dcArgs = Nothing, _dcName = pName_}----- | The arguments of those commands that take arguments. It should be set to a JSON object with the following format: @{"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}@  The @update_dependencies@ command takes two arguments:     * @upgrade_os_to@ - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as @Amazon Linux 2016.09@ . You must also set the @allow_reboot@ argument to true.     * @allow_reboot@ - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either @true@ or @false@ . The default value is @false@ . For example, to upgrade an instance to Amazon Linux 2016.09, set @Args@ to the following. @{ "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } @-dcArgs :: Lens' DeploymentCommand (HashMap Text [Text])-dcArgs = lens _dcArgs (\ s a -> s{_dcArgs = a}) . _Default . _Map;---- | Specifies the operation. You can specify only one command. For stacks, the following commands are available:     * @execute_recipes@ : Execute one or more recipes. To specify the recipes, set an @Args@ parameter named @recipes@ to the list of recipes to be executed. For example, to execute @phpapp::appsetup@ , set @Args@ to @{"recipes":["phpapp::appsetup"]}@ .     * @install_dependencies@ : Install the stack's dependencies.     * @update_custom_cookbooks@ : Update the stack's custom cookbooks.     * @update_dependencies@ : Update the stack's dependencies. For apps, the following commands are available:     * @deploy@ : Deploy an app. Ruby on Rails apps have an optional @Args@ parameter named @migrate@ . Set @Args@ to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.     * @rollback@ Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.     * @start@ : Start the app's web or application server.     * @stop@ : Stop the app's web or application server.     * @restart@ : Restart the app's web or application server.     * @undeploy@ : Undeploy the app.-dcName :: Lens' DeploymentCommand DeploymentCommandName-dcName = lens _dcName (\ s a -> s{_dcName = a});--instance FromJSON DeploymentCommand where-        parseJSON-          = withObject "DeploymentCommand"-              (\ x ->-                 DeploymentCommand' <$>-                   (x .:? "Args" .!= mempty) <*> (x .: "Name"))--instance Hashable DeploymentCommand where--instance NFData DeploymentCommand where--instance ToJSON DeploymentCommand where-        toJSON DeploymentCommand'{..}-          = object-              (catMaybes-                 [("Args" .=) <$> _dcArgs, Just ("Name" .= _dcName)])---- | Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> data type.------------ /See:/ 'ebsBlockDevice' smart constructor.-data EBSBlockDevice = EBSBlockDevice'-  { _ebdDeleteOnTermination :: !(Maybe Bool)-  , _ebdVolumeSize          :: !(Maybe Int)-  , _ebdIOPS                :: !(Maybe Int)-  , _ebdVolumeType          :: !(Maybe VolumeType)-  , _ebdSnapshotId          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ebdDeleteOnTermination' - Whether the volume is deleted on instance termination.------ * 'ebdVolumeSize' - The volume size, in GiB. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .------ * 'ebdIOPS' - The number of I/O operations per second (IOPS) that the volume supports. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .------ * 'ebdVolumeType' - The volume type. @gp2@ for General Purpose (SSD) volumes, @io1@ for Provisioned IOPS (SSD) volumes, and @standard@ for Magnetic volumes.------ * 'ebdSnapshotId' - The snapshot ID.-ebsBlockDevice-    :: EBSBlockDevice-ebsBlockDevice =-  EBSBlockDevice'-  { _ebdDeleteOnTermination = Nothing-  , _ebdVolumeSize = Nothing-  , _ebdIOPS = Nothing-  , _ebdVolumeType = Nothing-  , _ebdSnapshotId = Nothing-  }----- | Whether the volume is deleted on instance termination.-ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)-ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});---- | The volume size, in GiB. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .-ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)-ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});---- | The number of I/O operations per second (IOPS) that the volume supports. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .-ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)-ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});---- | The volume type. @gp2@ for General Purpose (SSD) volumes, @io1@ for Provisioned IOPS (SSD) volumes, and @standard@ for Magnetic volumes.-ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)-ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});---- | The snapshot ID.-ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)-ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});--instance FromJSON EBSBlockDevice where-        parseJSON-          = withObject "EBSBlockDevice"-              (\ x ->-                 EBSBlockDevice' <$>-                   (x .:? "DeleteOnTermination") <*>-                     (x .:? "VolumeSize")-                     <*> (x .:? "Iops")-                     <*> (x .:? "VolumeType")-                     <*> (x .:? "SnapshotId"))--instance Hashable EBSBlockDevice where--instance NFData EBSBlockDevice where--instance ToJSON EBSBlockDevice where-        toJSON EBSBlockDevice'{..}-          = object-              (catMaybes-                 [("DeleteOnTermination" .=) <$>-                    _ebdDeleteOnTermination,-                  ("VolumeSize" .=) <$> _ebdVolumeSize,-                  ("Iops" .=) <$> _ebdIOPS,-                  ("VolumeType" .=) <$> _ebdVolumeType,-                  ("SnapshotId" .=) <$> _ebdSnapshotId])---- | Describes a registered Amazon ECS cluster.------------ /See:/ 'ecsCluster' smart constructor.-data EcsCluster = EcsCluster'-  { _ecEcsClusterARN  :: !(Maybe Text)-  , _ecEcsClusterName :: !(Maybe Text)-  , _ecRegisteredAt   :: !(Maybe Text)-  , _ecStackId        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EcsCluster' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ecEcsClusterARN' - The cluster's ARN.------ * 'ecEcsClusterName' - The cluster name.------ * 'ecRegisteredAt' - The time and date that the cluster was registered with the stack.------ * 'ecStackId' - The stack ID.-ecsCluster-    :: EcsCluster-ecsCluster =-  EcsCluster'-  { _ecEcsClusterARN = Nothing-  , _ecEcsClusterName = Nothing-  , _ecRegisteredAt = Nothing-  , _ecStackId = Nothing-  }----- | The cluster's ARN.-ecEcsClusterARN :: Lens' EcsCluster (Maybe Text)-ecEcsClusterARN = lens _ecEcsClusterARN (\ s a -> s{_ecEcsClusterARN = a});---- | The cluster name.-ecEcsClusterName :: Lens' EcsCluster (Maybe Text)-ecEcsClusterName = lens _ecEcsClusterName (\ s a -> s{_ecEcsClusterName = a});---- | The time and date that the cluster was registered with the stack.-ecRegisteredAt :: Lens' EcsCluster (Maybe Text)-ecRegisteredAt = lens _ecRegisteredAt (\ s a -> s{_ecRegisteredAt = a});---- | The stack ID.-ecStackId :: Lens' EcsCluster (Maybe Text)-ecStackId = lens _ecStackId (\ s a -> s{_ecStackId = a});--instance FromJSON EcsCluster where-        parseJSON-          = withObject "EcsCluster"-              (\ x ->-                 EcsCluster' <$>-                   (x .:? "EcsClusterArn") <*> (x .:? "EcsClusterName")-                     <*> (x .:? "RegisteredAt")-                     <*> (x .:? "StackId"))--instance Hashable EcsCluster where--instance NFData EcsCluster where---- | Describes an Elastic IP address.------------ /See:/ 'elasticIP' smart constructor.-data ElasticIP = ElasticIP'-  { _eiInstanceId :: !(Maybe Text)-  , _eiDomain     :: !(Maybe Text)-  , _eiIP         :: !(Maybe Text)-  , _eiName       :: !(Maybe Text)-  , _eiRegion     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ElasticIP' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eiInstanceId' - The ID of the instance that the address is attached to.------ * 'eiDomain' - The domain.------ * 'eiIP' - The IP address.------ * 'eiName' - The name.------ * 'eiRegion' - The AWS region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-elasticIP-    :: ElasticIP-elasticIP =-  ElasticIP'-  { _eiInstanceId = Nothing-  , _eiDomain = Nothing-  , _eiIP = Nothing-  , _eiName = Nothing-  , _eiRegion = Nothing-  }----- | The ID of the instance that the address is attached to.-eiInstanceId :: Lens' ElasticIP (Maybe Text)-eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a});---- | The domain.-eiDomain :: Lens' ElasticIP (Maybe Text)-eiDomain = lens _eiDomain (\ s a -> s{_eiDomain = a});---- | The IP address.-eiIP :: Lens' ElasticIP (Maybe Text)-eiIP = lens _eiIP (\ s a -> s{_eiIP = a});---- | The name.-eiName :: Lens' ElasticIP (Maybe Text)-eiName = lens _eiName (\ s a -> s{_eiName = a});---- | The AWS region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-eiRegion :: Lens' ElasticIP (Maybe Text)-eiRegion = lens _eiRegion (\ s a -> s{_eiRegion = a});--instance FromJSON ElasticIP where-        parseJSON-          = withObject "ElasticIP"-              (\ x ->-                 ElasticIP' <$>-                   (x .:? "InstanceId") <*> (x .:? "Domain") <*>-                     (x .:? "Ip")-                     <*> (x .:? "Name")-                     <*> (x .:? "Region"))--instance Hashable ElasticIP where--instance NFData ElasticIP where---- | Describes an Elastic Load Balancing instance.------------ /See:/ 'elasticLoadBalancer' smart constructor.-data ElasticLoadBalancer = ElasticLoadBalancer'-  { _elbSubnetIds               :: !(Maybe [Text])-  , _elbVPCId                   :: !(Maybe Text)-  , _elbAvailabilityZones       :: !(Maybe [Text])-  , _elbRegion                  :: !(Maybe Text)-  , _elbElasticLoadBalancerName :: !(Maybe Text)-  , _elbStackId                 :: !(Maybe Text)-  , _elbEC2InstanceIds          :: !(Maybe [Text])-  , _elbLayerId                 :: !(Maybe Text)-  , _elbDNSName                 :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ElasticLoadBalancer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'elbSubnetIds' - A list of subnet IDs, if the stack is running in a VPC.------ * 'elbVPCId' - The VPC ID.------ * 'elbAvailabilityZones' - A list of Availability Zones.------ * 'elbRegion' - The instance's AWS region.------ * 'elbElasticLoadBalancerName' - The Elastic Load Balancing instance's name.------ * 'elbStackId' - The ID of the stack that the instance is associated with.------ * 'elbEC2InstanceIds' - A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.------ * 'elbLayerId' - The ID of the layer that the instance is attached to.------ * 'elbDNSName' - The instance's public DNS name.-elasticLoadBalancer-    :: ElasticLoadBalancer-elasticLoadBalancer =-  ElasticLoadBalancer'-  { _elbSubnetIds = Nothing-  , _elbVPCId = Nothing-  , _elbAvailabilityZones = Nothing-  , _elbRegion = Nothing-  , _elbElasticLoadBalancerName = Nothing-  , _elbStackId = Nothing-  , _elbEC2InstanceIds = Nothing-  , _elbLayerId = Nothing-  , _elbDNSName = Nothing-  }----- | A list of subnet IDs, if the stack is running in a VPC.-elbSubnetIds :: Lens' ElasticLoadBalancer [Text]-elbSubnetIds = lens _elbSubnetIds (\ s a -> s{_elbSubnetIds = a}) . _Default . _Coerce;---- | The VPC ID.-elbVPCId :: Lens' ElasticLoadBalancer (Maybe Text)-elbVPCId = lens _elbVPCId (\ s a -> s{_elbVPCId = a});---- | A list of Availability Zones.-elbAvailabilityZones :: Lens' ElasticLoadBalancer [Text]-elbAvailabilityZones = lens _elbAvailabilityZones (\ s a -> s{_elbAvailabilityZones = a}) . _Default . _Coerce;---- | The instance's AWS region.-elbRegion :: Lens' ElasticLoadBalancer (Maybe Text)-elbRegion = lens _elbRegion (\ s a -> s{_elbRegion = a});---- | The Elastic Load Balancing instance's name.-elbElasticLoadBalancerName :: Lens' ElasticLoadBalancer (Maybe Text)-elbElasticLoadBalancerName = lens _elbElasticLoadBalancerName (\ s a -> s{_elbElasticLoadBalancerName = a});---- | The ID of the stack that the instance is associated with.-elbStackId :: Lens' ElasticLoadBalancer (Maybe Text)-elbStackId = lens _elbStackId (\ s a -> s{_elbStackId = a});---- | A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.-elbEC2InstanceIds :: Lens' ElasticLoadBalancer [Text]-elbEC2InstanceIds = lens _elbEC2InstanceIds (\ s a -> s{_elbEC2InstanceIds = a}) . _Default . _Coerce;---- | The ID of the layer that the instance is attached to.-elbLayerId :: Lens' ElasticLoadBalancer (Maybe Text)-elbLayerId = lens _elbLayerId (\ s a -> s{_elbLayerId = a});---- | The instance's public DNS name.-elbDNSName :: Lens' ElasticLoadBalancer (Maybe Text)-elbDNSName = lens _elbDNSName (\ s a -> s{_elbDNSName = a});--instance FromJSON ElasticLoadBalancer where-        parseJSON-          = withObject "ElasticLoadBalancer"-              (\ x ->-                 ElasticLoadBalancer' <$>-                   (x .:? "SubnetIds" .!= mempty) <*> (x .:? "VpcId")-                     <*> (x .:? "AvailabilityZones" .!= mempty)-                     <*> (x .:? "Region")-                     <*> (x .:? "ElasticLoadBalancerName")-                     <*> (x .:? "StackId")-                     <*> (x .:? "Ec2InstanceIds" .!= mempty)-                     <*> (x .:? "LayerId")-                     <*> (x .:? "DnsName"))--instance Hashable ElasticLoadBalancer where--instance NFData ElasticLoadBalancer where---- | Represents an app's environment variable.------------ /See:/ 'environmentVariable' smart constructor.-data EnvironmentVariable = EnvironmentVariable'-  { _evSecure :: !(Maybe Bool)-  , _evKey    :: !Text-  , _evValue  :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EnvironmentVariable' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'evSecure' - (Optional) Whether the variable's value will be returned by the 'DescribeApps' action. To conceal an environment variable's value, set @Secure@ to @true@ . @DescribeApps@ then returns @*****FILTERED*****@ instead of the actual value. The default value for @Secure@ is @false@ .------ * 'evKey' - (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.------ * 'evValue' - (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.-environmentVariable-    :: Text -- ^ 'evKey'-    -> Text -- ^ 'evValue'-    -> EnvironmentVariable-environmentVariable pKey_ pValue_ =-  EnvironmentVariable' {_evSecure = Nothing, _evKey = pKey_, _evValue = pValue_}----- | (Optional) Whether the variable's value will be returned by the 'DescribeApps' action. To conceal an environment variable's value, set @Secure@ to @true@ . @DescribeApps@ then returns @*****FILTERED*****@ instead of the actual value. The default value for @Secure@ is @false@ .-evSecure :: Lens' EnvironmentVariable (Maybe Bool)-evSecure = lens _evSecure (\ s a -> s{_evSecure = a});---- | (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.-evKey :: Lens' EnvironmentVariable Text-evKey = lens _evKey (\ s a -> s{_evKey = a});---- | (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.-evValue :: Lens' EnvironmentVariable Text-evValue = lens _evValue (\ s a -> s{_evValue = a});--instance FromJSON EnvironmentVariable where-        parseJSON-          = withObject "EnvironmentVariable"-              (\ x ->-                 EnvironmentVariable' <$>-                   (x .:? "Secure") <*> (x .: "Key") <*> (x .: "Value"))--instance Hashable EnvironmentVariable where--instance NFData EnvironmentVariable where--instance ToJSON EnvironmentVariable where-        toJSON EnvironmentVariable'{..}-          = object-              (catMaybes-                 [("Secure" .=) <$> _evSecure, Just ("Key" .= _evKey),-                  Just ("Value" .= _evValue)])---- | Describes an instance.------------ /See:/ 'instance'' smart constructor.-data Instance = Instance'-  { _iPrivateDNS               :: !(Maybe Text)-  , _iReportedAgentVersion     :: !(Maybe Text)-  , _iInstanceId               :: !(Maybe Text)-  , _iStatus                   :: !(Maybe Text)-  , _iPrivateIP                :: !(Maybe Text)-  , _iInstallUpdatesOnBoot     :: !(Maybe Bool)-  , _iVirtualizationType       :: !(Maybe VirtualizationType)-  , _iInstanceProfileARN       :: !(Maybe Text)-  , _iPlatform                 :: !(Maybe Text)-  , _iHostname                 :: !(Maybe Text)-  , _iSSHHostRsaKeyFingerprint :: !(Maybe Text)-  , _iSecurityGroupIds         :: !(Maybe [Text])-  , _iEcsClusterARN            :: !(Maybe Text)-  , _iARN                      :: !(Maybe Text)-  , _iCreatedAt                :: !(Maybe Text)-  , _iEC2InstanceId            :: !(Maybe Text)-  , _iSSHKeyName               :: !(Maybe Text)-  , _iAgentVersion             :: !(Maybe Text)-  , _iRootDeviceVolumeId       :: !(Maybe Text)-  , _iSubnetId                 :: !(Maybe Text)-  , _iInfrastructureClass      :: !(Maybe Text)-  , _iSSHHostDsaKeyFingerprint :: !(Maybe Text)-  , _iInstanceType             :: !(Maybe Text)-  , _iEBSOptimized             :: !(Maybe Bool)-  , _iElasticIP                :: !(Maybe Text)-  , _iOS                       :: !(Maybe Text)-  , _iAvailabilityZone         :: !(Maybe Text)-  , _iLastServiceErrorId       :: !(Maybe Text)-  , _iTenancy                  :: !(Maybe Text)-  , _iAutoScalingType          :: !(Maybe AutoScalingType)-  , _iLayerIds                 :: !(Maybe [Text])-  , _iArchitecture             :: !(Maybe Architecture)-  , _iPublicDNS                :: !(Maybe Text)-  , _iAMIId                    :: !(Maybe Text)-  , _iPublicIP                 :: !(Maybe Text)-  , _iReportedOS               :: !(Maybe ReportedOS)-  , _iRegisteredBy             :: !(Maybe Text)-  , _iStackId                  :: !(Maybe Text)-  , _iRootDeviceType           :: !(Maybe RootDeviceType)-  , _iEcsContainerInstanceARN  :: !(Maybe Text)-  , _iBlockDeviceMappings      :: !(Maybe [BlockDeviceMapping])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Instance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iPrivateDNS' - The instance's private DNS name.------ * 'iReportedAgentVersion' - The instance's reported AWS OpsWorks Stacks agent version.------ * 'iInstanceId' - The instance ID.------ * 'iStatus' - The instance status:     * @booting@      * @connection_lost@      * @online@      * @pending@      * @rebooting@      * @requested@      * @running_setup@      * @setup_failed@      * @shutting_down@      * @start_failed@      * @stop_failed@      * @stopped@      * @stopping@      * @terminated@      * @terminating@------ * 'iPrivateIP' - The instance's private IP address.------ * 'iInstallUpdatesOnBoot' - Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.------ * 'iVirtualizationType' - The instance's virtualization type: @paravirtual@ or @hvm@ .------ * 'iInstanceProfileARN' - The ARN of the instance's IAM profile. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .------ * 'iPlatform' - The instance's platform.------ * 'iHostname' - The instance host name.------ * 'iSSHHostRsaKeyFingerprint' - The SSH key's RSA fingerprint.------ * 'iSecurityGroupIds' - An array containing the instance security group IDs.------ * 'iEcsClusterARN' - For container instances, the Amazon ECS cluster's ARN.------ * 'iARN' - Undocumented member.------ * 'iCreatedAt' - The time that the instance was created.------ * 'iEC2InstanceId' - The ID of the associated Amazon EC2 instance.------ * 'iSSHKeyName' - The instance's Amazon EC2 key-pair name.------ * 'iAgentVersion' - The agent version. This parameter is set to @INHERIT@ if the instance inherits the default stack setting or to a a version number for a fixed agent version.------ * 'iRootDeviceVolumeId' - The root device volume ID.------ * 'iSubnetId' - The instance's subnet ID; applicable only if the stack is running in a VPC.------ * 'iInfrastructureClass' - For registered instances, the infrastructure class: @ec2@ or @on-premises@ .------ * 'iSSHHostDsaKeyFingerprint' - The SSH key's Deep Security Agent (DSA) fingerprint.------ * 'iInstanceType' - The instance type, such as @t2.micro@ .------ * 'iEBSOptimized' - Whether this is an Amazon EBS-optimized instance.------ * 'iElasticIP' - The instance <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address > .------ * 'iOS' - The instance's operating system.------ * 'iAvailabilityZone' - The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'iLastServiceErrorId' - The ID of the last service error. For more information, call 'DescribeServiceErrors' .------ * 'iTenancy' - The instance's tenancy option, such as @dedicated@ or @host@ .------ * 'iAutoScalingType' - For load-based or time-based instances, the type.------ * 'iLayerIds' - An array containing the instance layer IDs.------ * 'iArchitecture' - The instance architecture: "i386" or "x86_64".------ * 'iPublicDNS' - The instance public DNS name.------ * 'iAMIId' - A custom AMI ID to be used to create the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Instances>------ * 'iPublicIP' - The instance public IP address.------ * 'iReportedOS' - For registered instances, the reported operating system.------ * 'iRegisteredBy' - For registered instances, who performed the registration.------ * 'iStackId' - The stack ID.------ * 'iRootDeviceType' - The instance's root device type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .------ * 'iEcsContainerInstanceARN' - For container instances, the instance's ARN.------ * 'iBlockDeviceMappings' - An array of @BlockDeviceMapping@ objects that specify the instance's block device mappings.-instance'-    :: Instance-instance' =-  Instance'-  { _iPrivateDNS = Nothing-  , _iReportedAgentVersion = Nothing-  , _iInstanceId = Nothing-  , _iStatus = Nothing-  , _iPrivateIP = Nothing-  , _iInstallUpdatesOnBoot = Nothing-  , _iVirtualizationType = Nothing-  , _iInstanceProfileARN = Nothing-  , _iPlatform = Nothing-  , _iHostname = Nothing-  , _iSSHHostRsaKeyFingerprint = Nothing-  , _iSecurityGroupIds = Nothing-  , _iEcsClusterARN = Nothing-  , _iARN = Nothing-  , _iCreatedAt = Nothing-  , _iEC2InstanceId = Nothing-  , _iSSHKeyName = Nothing-  , _iAgentVersion = Nothing-  , _iRootDeviceVolumeId = Nothing-  , _iSubnetId = Nothing-  , _iInfrastructureClass = Nothing-  , _iSSHHostDsaKeyFingerprint = Nothing-  , _iInstanceType = Nothing-  , _iEBSOptimized = Nothing-  , _iElasticIP = Nothing-  , _iOS = Nothing-  , _iAvailabilityZone = Nothing-  , _iLastServiceErrorId = Nothing-  , _iTenancy = Nothing-  , _iAutoScalingType = Nothing-  , _iLayerIds = Nothing-  , _iArchitecture = Nothing-  , _iPublicDNS = Nothing-  , _iAMIId = Nothing-  , _iPublicIP = Nothing-  , _iReportedOS = Nothing-  , _iRegisteredBy = Nothing-  , _iStackId = Nothing-  , _iRootDeviceType = Nothing-  , _iEcsContainerInstanceARN = Nothing-  , _iBlockDeviceMappings = Nothing-  }----- | The instance's private DNS name.-iPrivateDNS :: Lens' Instance (Maybe Text)-iPrivateDNS = lens _iPrivateDNS (\ s a -> s{_iPrivateDNS = a});---- | The instance's reported AWS OpsWorks Stacks agent version.-iReportedAgentVersion :: Lens' Instance (Maybe Text)-iReportedAgentVersion = lens _iReportedAgentVersion (\ s a -> s{_iReportedAgentVersion = a});---- | The instance ID.-iInstanceId :: Lens' Instance (Maybe Text)-iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a});---- | The instance status:     * @booting@      * @connection_lost@      * @online@      * @pending@      * @rebooting@      * @requested@      * @running_setup@      * @setup_failed@      * @shutting_down@      * @start_failed@      * @stop_failed@      * @stopped@      * @stopping@      * @terminated@      * @terminating@-iStatus :: Lens' Instance (Maybe Text)-iStatus = lens _iStatus (\ s a -> s{_iStatus = a});---- | The instance's private IP address.-iPrivateIP :: Lens' Instance (Maybe Text)-iPrivateIP = lens _iPrivateIP (\ s a -> s{_iPrivateIP = a});---- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.-iInstallUpdatesOnBoot :: Lens' Instance (Maybe Bool)-iInstallUpdatesOnBoot = lens _iInstallUpdatesOnBoot (\ s a -> s{_iInstallUpdatesOnBoot = a});---- | The instance's virtualization type: @paravirtual@ or @hvm@ .-iVirtualizationType :: Lens' Instance (Maybe VirtualizationType)-iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a});---- | The ARN of the instance's IAM profile. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .-iInstanceProfileARN :: Lens' Instance (Maybe Text)-iInstanceProfileARN = lens _iInstanceProfileARN (\ s a -> s{_iInstanceProfileARN = a});---- | The instance's platform.-iPlatform :: Lens' Instance (Maybe Text)-iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a});---- | The instance host name.-iHostname :: Lens' Instance (Maybe Text)-iHostname = lens _iHostname (\ s a -> s{_iHostname = a});---- | The SSH key's RSA fingerprint.-iSSHHostRsaKeyFingerprint :: Lens' Instance (Maybe Text)-iSSHHostRsaKeyFingerprint = lens _iSSHHostRsaKeyFingerprint (\ s a -> s{_iSSHHostRsaKeyFingerprint = a});---- | An array containing the instance security group IDs.-iSecurityGroupIds :: Lens' Instance [Text]-iSecurityGroupIds = lens _iSecurityGroupIds (\ s a -> s{_iSecurityGroupIds = a}) . _Default . _Coerce;---- | For container instances, the Amazon ECS cluster's ARN.-iEcsClusterARN :: Lens' Instance (Maybe Text)-iEcsClusterARN = lens _iEcsClusterARN (\ s a -> s{_iEcsClusterARN = a});---- | Undocumented member.-iARN :: Lens' Instance (Maybe Text)-iARN = lens _iARN (\ s a -> s{_iARN = a});---- | The time that the instance was created.-iCreatedAt :: Lens' Instance (Maybe Text)-iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a});---- | The ID of the associated Amazon EC2 instance.-iEC2InstanceId :: Lens' Instance (Maybe Text)-iEC2InstanceId = lens _iEC2InstanceId (\ s a -> s{_iEC2InstanceId = a});---- | The instance's Amazon EC2 key-pair name.-iSSHKeyName :: Lens' Instance (Maybe Text)-iSSHKeyName = lens _iSSHKeyName (\ s a -> s{_iSSHKeyName = a});---- | The agent version. This parameter is set to @INHERIT@ if the instance inherits the default stack setting or to a a version number for a fixed agent version.-iAgentVersion :: Lens' Instance (Maybe Text)-iAgentVersion = lens _iAgentVersion (\ s a -> s{_iAgentVersion = a});---- | The root device volume ID.-iRootDeviceVolumeId :: Lens' Instance (Maybe Text)-iRootDeviceVolumeId = lens _iRootDeviceVolumeId (\ s a -> s{_iRootDeviceVolumeId = a});---- | The instance's subnet ID; applicable only if the stack is running in a VPC.-iSubnetId :: Lens' Instance (Maybe Text)-iSubnetId = lens _iSubnetId (\ s a -> s{_iSubnetId = a});---- | For registered instances, the infrastructure class: @ec2@ or @on-premises@ .-iInfrastructureClass :: Lens' Instance (Maybe Text)-iInfrastructureClass = lens _iInfrastructureClass (\ s a -> s{_iInfrastructureClass = a});---- | The SSH key's Deep Security Agent (DSA) fingerprint.-iSSHHostDsaKeyFingerprint :: Lens' Instance (Maybe Text)-iSSHHostDsaKeyFingerprint = lens _iSSHHostDsaKeyFingerprint (\ s a -> s{_iSSHHostDsaKeyFingerprint = a});---- | The instance type, such as @t2.micro@ .-iInstanceType :: Lens' Instance (Maybe Text)-iInstanceType = lens _iInstanceType (\ s a -> s{_iInstanceType = a});---- | Whether this is an Amazon EBS-optimized instance.-iEBSOptimized :: Lens' Instance (Maybe Bool)-iEBSOptimized = lens _iEBSOptimized (\ s a -> s{_iEBSOptimized = a});---- | The instance <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address > .-iElasticIP :: Lens' Instance (Maybe Text)-iElasticIP = lens _iElasticIP (\ s a -> s{_iElasticIP = a});---- | The instance's operating system.-iOS :: Lens' Instance (Maybe Text)-iOS = lens _iOS (\ s a -> s{_iOS = a});---- | The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-iAvailabilityZone :: Lens' Instance (Maybe Text)-iAvailabilityZone = lens _iAvailabilityZone (\ s a -> s{_iAvailabilityZone = a});---- | The ID of the last service error. For more information, call 'DescribeServiceErrors' .-iLastServiceErrorId :: Lens' Instance (Maybe Text)-iLastServiceErrorId = lens _iLastServiceErrorId (\ s a -> s{_iLastServiceErrorId = a});---- | The instance's tenancy option, such as @dedicated@ or @host@ .-iTenancy :: Lens' Instance (Maybe Text)-iTenancy = lens _iTenancy (\ s a -> s{_iTenancy = a});---- | For load-based or time-based instances, the type.-iAutoScalingType :: Lens' Instance (Maybe AutoScalingType)-iAutoScalingType = lens _iAutoScalingType (\ s a -> s{_iAutoScalingType = a});---- | An array containing the instance layer IDs.-iLayerIds :: Lens' Instance [Text]-iLayerIds = lens _iLayerIds (\ s a -> s{_iLayerIds = a}) . _Default . _Coerce;---- | The instance architecture: "i386" or "x86_64".-iArchitecture :: Lens' Instance (Maybe Architecture)-iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a});---- | The instance public DNS name.-iPublicDNS :: Lens' Instance (Maybe Text)-iPublicDNS = lens _iPublicDNS (\ s a -> s{_iPublicDNS = a});---- | A custom AMI ID to be used to create the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Instances>-iAMIId :: Lens' Instance (Maybe Text)-iAMIId = lens _iAMIId (\ s a -> s{_iAMIId = a});---- | The instance public IP address.-iPublicIP :: Lens' Instance (Maybe Text)-iPublicIP = lens _iPublicIP (\ s a -> s{_iPublicIP = a});---- | For registered instances, the reported operating system.-iReportedOS :: Lens' Instance (Maybe ReportedOS)-iReportedOS = lens _iReportedOS (\ s a -> s{_iReportedOS = a});---- | For registered instances, who performed the registration.-iRegisteredBy :: Lens' Instance (Maybe Text)-iRegisteredBy = lens _iRegisteredBy (\ s a -> s{_iRegisteredBy = a});---- | The stack ID.-iStackId :: Lens' Instance (Maybe Text)-iStackId = lens _iStackId (\ s a -> s{_iStackId = a});---- | The instance's root device type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .-iRootDeviceType :: Lens' Instance (Maybe RootDeviceType)-iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a});---- | For container instances, the instance's ARN.-iEcsContainerInstanceARN :: Lens' Instance (Maybe Text)-iEcsContainerInstanceARN = lens _iEcsContainerInstanceARN (\ s a -> s{_iEcsContainerInstanceARN = a});---- | An array of @BlockDeviceMapping@ objects that specify the instance's block device mappings.-iBlockDeviceMappings :: Lens' Instance [BlockDeviceMapping]-iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;--instance FromJSON Instance where-        parseJSON-          = withObject "Instance"-              (\ x ->-                 Instance' <$>-                   (x .:? "PrivateDns") <*>-                     (x .:? "ReportedAgentVersion")-                     <*> (x .:? "InstanceId")-                     <*> (x .:? "Status")-                     <*> (x .:? "PrivateIp")-                     <*> (x .:? "InstallUpdatesOnBoot")-                     <*> (x .:? "VirtualizationType")-                     <*> (x .:? "InstanceProfileArn")-                     <*> (x .:? "Platform")-                     <*> (x .:? "Hostname")-                     <*> (x .:? "SshHostRsaKeyFingerprint")-                     <*> (x .:? "SecurityGroupIds" .!= mempty)-                     <*> (x .:? "EcsClusterArn")-                     <*> (x .:? "Arn")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "Ec2InstanceId")-                     <*> (x .:? "SshKeyName")-                     <*> (x .:? "AgentVersion")-                     <*> (x .:? "RootDeviceVolumeId")-                     <*> (x .:? "SubnetId")-                     <*> (x .:? "InfrastructureClass")-                     <*> (x .:? "SshHostDsaKeyFingerprint")-                     <*> (x .:? "InstanceType")-                     <*> (x .:? "EbsOptimized")-                     <*> (x .:? "ElasticIp")-                     <*> (x .:? "Os")-                     <*> (x .:? "AvailabilityZone")-                     <*> (x .:? "LastServiceErrorId")-                     <*> (x .:? "Tenancy")-                     <*> (x .:? "AutoScalingType")-                     <*> (x .:? "LayerIds" .!= mempty)-                     <*> (x .:? "Architecture")-                     <*> (x .:? "PublicDns")-                     <*> (x .:? "AmiId")-                     <*> (x .:? "PublicIp")-                     <*> (x .:? "ReportedOs")-                     <*> (x .:? "RegisteredBy")-                     <*> (x .:? "StackId")-                     <*> (x .:? "RootDeviceType")-                     <*> (x .:? "EcsContainerInstanceArn")-                     <*> (x .:? "BlockDeviceMappings" .!= mempty))--instance Hashable Instance where--instance NFData Instance where---- | Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see <http://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html Instance Metadata and User Data> .------------ /See:/ 'instanceIdentity' smart constructor.-data InstanceIdentity = InstanceIdentity'-  { _iiSignature :: !(Maybe Text)-  , _iiDocument  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceIdentity' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iiSignature' - A signature that can be used to verify the document's accuracy and authenticity.------ * 'iiDocument' - A JSON document that contains the metadata.-instanceIdentity-    :: InstanceIdentity-instanceIdentity =-  InstanceIdentity' {_iiSignature = Nothing, _iiDocument = Nothing}----- | A signature that can be used to verify the document's accuracy and authenticity.-iiSignature :: Lens' InstanceIdentity (Maybe Text)-iiSignature = lens _iiSignature (\ s a -> s{_iiSignature = a});---- | A JSON document that contains the metadata.-iiDocument :: Lens' InstanceIdentity (Maybe Text)-iiDocument = lens _iiDocument (\ s a -> s{_iiDocument = a});--instance Hashable InstanceIdentity where--instance NFData InstanceIdentity where--instance ToJSON InstanceIdentity where-        toJSON InstanceIdentity'{..}-          = object-              (catMaybes-                 [("Signature" .=) <$> _iiSignature,-                  ("Document" .=) <$> _iiDocument])---- | Describes how many instances a stack has for each status.------------ /See:/ 'instancesCount' smart constructor.-data InstancesCount = InstancesCount'-  { _icTerminating    :: !(Maybe Int)-  , _icPending        :: !(Maybe Int)-  , _icOnline         :: !(Maybe Int)-  , _icUnassigning    :: !(Maybe Int)-  , _icDeregistering  :: !(Maybe Int)-  , _icRunningSetup   :: !(Maybe Int)-  , _icRequested      :: !(Maybe Int)-  , _icBooting        :: !(Maybe Int)-  , _icStopped        :: !(Maybe Int)-  , _icRebooting      :: !(Maybe Int)-  , _icAssigning      :: !(Maybe Int)-  , _icShuttingDown   :: !(Maybe Int)-  , _icSetupFailed    :: !(Maybe Int)-  , _icConnectionLost :: !(Maybe Int)-  , _icTerminated     :: !(Maybe Int)-  , _icStopping       :: !(Maybe Int)-  , _icRegistered     :: !(Maybe Int)-  , _icStartFailed    :: !(Maybe Int)-  , _icRegistering    :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InstancesCount' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icTerminating' - The number of instances with @terminating@ status.------ * 'icPending' - The number of instances with @pending@ status.------ * 'icOnline' - The number of instances with @online@ status.------ * 'icUnassigning' - The number of instances in the Unassigning state.------ * 'icDeregistering' - The number of instances in the Deregistering state.------ * 'icRunningSetup' - The number of instances with @running_setup@ status.------ * 'icRequested' - The number of instances with @requested@ status.------ * 'icBooting' - The number of instances with @booting@ status.------ * 'icStopped' - The number of instances with @stopped@ status.------ * 'icRebooting' - The number of instances with @rebooting@ status.------ * 'icAssigning' - The number of instances in the Assigning state.------ * 'icShuttingDown' - The number of instances with @shutting_down@ status.------ * 'icSetupFailed' - The number of instances with @setup_failed@ status.------ * 'icConnectionLost' - The number of instances with @connection_lost@ status.------ * 'icTerminated' - The number of instances with @terminated@ status.------ * 'icStopping' - The number of instances with @stopping@ status.------ * 'icRegistered' - The number of instances in the Registered state.------ * 'icStartFailed' - The number of instances with @start_failed@ status.------ * 'icRegistering' - The number of instances in the Registering state.-instancesCount-    :: InstancesCount-instancesCount =-  InstancesCount'-  { _icTerminating = Nothing-  , _icPending = Nothing-  , _icOnline = Nothing-  , _icUnassigning = Nothing-  , _icDeregistering = Nothing-  , _icRunningSetup = Nothing-  , _icRequested = Nothing-  , _icBooting = Nothing-  , _icStopped = Nothing-  , _icRebooting = Nothing-  , _icAssigning = Nothing-  , _icShuttingDown = Nothing-  , _icSetupFailed = Nothing-  , _icConnectionLost = Nothing-  , _icTerminated = Nothing-  , _icStopping = Nothing-  , _icRegistered = Nothing-  , _icStartFailed = Nothing-  , _icRegistering = Nothing-  }----- | The number of instances with @terminating@ status.-icTerminating :: Lens' InstancesCount (Maybe Int)-icTerminating = lens _icTerminating (\ s a -> s{_icTerminating = a});---- | The number of instances with @pending@ status.-icPending :: Lens' InstancesCount (Maybe Int)-icPending = lens _icPending (\ s a -> s{_icPending = a});---- | The number of instances with @online@ status.-icOnline :: Lens' InstancesCount (Maybe Int)-icOnline = lens _icOnline (\ s a -> s{_icOnline = a});---- | The number of instances in the Unassigning state.-icUnassigning :: Lens' InstancesCount (Maybe Int)-icUnassigning = lens _icUnassigning (\ s a -> s{_icUnassigning = a});---- | The number of instances in the Deregistering state.-icDeregistering :: Lens' InstancesCount (Maybe Int)-icDeregistering = lens _icDeregistering (\ s a -> s{_icDeregistering = a});---- | The number of instances with @running_setup@ status.-icRunningSetup :: Lens' InstancesCount (Maybe Int)-icRunningSetup = lens _icRunningSetup (\ s a -> s{_icRunningSetup = a});---- | The number of instances with @requested@ status.-icRequested :: Lens' InstancesCount (Maybe Int)-icRequested = lens _icRequested (\ s a -> s{_icRequested = a});---- | The number of instances with @booting@ status.-icBooting :: Lens' InstancesCount (Maybe Int)-icBooting = lens _icBooting (\ s a -> s{_icBooting = a});---- | The number of instances with @stopped@ status.-icStopped :: Lens' InstancesCount (Maybe Int)-icStopped = lens _icStopped (\ s a -> s{_icStopped = a});---- | The number of instances with @rebooting@ status.-icRebooting :: Lens' InstancesCount (Maybe Int)-icRebooting = lens _icRebooting (\ s a -> s{_icRebooting = a});---- | The number of instances in the Assigning state.-icAssigning :: Lens' InstancesCount (Maybe Int)-icAssigning = lens _icAssigning (\ s a -> s{_icAssigning = a});---- | The number of instances with @shutting_down@ status.-icShuttingDown :: Lens' InstancesCount (Maybe Int)-icShuttingDown = lens _icShuttingDown (\ s a -> s{_icShuttingDown = a});---- | The number of instances with @setup_failed@ status.-icSetupFailed :: Lens' InstancesCount (Maybe Int)-icSetupFailed = lens _icSetupFailed (\ s a -> s{_icSetupFailed = a});---- | The number of instances with @connection_lost@ status.-icConnectionLost :: Lens' InstancesCount (Maybe Int)-icConnectionLost = lens _icConnectionLost (\ s a -> s{_icConnectionLost = a});---- | The number of instances with @terminated@ status.-icTerminated :: Lens' InstancesCount (Maybe Int)-icTerminated = lens _icTerminated (\ s a -> s{_icTerminated = a});---- | The number of instances with @stopping@ status.-icStopping :: Lens' InstancesCount (Maybe Int)-icStopping = lens _icStopping (\ s a -> s{_icStopping = a});---- | The number of instances in the Registered state.-icRegistered :: Lens' InstancesCount (Maybe Int)-icRegistered = lens _icRegistered (\ s a -> s{_icRegistered = a});---- | The number of instances with @start_failed@ status.-icStartFailed :: Lens' InstancesCount (Maybe Int)-icStartFailed = lens _icStartFailed (\ s a -> s{_icStartFailed = a});---- | The number of instances in the Registering state.-icRegistering :: Lens' InstancesCount (Maybe Int)-icRegistering = lens _icRegistering (\ s a -> s{_icRegistering = a});--instance FromJSON InstancesCount where-        parseJSON-          = withObject "InstancesCount"-              (\ x ->-                 InstancesCount' <$>-                   (x .:? "Terminating") <*> (x .:? "Pending") <*>-                     (x .:? "Online")-                     <*> (x .:? "Unassigning")-                     <*> (x .:? "Deregistering")-                     <*> (x .:? "RunningSetup")-                     <*> (x .:? "Requested")-                     <*> (x .:? "Booting")-                     <*> (x .:? "Stopped")-                     <*> (x .:? "Rebooting")-                     <*> (x .:? "Assigning")-                     <*> (x .:? "ShuttingDown")-                     <*> (x .:? "SetupFailed")-                     <*> (x .:? "ConnectionLost")-                     <*> (x .:? "Terminated")-                     <*> (x .:? "Stopping")-                     <*> (x .:? "Registered")-                     <*> (x .:? "StartFailed")-                     <*> (x .:? "Registering"))--instance Hashable InstancesCount where--instance NFData InstancesCount where---- | Describes a layer.------------ /See:/ 'layer' smart constructor.-data Layer = Layer'-  { _lCustomInstanceProfileARN :: !(Maybe Text)-  , _lCustomSecurityGroupIds :: !(Maybe [Text])-  , _lInstallUpdatesOnBoot :: !(Maybe Bool)-  , _lCloudWatchLogsConfiguration :: !(Maybe CloudWatchLogsConfiguration)-  , _lLifecycleEventConfiguration :: !(Maybe LifecycleEventConfiguration)-  , _lARN :: !(Maybe Text)-  , _lCreatedAt :: !(Maybe Text)-  , _lShortname :: !(Maybe Text)-  , _lDefaultRecipes :: !(Maybe Recipes)-  , _lCustomRecipes :: !(Maybe Recipes)-  , _lCustomJSON :: !(Maybe Text)-  , _lVolumeConfigurations :: !(Maybe [VolumeConfiguration])-  , _lEnableAutoHealing :: !(Maybe Bool)-  , _lPackages :: !(Maybe [Text])-  , _lAttributes :: !(Maybe (Map LayerAttributesKeys (Maybe Text)))-  , _lName :: !(Maybe Text)-  , _lAutoAssignPublicIPs :: !(Maybe Bool)-  , _lType :: !(Maybe LayerType)-  , _lUseEBSOptimizedInstances :: !(Maybe Bool)-  , _lStackId :: !(Maybe Text)-  , _lLayerId :: !(Maybe Text)-  , _lDefaultSecurityGroupNames :: !(Maybe [Text])-  , _lAutoAssignElasticIPs :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Layer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lCustomInstanceProfileARN' - The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .------ * 'lCustomSecurityGroupIds' - An array containing the layer's custom security group IDs.------ * 'lInstallUpdatesOnBoot' - Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.------ * 'lCloudWatchLogsConfiguration' - The Amazon CloudWatch Logs configuration settings for the layer.------ * 'lLifecycleEventConfiguration' - A @LifeCycleEventConfiguration@ object that specifies the Shutdown event configuration.------ * 'lARN' - Undocumented member.------ * 'lCreatedAt' - Date when the layer was created.------ * 'lShortname' - The layer short name.------ * 'lDefaultRecipes' - Undocumented member.------ * 'lCustomRecipes' - A @LayerCustomRecipes@ object that specifies the layer's custom recipes.------ * 'lCustomJSON' - A JSON formatted string containing the layer's custom stack configuration and deployment attributes.------ * 'lVolumeConfigurations' - A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes.------ * 'lEnableAutoHealing' - Whether auto healing is disabled for the layer.------ * 'lPackages' - An array of @Package@ objects that describe the layer's packages.------ * 'lAttributes' - The layer attributes. For the @HaproxyStatsPassword@ , @MysqlRootPassword@ , and @GangliaPassword@ attributes, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value For an ECS Cluster layer, AWS OpsWorks Stacks the @EcsClusterArn@ attribute is set to the cluster's ARN.------ * 'lName' - The layer name.------ * 'lAutoAssignPublicIPs' - For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .------ * 'lType' - The layer type.------ * 'lUseEBSOptimizedInstances' - Whether the layer uses Amazon EBS-optimized instances.------ * 'lStackId' - The layer stack ID.------ * 'lLayerId' - The layer ID.------ * 'lDefaultSecurityGroupNames' - An array containing the layer's security group names.------ * 'lAutoAssignElasticIPs' - Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .-layer-    :: Layer-layer =-  Layer'-  { _lCustomInstanceProfileARN = Nothing-  , _lCustomSecurityGroupIds = Nothing-  , _lInstallUpdatesOnBoot = Nothing-  , _lCloudWatchLogsConfiguration = Nothing-  , _lLifecycleEventConfiguration = Nothing-  , _lARN = Nothing-  , _lCreatedAt = Nothing-  , _lShortname = Nothing-  , _lDefaultRecipes = Nothing-  , _lCustomRecipes = Nothing-  , _lCustomJSON = Nothing-  , _lVolumeConfigurations = Nothing-  , _lEnableAutoHealing = Nothing-  , _lPackages = Nothing-  , _lAttributes = Nothing-  , _lName = Nothing-  , _lAutoAssignPublicIPs = Nothing-  , _lType = Nothing-  , _lUseEBSOptimizedInstances = Nothing-  , _lStackId = Nothing-  , _lLayerId = Nothing-  , _lDefaultSecurityGroupNames = Nothing-  , _lAutoAssignElasticIPs = Nothing-  }----- | The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .-lCustomInstanceProfileARN :: Lens' Layer (Maybe Text)-lCustomInstanceProfileARN = lens _lCustomInstanceProfileARN (\ s a -> s{_lCustomInstanceProfileARN = a});---- | An array containing the layer's custom security group IDs.-lCustomSecurityGroupIds :: Lens' Layer [Text]-lCustomSecurityGroupIds = lens _lCustomSecurityGroupIds (\ s a -> s{_lCustomSecurityGroupIds = a}) . _Default . _Coerce;---- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.-lInstallUpdatesOnBoot :: Lens' Layer (Maybe Bool)-lInstallUpdatesOnBoot = lens _lInstallUpdatesOnBoot (\ s a -> s{_lInstallUpdatesOnBoot = a});---- | The Amazon CloudWatch Logs configuration settings for the layer.-lCloudWatchLogsConfiguration :: Lens' Layer (Maybe CloudWatchLogsConfiguration)-lCloudWatchLogsConfiguration = lens _lCloudWatchLogsConfiguration (\ s a -> s{_lCloudWatchLogsConfiguration = a});---- | A @LifeCycleEventConfiguration@ object that specifies the Shutdown event configuration.-lLifecycleEventConfiguration :: Lens' Layer (Maybe LifecycleEventConfiguration)-lLifecycleEventConfiguration = lens _lLifecycleEventConfiguration (\ s a -> s{_lLifecycleEventConfiguration = a});---- | Undocumented member.-lARN :: Lens' Layer (Maybe Text)-lARN = lens _lARN (\ s a -> s{_lARN = a});---- | Date when the layer was created.-lCreatedAt :: Lens' Layer (Maybe Text)-lCreatedAt = lens _lCreatedAt (\ s a -> s{_lCreatedAt = a});---- | The layer short name.-lShortname :: Lens' Layer (Maybe Text)-lShortname = lens _lShortname (\ s a -> s{_lShortname = a});---- | Undocumented member.-lDefaultRecipes :: Lens' Layer (Maybe Recipes)-lDefaultRecipes = lens _lDefaultRecipes (\ s a -> s{_lDefaultRecipes = a});---- | A @LayerCustomRecipes@ object that specifies the layer's custom recipes.-lCustomRecipes :: Lens' Layer (Maybe Recipes)-lCustomRecipes = lens _lCustomRecipes (\ s a -> s{_lCustomRecipes = a});---- | A JSON formatted string containing the layer's custom stack configuration and deployment attributes.-lCustomJSON :: Lens' Layer (Maybe Text)-lCustomJSON = lens _lCustomJSON (\ s a -> s{_lCustomJSON = a});---- | A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes.-lVolumeConfigurations :: Lens' Layer [VolumeConfiguration]-lVolumeConfigurations = lens _lVolumeConfigurations (\ s a -> s{_lVolumeConfigurations = a}) . _Default . _Coerce;---- | Whether auto healing is disabled for the layer.-lEnableAutoHealing :: Lens' Layer (Maybe Bool)-lEnableAutoHealing = lens _lEnableAutoHealing (\ s a -> s{_lEnableAutoHealing = a});---- | An array of @Package@ objects that describe the layer's packages.-lPackages :: Lens' Layer [Text]-lPackages = lens _lPackages (\ s a -> s{_lPackages = a}) . _Default . _Coerce;---- | The layer attributes. For the @HaproxyStatsPassword@ , @MysqlRootPassword@ , and @GangliaPassword@ attributes, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value For an ECS Cluster layer, AWS OpsWorks Stacks the @EcsClusterArn@ attribute is set to the cluster's ARN.-lAttributes :: Lens' Layer (HashMap LayerAttributesKeys (Maybe Text))-lAttributes = lens _lAttributes (\ s a -> s{_lAttributes = a}) . _Default . _Map;---- | The layer name.-lName :: Lens' Layer (Maybe Text)-lName = lens _lName (\ s a -> s{_lName = a});---- | For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .-lAutoAssignPublicIPs :: Lens' Layer (Maybe Bool)-lAutoAssignPublicIPs = lens _lAutoAssignPublicIPs (\ s a -> s{_lAutoAssignPublicIPs = a});---- | The layer type.-lType :: Lens' Layer (Maybe LayerType)-lType = lens _lType (\ s a -> s{_lType = a});---- | Whether the layer uses Amazon EBS-optimized instances.-lUseEBSOptimizedInstances :: Lens' Layer (Maybe Bool)-lUseEBSOptimizedInstances = lens _lUseEBSOptimizedInstances (\ s a -> s{_lUseEBSOptimizedInstances = a});---- | The layer stack ID.-lStackId :: Lens' Layer (Maybe Text)-lStackId = lens _lStackId (\ s a -> s{_lStackId = a});---- | The layer ID.-lLayerId :: Lens' Layer (Maybe Text)-lLayerId = lens _lLayerId (\ s a -> s{_lLayerId = a});---- | An array containing the layer's security group names.-lDefaultSecurityGroupNames :: Lens' Layer [Text]-lDefaultSecurityGroupNames = lens _lDefaultSecurityGroupNames (\ s a -> s{_lDefaultSecurityGroupNames = a}) . _Default . _Coerce;---- | Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .-lAutoAssignElasticIPs :: Lens' Layer (Maybe Bool)-lAutoAssignElasticIPs = lens _lAutoAssignElasticIPs (\ s a -> s{_lAutoAssignElasticIPs = a});--instance FromJSON Layer where-        parseJSON-          = withObject "Layer"-              (\ x ->-                 Layer' <$>-                   (x .:? "CustomInstanceProfileArn") <*>-                     (x .:? "CustomSecurityGroupIds" .!= mempty)-                     <*> (x .:? "InstallUpdatesOnBoot")-                     <*> (x .:? "CloudWatchLogsConfiguration")-                     <*> (x .:? "LifecycleEventConfiguration")-                     <*> (x .:? "Arn")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "Shortname")-                     <*> (x .:? "DefaultRecipes")-                     <*> (x .:? "CustomRecipes")-                     <*> (x .:? "CustomJson")-                     <*> (x .:? "VolumeConfigurations" .!= mempty)-                     <*> (x .:? "EnableAutoHealing")-                     <*> (x .:? "Packages" .!= mempty)-                     <*> (x .:? "Attributes" .!= mempty)-                     <*> (x .:? "Name")-                     <*> (x .:? "AutoAssignPublicIps")-                     <*> (x .:? "Type")-                     <*> (x .:? "UseEbsOptimizedInstances")-                     <*> (x .:? "StackId")-                     <*> (x .:? "LayerId")-                     <*> (x .:? "DefaultSecurityGroupNames" .!= mempty)-                     <*> (x .:? "AutoAssignElasticIps"))--instance Hashable Layer where--instance NFData Layer where---- | Specifies the lifecycle event configuration------------ /See:/ 'lifecycleEventConfiguration' smart constructor.-newtype LifecycleEventConfiguration = LifecycleEventConfiguration'-  { _lecShutdown :: Maybe ShutdownEventConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LifecycleEventConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lecShutdown' - A @ShutdownEventConfiguration@ object that specifies the Shutdown event configuration.-lifecycleEventConfiguration-    :: LifecycleEventConfiguration-lifecycleEventConfiguration =-  LifecycleEventConfiguration' {_lecShutdown = Nothing}----- | A @ShutdownEventConfiguration@ object that specifies the Shutdown event configuration.-lecShutdown :: Lens' LifecycleEventConfiguration (Maybe ShutdownEventConfiguration)-lecShutdown = lens _lecShutdown (\ s a -> s{_lecShutdown = a});--instance FromJSON LifecycleEventConfiguration where-        parseJSON-          = withObject "LifecycleEventConfiguration"-              (\ x ->-                 LifecycleEventConfiguration' <$> (x .:? "Shutdown"))--instance Hashable LifecycleEventConfiguration where--instance NFData LifecycleEventConfiguration where--instance ToJSON LifecycleEventConfiguration where-        toJSON LifecycleEventConfiguration'{..}-          = object-              (catMaybes [("Shutdown" .=) <$> _lecShutdown])---- | Describes a layer's load-based auto scaling configuration.------------ /See:/ 'loadBasedAutoScalingConfiguration' smart constructor.-data LoadBasedAutoScalingConfiguration = LoadBasedAutoScalingConfiguration'-  { _lbascUpScaling   :: !(Maybe AutoScalingThresholds)-  , _lbascEnable      :: !(Maybe Bool)-  , _lbascDownScaling :: !(Maybe AutoScalingThresholds)-  , _lbascLayerId     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LoadBasedAutoScalingConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbascUpScaling' - An @AutoScalingThresholds@ object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.------ * 'lbascEnable' - Whether load-based auto scaling is enabled for the layer.------ * 'lbascDownScaling' - An @AutoScalingThresholds@ object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.------ * 'lbascLayerId' - The layer ID.-loadBasedAutoScalingConfiguration-    :: LoadBasedAutoScalingConfiguration-loadBasedAutoScalingConfiguration =-  LoadBasedAutoScalingConfiguration'-  { _lbascUpScaling = Nothing-  , _lbascEnable = Nothing-  , _lbascDownScaling = Nothing-  , _lbascLayerId = Nothing-  }----- | An @AutoScalingThresholds@ object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.-lbascUpScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)-lbascUpScaling = lens _lbascUpScaling (\ s a -> s{_lbascUpScaling = a});---- | Whether load-based auto scaling is enabled for the layer.-lbascEnable :: Lens' LoadBasedAutoScalingConfiguration (Maybe Bool)-lbascEnable = lens _lbascEnable (\ s a -> s{_lbascEnable = a});---- | An @AutoScalingThresholds@ object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.-lbascDownScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)-lbascDownScaling = lens _lbascDownScaling (\ s a -> s{_lbascDownScaling = a});---- | The layer ID.-lbascLayerId :: Lens' LoadBasedAutoScalingConfiguration (Maybe Text)-lbascLayerId = lens _lbascLayerId (\ s a -> s{_lbascLayerId = a});--instance FromJSON LoadBasedAutoScalingConfiguration-         where-        parseJSON-          = withObject "LoadBasedAutoScalingConfiguration"-              (\ x ->-                 LoadBasedAutoScalingConfiguration' <$>-                   (x .:? "UpScaling") <*> (x .:? "Enable") <*>-                     (x .:? "DownScaling")-                     <*> (x .:? "LayerId"))--instance Hashable LoadBasedAutoScalingConfiguration-         where--instance NFData LoadBasedAutoScalingConfiguration-         where---- | Describes stack or user permissions.------------ /See:/ 'permission' smart constructor.-data Permission = Permission'-  { _pIAMUserARN :: !(Maybe Text)-  , _pAllowSudo  :: !(Maybe Bool)-  , _pStackId    :: !(Maybe Text)-  , _pLevel      :: !(Maybe Text)-  , _pAllowSSH   :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Permission' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pIAMUserARN' - The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .------ * 'pAllowSudo' - Whether the user can use __sudo__ .------ * 'pStackId' - A stack ID.------ * 'pLevel' - The user's permission level, which must be the following:     * @deny@      * @show@      * @deploy@      * @manage@      * @iam_only@  For more information on the permissions associated with these levels, see <http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html Managing User Permissions>------ * 'pAllowSSH' - Whether the user can use SSH.-permission-    :: Permission-permission =-  Permission'-  { _pIAMUserARN = Nothing-  , _pAllowSudo = Nothing-  , _pStackId = Nothing-  , _pLevel = Nothing-  , _pAllowSSH = Nothing-  }----- | The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .-pIAMUserARN :: Lens' Permission (Maybe Text)-pIAMUserARN = lens _pIAMUserARN (\ s a -> s{_pIAMUserARN = a});---- | Whether the user can use __sudo__ .-pAllowSudo :: Lens' Permission (Maybe Bool)-pAllowSudo = lens _pAllowSudo (\ s a -> s{_pAllowSudo = a});---- | A stack ID.-pStackId :: Lens' Permission (Maybe Text)-pStackId = lens _pStackId (\ s a -> s{_pStackId = a});---- | The user's permission level, which must be the following:     * @deny@      * @show@      * @deploy@      * @manage@      * @iam_only@  For more information on the permissions associated with these levels, see <http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html Managing User Permissions>-pLevel :: Lens' Permission (Maybe Text)-pLevel = lens _pLevel (\ s a -> s{_pLevel = a});---- | Whether the user can use SSH.-pAllowSSH :: Lens' Permission (Maybe Bool)-pAllowSSH = lens _pAllowSSH (\ s a -> s{_pAllowSSH = a});--instance FromJSON Permission where-        parseJSON-          = withObject "Permission"-              (\ x ->-                 Permission' <$>-                   (x .:? "IamUserArn") <*> (x .:? "AllowSudo") <*>-                     (x .:? "StackId")-                     <*> (x .:? "Level")-                     <*> (x .:? "AllowSsh"))--instance Hashable Permission where--instance NFData Permission where---- | Describes an instance's RAID array.------------ /See:/ 'rAIdArray' smart constructor.-data RAIdArray = RAIdArray'-  { _raiaInstanceId       :: !(Maybe Text)-  , _raiaSize             :: !(Maybe Int)-  , _raiaIOPS             :: !(Maybe Int)-  , _raiaCreatedAt        :: !(Maybe Text)-  , _raiaRAIdLevel        :: !(Maybe Int)-  , _raiaDevice           :: !(Maybe Text)-  , _raiaNumberOfDisks    :: !(Maybe Int)-  , _raiaAvailabilityZone :: !(Maybe Text)-  , _raiaName             :: !(Maybe Text)-  , _raiaRAIdArrayId      :: !(Maybe Text)-  , _raiaVolumeType       :: !(Maybe Text)-  , _raiaStackId          :: !(Maybe Text)-  , _raiaMountPoint       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RAIdArray' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'raiaInstanceId' - The instance ID.------ * 'raiaSize' - The array's size.------ * 'raiaIOPS' - For PIOPS volumes, the IOPS per disk.------ * 'raiaCreatedAt' - When the RAID array was created.------ * 'raiaRAIdLevel' - The <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .------ * 'raiaDevice' - The array's Linux device. For example /dev/mdadm0.------ * 'raiaNumberOfDisks' - The number of disks in the array.------ * 'raiaAvailabilityZone' - The array's Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'raiaName' - The array name.------ * 'raiaRAIdArrayId' - The array ID.------ * 'raiaVolumeType' - The volume type, standard or PIOPS.------ * 'raiaStackId' - The stack ID.------ * 'raiaMountPoint' - The array's mount point.-rAIdArray-    :: RAIdArray-rAIdArray =-  RAIdArray'-  { _raiaInstanceId = Nothing-  , _raiaSize = Nothing-  , _raiaIOPS = Nothing-  , _raiaCreatedAt = Nothing-  , _raiaRAIdLevel = Nothing-  , _raiaDevice = Nothing-  , _raiaNumberOfDisks = Nothing-  , _raiaAvailabilityZone = Nothing-  , _raiaName = Nothing-  , _raiaRAIdArrayId = Nothing-  , _raiaVolumeType = Nothing-  , _raiaStackId = Nothing-  , _raiaMountPoint = Nothing-  }----- | The instance ID.-raiaInstanceId :: Lens' RAIdArray (Maybe Text)-raiaInstanceId = lens _raiaInstanceId (\ s a -> s{_raiaInstanceId = a});---- | The array's size.-raiaSize :: Lens' RAIdArray (Maybe Int)-raiaSize = lens _raiaSize (\ s a -> s{_raiaSize = a});---- | For PIOPS volumes, the IOPS per disk.-raiaIOPS :: Lens' RAIdArray (Maybe Int)-raiaIOPS = lens _raiaIOPS (\ s a -> s{_raiaIOPS = a});---- | When the RAID array was created.-raiaCreatedAt :: Lens' RAIdArray (Maybe Text)-raiaCreatedAt = lens _raiaCreatedAt (\ s a -> s{_raiaCreatedAt = a});---- | The <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .-raiaRAIdLevel :: Lens' RAIdArray (Maybe Int)-raiaRAIdLevel = lens _raiaRAIdLevel (\ s a -> s{_raiaRAIdLevel = a});---- | The array's Linux device. For example /dev/mdadm0.-raiaDevice :: Lens' RAIdArray (Maybe Text)-raiaDevice = lens _raiaDevice (\ s a -> s{_raiaDevice = a});---- | The number of disks in the array.-raiaNumberOfDisks :: Lens' RAIdArray (Maybe Int)-raiaNumberOfDisks = lens _raiaNumberOfDisks (\ s a -> s{_raiaNumberOfDisks = a});---- | The array's Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-raiaAvailabilityZone :: Lens' RAIdArray (Maybe Text)-raiaAvailabilityZone = lens _raiaAvailabilityZone (\ s a -> s{_raiaAvailabilityZone = a});---- | The array name.-raiaName :: Lens' RAIdArray (Maybe Text)-raiaName = lens _raiaName (\ s a -> s{_raiaName = a});---- | The array ID.-raiaRAIdArrayId :: Lens' RAIdArray (Maybe Text)-raiaRAIdArrayId = lens _raiaRAIdArrayId (\ s a -> s{_raiaRAIdArrayId = a});---- | The volume type, standard or PIOPS.-raiaVolumeType :: Lens' RAIdArray (Maybe Text)-raiaVolumeType = lens _raiaVolumeType (\ s a -> s{_raiaVolumeType = a});---- | The stack ID.-raiaStackId :: Lens' RAIdArray (Maybe Text)-raiaStackId = lens _raiaStackId (\ s a -> s{_raiaStackId = a});---- | The array's mount point.-raiaMountPoint :: Lens' RAIdArray (Maybe Text)-raiaMountPoint = lens _raiaMountPoint (\ s a -> s{_raiaMountPoint = a});--instance FromJSON RAIdArray where-        parseJSON-          = withObject "RAIdArray"-              (\ x ->-                 RAIdArray' <$>-                   (x .:? "InstanceId") <*> (x .:? "Size") <*>-                     (x .:? "Iops")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "RaidLevel")-                     <*> (x .:? "Device")-                     <*> (x .:? "NumberOfDisks")-                     <*> (x .:? "AvailabilityZone")-                     <*> (x .:? "Name")-                     <*> (x .:? "RaidArrayId")-                     <*> (x .:? "VolumeType")-                     <*> (x .:? "StackId")-                     <*> (x .:? "MountPoint"))--instance Hashable RAIdArray where--instance NFData RAIdArray where---- | Describes an Amazon RDS instance.------------ /See:/ 'rdsDBInstance' smart constructor.-data RDSDBInstance = RDSDBInstance'-  { _rdiRDSDBInstanceARN     :: !(Maybe Text)-  , _rdiDBUser               :: !(Maybe Text)-  , _rdiMissingOnRDS         :: !(Maybe Bool)-  , _rdiEngine               :: !(Maybe Text)-  , _rdiAddress              :: !(Maybe Text)-  , _rdiDBInstanceIdentifier :: !(Maybe Text)-  , _rdiRegion               :: !(Maybe Text)-  , _rdiStackId              :: !(Maybe Text)-  , _rdiDBPassword           :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RDSDBInstance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rdiRDSDBInstanceARN' - The instance's ARN.------ * 'rdiDBUser' - The master user name.------ * 'rdiMissingOnRDS' - Set to @true@ if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to @true@ , you must deregister the instance, and then register it again.------ * 'rdiEngine' - The instance's database engine.------ * 'rdiAddress' - The instance's address.------ * 'rdiDBInstanceIdentifier' - The DB instance identifier.------ * 'rdiRegion' - The instance's AWS region.------ * 'rdiStackId' - The ID of the stack with which the instance is registered.------ * 'rdiDBPassword' - AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.-rdsDBInstance-    :: RDSDBInstance-rdsDBInstance =-  RDSDBInstance'-  { _rdiRDSDBInstanceARN = Nothing-  , _rdiDBUser = Nothing-  , _rdiMissingOnRDS = Nothing-  , _rdiEngine = Nothing-  , _rdiAddress = Nothing-  , _rdiDBInstanceIdentifier = Nothing-  , _rdiRegion = Nothing-  , _rdiStackId = Nothing-  , _rdiDBPassword = Nothing-  }----- | The instance's ARN.-rdiRDSDBInstanceARN :: Lens' RDSDBInstance (Maybe Text)-rdiRDSDBInstanceARN = lens _rdiRDSDBInstanceARN (\ s a -> s{_rdiRDSDBInstanceARN = a});---- | The master user name.-rdiDBUser :: Lens' RDSDBInstance (Maybe Text)-rdiDBUser = lens _rdiDBUser (\ s a -> s{_rdiDBUser = a});---- | Set to @true@ if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to @true@ , you must deregister the instance, and then register it again.-rdiMissingOnRDS :: Lens' RDSDBInstance (Maybe Bool)-rdiMissingOnRDS = lens _rdiMissingOnRDS (\ s a -> s{_rdiMissingOnRDS = a});---- | The instance's database engine.-rdiEngine :: Lens' RDSDBInstance (Maybe Text)-rdiEngine = lens _rdiEngine (\ s a -> s{_rdiEngine = a});---- | The instance's address.-rdiAddress :: Lens' RDSDBInstance (Maybe Text)-rdiAddress = lens _rdiAddress (\ s a -> s{_rdiAddress = a});---- | The DB instance identifier.-rdiDBInstanceIdentifier :: Lens' RDSDBInstance (Maybe Text)-rdiDBInstanceIdentifier = lens _rdiDBInstanceIdentifier (\ s a -> s{_rdiDBInstanceIdentifier = a});---- | The instance's AWS region.-rdiRegion :: Lens' RDSDBInstance (Maybe Text)-rdiRegion = lens _rdiRegion (\ s a -> s{_rdiRegion = a});---- | The ID of the stack with which the instance is registered.-rdiStackId :: Lens' RDSDBInstance (Maybe Text)-rdiStackId = lens _rdiStackId (\ s a -> s{_rdiStackId = a});---- | AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.-rdiDBPassword :: Lens' RDSDBInstance (Maybe Text)-rdiDBPassword = lens _rdiDBPassword (\ s a -> s{_rdiDBPassword = a});--instance FromJSON RDSDBInstance where-        parseJSON-          = withObject "RDSDBInstance"-              (\ x ->-                 RDSDBInstance' <$>-                   (x .:? "RdsDbInstanceArn") <*> (x .:? "DbUser") <*>-                     (x .:? "MissingOnRds")-                     <*> (x .:? "Engine")-                     <*> (x .:? "Address")-                     <*> (x .:? "DbInstanceIdentifier")-                     <*> (x .:? "Region")-                     <*> (x .:? "StackId")-                     <*> (x .:? "DbPassword"))--instance Hashable RDSDBInstance where--instance NFData RDSDBInstance where---- | AWS OpsWorks Stacks supports five lifecycle events: __setup__ , __configuration__ , __deploy__ , __undeploy__ , and __shutdown__ . For each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes after the standard recipes. @LayerCustomRecipes@ specifies the custom recipes for a particular layer to be run in response to each of the five events.--------- To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.--------- /See:/ 'recipes' smart constructor.-data Recipes = Recipes'-  { _rSetup     :: !(Maybe [Text])-  , _rShutdown  :: !(Maybe [Text])-  , _rUndeploy  :: !(Maybe [Text])-  , _rConfigure :: !(Maybe [Text])-  , _rDeploy    :: !(Maybe [Text])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Recipes' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rSetup' - An array of custom recipe names to be run following a @setup@ event.------ * 'rShutdown' - An array of custom recipe names to be run following a @shutdown@ event.------ * 'rUndeploy' - An array of custom recipe names to be run following a @undeploy@ event.------ * 'rConfigure' - An array of custom recipe names to be run following a @configure@ event.------ * 'rDeploy' - An array of custom recipe names to be run following a @deploy@ event.-recipes-    :: Recipes-recipes =-  Recipes'-  { _rSetup = Nothing-  , _rShutdown = Nothing-  , _rUndeploy = Nothing-  , _rConfigure = Nothing-  , _rDeploy = Nothing-  }----- | An array of custom recipe names to be run following a @setup@ event.-rSetup :: Lens' Recipes [Text]-rSetup = lens _rSetup (\ s a -> s{_rSetup = a}) . _Default . _Coerce;---- | An array of custom recipe names to be run following a @shutdown@ event.-rShutdown :: Lens' Recipes [Text]-rShutdown = lens _rShutdown (\ s a -> s{_rShutdown = a}) . _Default . _Coerce;---- | An array of custom recipe names to be run following a @undeploy@ event.-rUndeploy :: Lens' Recipes [Text]-rUndeploy = lens _rUndeploy (\ s a -> s{_rUndeploy = a}) . _Default . _Coerce;---- | An array of custom recipe names to be run following a @configure@ event.-rConfigure :: Lens' Recipes [Text]-rConfigure = lens _rConfigure (\ s a -> s{_rConfigure = a}) . _Default . _Coerce;---- | An array of custom recipe names to be run following a @deploy@ event.-rDeploy :: Lens' Recipes [Text]-rDeploy = lens _rDeploy (\ s a -> s{_rDeploy = a}) . _Default . _Coerce;--instance FromJSON Recipes where-        parseJSON-          = withObject "Recipes"-              (\ x ->-                 Recipes' <$>-                   (x .:? "Setup" .!= mempty) <*>-                     (x .:? "Shutdown" .!= mempty)-                     <*> (x .:? "Undeploy" .!= mempty)-                     <*> (x .:? "Configure" .!= mempty)-                     <*> (x .:? "Deploy" .!= mempty))--instance Hashable Recipes where--instance NFData Recipes where--instance ToJSON Recipes where-        toJSON Recipes'{..}-          = object-              (catMaybes-                 [("Setup" .=) <$> _rSetup,-                  ("Shutdown" .=) <$> _rShutdown,-                  ("Undeploy" .=) <$> _rUndeploy,-                  ("Configure" .=) <$> _rConfigure,-                  ("Deploy" .=) <$> _rDeploy])---- | A registered instance's reported operating system.------------ /See:/ 'reportedOS' smart constructor.-data ReportedOS = ReportedOS'-  { _roFamily  :: !(Maybe Text)-  , _roName    :: !(Maybe Text)-  , _roVersion :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ReportedOS' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'roFamily' - The operating system family.------ * 'roName' - The operating system name.------ * 'roVersion' - The operating system version.-reportedOS-    :: ReportedOS-reportedOS =-  ReportedOS' {_roFamily = Nothing, _roName = Nothing, _roVersion = Nothing}----- | The operating system family.-roFamily :: Lens' ReportedOS (Maybe Text)-roFamily = lens _roFamily (\ s a -> s{_roFamily = a});---- | The operating system name.-roName :: Lens' ReportedOS (Maybe Text)-roName = lens _roName (\ s a -> s{_roName = a});---- | The operating system version.-roVersion :: Lens' ReportedOS (Maybe Text)-roVersion = lens _roVersion (\ s a -> s{_roVersion = a});--instance FromJSON ReportedOS where-        parseJSON-          = withObject "ReportedOS"-              (\ x ->-                 ReportedOS' <$>-                   (x .:? "Family") <*> (x .:? "Name") <*>-                     (x .:? "Version"))--instance Hashable ReportedOS where--instance NFData ReportedOS where---- | Describes an app's SSL configuration.------------ /See:/ 'sslConfiguration' smart constructor.-data SSLConfiguration = SSLConfiguration'-  { _scChain       :: !(Maybe Text)-  , _scCertificate :: !Text-  , _scPrivateKey  :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SSLConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scChain' - Optional. Can be used to specify an intermediate certificate authority key or client authentication.------ * 'scCertificate' - The contents of the certificate's domain.crt file.------ * 'scPrivateKey' - The private key; the contents of the certificate's domain.kex file.-sslConfiguration-    :: Text -- ^ 'scCertificate'-    -> Text -- ^ 'scPrivateKey'-    -> SSLConfiguration-sslConfiguration pCertificate_ pPrivateKey_ =-  SSLConfiguration'-  { _scChain = Nothing-  , _scCertificate = pCertificate_-  , _scPrivateKey = pPrivateKey_-  }----- | Optional. Can be used to specify an intermediate certificate authority key or client authentication.-scChain :: Lens' SSLConfiguration (Maybe Text)-scChain = lens _scChain (\ s a -> s{_scChain = a});---- | The contents of the certificate's domain.crt file.-scCertificate :: Lens' SSLConfiguration Text-scCertificate = lens _scCertificate (\ s a -> s{_scCertificate = a});---- | The private key; the contents of the certificate's domain.kex file.-scPrivateKey :: Lens' SSLConfiguration Text-scPrivateKey = lens _scPrivateKey (\ s a -> s{_scPrivateKey = a});--instance FromJSON SSLConfiguration where-        parseJSON-          = withObject "SSLConfiguration"-              (\ x ->-                 SSLConfiguration' <$>-                   (x .:? "Chain") <*> (x .: "Certificate") <*>-                     (x .: "PrivateKey"))--instance Hashable SSLConfiguration where--instance NFData SSLConfiguration where--instance ToJSON SSLConfiguration where-        toJSON SSLConfiguration'{..}-          = object-              (catMaybes-                 [("Chain" .=) <$> _scChain,-                  Just ("Certificate" .= _scCertificate),-                  Just ("PrivateKey" .= _scPrivateKey)])---- | Describes a user's SSH information.------------ /See:/ 'selfUserProfile' smart constructor.-data SelfUserProfile = SelfUserProfile'-  { _supSSHPublicKey :: !(Maybe Text)-  , _supSSHUsername  :: !(Maybe Text)-  , _supIAMUserARN   :: !(Maybe Text)-  , _supName         :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SelfUserProfile' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'supSSHPublicKey' - The user's SSH public key.------ * 'supSSHUsername' - The user's SSH user name.------ * 'supIAMUserARN' - The user's IAM ARN.------ * 'supName' - The user's name.-selfUserProfile-    :: SelfUserProfile-selfUserProfile =-  SelfUserProfile'-  { _supSSHPublicKey = Nothing-  , _supSSHUsername = Nothing-  , _supIAMUserARN = Nothing-  , _supName = Nothing-  }----- | The user's SSH public key.-supSSHPublicKey :: Lens' SelfUserProfile (Maybe Text)-supSSHPublicKey = lens _supSSHPublicKey (\ s a -> s{_supSSHPublicKey = a});---- | The user's SSH user name.-supSSHUsername :: Lens' SelfUserProfile (Maybe Text)-supSSHUsername = lens _supSSHUsername (\ s a -> s{_supSSHUsername = a});---- | The user's IAM ARN.-supIAMUserARN :: Lens' SelfUserProfile (Maybe Text)-supIAMUserARN = lens _supIAMUserARN (\ s a -> s{_supIAMUserARN = a});---- | The user's name.-supName :: Lens' SelfUserProfile (Maybe Text)-supName = lens _supName (\ s a -> s{_supName = a});--instance FromJSON SelfUserProfile where-        parseJSON-          = withObject "SelfUserProfile"-              (\ x ->-                 SelfUserProfile' <$>-                   (x .:? "SshPublicKey") <*> (x .:? "SshUsername") <*>-                     (x .:? "IamUserArn")-                     <*> (x .:? "Name"))--instance Hashable SelfUserProfile where--instance NFData SelfUserProfile where---- | Describes an AWS OpsWorks Stacks service error.------------ /See:/ 'serviceError'' smart constructor.-data ServiceError' = ServiceError''-  { _seInstanceId     :: !(Maybe Text)-  , _seCreatedAt      :: !(Maybe Text)-  , _seServiceErrorId :: !(Maybe Text)-  , _seType           :: !(Maybe Text)-  , _seStackId        :: !(Maybe Text)-  , _seMessage        :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ServiceError'' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'seInstanceId' - The instance ID.------ * 'seCreatedAt' - When the error occurred.------ * 'seServiceErrorId' - The error ID.------ * 'seType' - The error type.------ * 'seStackId' - The stack ID.------ * 'seMessage' - A message that describes the error.-serviceError'-    :: ServiceError'-serviceError' =-  ServiceError''-  { _seInstanceId = Nothing-  , _seCreatedAt = Nothing-  , _seServiceErrorId = Nothing-  , _seType = Nothing-  , _seStackId = Nothing-  , _seMessage = Nothing-  }----- | The instance ID.-seInstanceId :: Lens' ServiceError' (Maybe Text)-seInstanceId = lens _seInstanceId (\ s a -> s{_seInstanceId = a});---- | When the error occurred.-seCreatedAt :: Lens' ServiceError' (Maybe Text)-seCreatedAt = lens _seCreatedAt (\ s a -> s{_seCreatedAt = a});---- | The error ID.-seServiceErrorId :: Lens' ServiceError' (Maybe Text)-seServiceErrorId = lens _seServiceErrorId (\ s a -> s{_seServiceErrorId = a});---- | The error type.-seType :: Lens' ServiceError' (Maybe Text)-seType = lens _seType (\ s a -> s{_seType = a});---- | The stack ID.-seStackId :: Lens' ServiceError' (Maybe Text)-seStackId = lens _seStackId (\ s a -> s{_seStackId = a});---- | A message that describes the error.-seMessage :: Lens' ServiceError' (Maybe Text)-seMessage = lens _seMessage (\ s a -> s{_seMessage = a});--instance FromJSON ServiceError' where-        parseJSON-          = withObject "ServiceError'"-              (\ x ->-                 ServiceError'' <$>-                   (x .:? "InstanceId") <*> (x .:? "CreatedAt") <*>-                     (x .:? "ServiceErrorId")-                     <*> (x .:? "Type")-                     <*> (x .:? "StackId")-                     <*> (x .:? "Message"))--instance Hashable ServiceError' where--instance NFData ServiceError' where---- | The Shutdown event configuration.------------ /See:/ 'shutdownEventConfiguration' smart constructor.-data ShutdownEventConfiguration = ShutdownEventConfiguration'-  { _secExecutionTimeout                :: !(Maybe Int)-  , _secDelayUntilElbConnectionsDrained :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ShutdownEventConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'secExecutionTimeout' - The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.------ * 'secDelayUntilElbConnectionsDrained' - Whether to enable Elastic Load Balancing connection draining. For more information, see <http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain Connection Draining>-shutdownEventConfiguration-    :: ShutdownEventConfiguration-shutdownEventConfiguration =-  ShutdownEventConfiguration'-  { _secExecutionTimeout = Nothing-  , _secDelayUntilElbConnectionsDrained = Nothing-  }----- | The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.-secExecutionTimeout :: Lens' ShutdownEventConfiguration (Maybe Int)-secExecutionTimeout = lens _secExecutionTimeout (\ s a -> s{_secExecutionTimeout = a});---- | Whether to enable Elastic Load Balancing connection draining. For more information, see <http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain Connection Draining>-secDelayUntilElbConnectionsDrained :: Lens' ShutdownEventConfiguration (Maybe Bool)-secDelayUntilElbConnectionsDrained = lens _secDelayUntilElbConnectionsDrained (\ s a -> s{_secDelayUntilElbConnectionsDrained = a});--instance FromJSON ShutdownEventConfiguration where-        parseJSON-          = withObject "ShutdownEventConfiguration"-              (\ x ->-                 ShutdownEventConfiguration' <$>-                   (x .:? "ExecutionTimeout") <*>-                     (x .:? "DelayUntilElbConnectionsDrained"))--instance Hashable ShutdownEventConfiguration where--instance NFData ShutdownEventConfiguration where--instance ToJSON ShutdownEventConfiguration where-        toJSON ShutdownEventConfiguration'{..}-          = object-              (catMaybes-                 [("ExecutionTimeout" .=) <$> _secExecutionTimeout,-                  ("DelayUntilElbConnectionsDrained" .=) <$>-                    _secDelayUntilElbConnectionsDrained])---- | Contains the information required to retrieve an app or cookbook from a repository. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html Creating Apps> or <http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html Custom Recipes and Cookbooks> .------------ /See:/ 'source' smart constructor.-data Source = Source'-  { _sURL      :: !(Maybe Text)-  , _sUsername :: !(Maybe Text)-  , _sSSHKey   :: !(Maybe Text)-  , _sPassword :: !(Maybe Text)-  , _sType     :: !(Maybe SourceType)-  , _sRevision :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Source' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sURL' - The source URL. The following is an example of an Amazon S3 source URL: @https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz@ .------ * 'sUsername' - This parameter depends on the repository type.     * For Amazon S3 bundles, set @Username@ to the appropriate IAM access key ID.     * For HTTP bundles, Git repositories, and Subversion repositories, set @Username@ to the user name.------ * 'sSSHKey' - In requests, the repository's SSH key. In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.------ * 'sPassword' - When included in a request, the parameter depends on the repository type.     * For Amazon S3 bundles, set @Password@ to the appropriate IAM secret access key.     * For HTTP bundles and Subversion repositories, set @Password@ to the password. For more information on how to safely handle IAM credentials, see <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html> . In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.------ * 'sType' - The repository type.------ * 'sRevision' - The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.-source-    :: Source-source =-  Source'-  { _sURL = Nothing-  , _sUsername = Nothing-  , _sSSHKey = Nothing-  , _sPassword = Nothing-  , _sType = Nothing-  , _sRevision = Nothing-  }----- | The source URL. The following is an example of an Amazon S3 source URL: @https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz@ .-sURL :: Lens' Source (Maybe Text)-sURL = lens _sURL (\ s a -> s{_sURL = a});---- | This parameter depends on the repository type.     * For Amazon S3 bundles, set @Username@ to the appropriate IAM access key ID.     * For HTTP bundles, Git repositories, and Subversion repositories, set @Username@ to the user name.-sUsername :: Lens' Source (Maybe Text)-sUsername = lens _sUsername (\ s a -> s{_sUsername = a});---- | In requests, the repository's SSH key. In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.-sSSHKey :: Lens' Source (Maybe Text)-sSSHKey = lens _sSSHKey (\ s a -> s{_sSSHKey = a});---- | When included in a request, the parameter depends on the repository type.     * For Amazon S3 bundles, set @Password@ to the appropriate IAM secret access key.     * For HTTP bundles and Subversion repositories, set @Password@ to the password. For more information on how to safely handle IAM credentials, see <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html> . In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.-sPassword :: Lens' Source (Maybe Text)-sPassword = lens _sPassword (\ s a -> s{_sPassword = a});---- | The repository type.-sType :: Lens' Source (Maybe SourceType)-sType = lens _sType (\ s a -> s{_sType = a});---- | The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.-sRevision :: Lens' Source (Maybe Text)-sRevision = lens _sRevision (\ s a -> s{_sRevision = a});--instance FromJSON Source where-        parseJSON-          = withObject "Source"-              (\ x ->-                 Source' <$>-                   (x .:? "Url") <*> (x .:? "Username") <*>-                     (x .:? "SshKey")-                     <*> (x .:? "Password")-                     <*> (x .:? "Type")-                     <*> (x .:? "Revision"))--instance Hashable Source where--instance NFData Source where--instance ToJSON Source where-        toJSON Source'{..}-          = object-              (catMaybes-                 [("Url" .=) <$> _sURL,-                  ("Username" .=) <$> _sUsername,-                  ("SshKey" .=) <$> _sSSHKey,-                  ("Password" .=) <$> _sPassword,-                  ("Type" .=) <$> _sType,-                  ("Revision" .=) <$> _sRevision])---- | Describes a stack.------------ /See:/ 'stack' smart constructor.-data Stack = Stack'-  { _sDefaultInstanceProfileARN :: !(Maybe Text)-  , _sServiceRoleARN            :: !(Maybe Text)-  , _sDefaultRootDeviceType     :: !(Maybe RootDeviceType)-  , _sARN                       :: !(Maybe Text)-  , _sCreatedAt                 :: !(Maybe Text)-  , _sVPCId                     :: !(Maybe Text)-  , _sChefConfiguration         :: !(Maybe ChefConfiguration)-  , _sAgentVersion              :: !(Maybe Text)-  , _sDefaultSSHKeyName         :: !(Maybe Text)-  , _sCustomJSON                :: !(Maybe Text)-  , _sCustomCookbooksSource     :: !(Maybe Source)-  , _sDefaultAvailabilityZone   :: !(Maybe Text)-  , _sAttributes                :: !(Maybe (Map StackAttributesKeys Text))-  , _sName                      :: !(Maybe Text)-  , _sDefaultOS                 :: !(Maybe Text)-  , _sUseOpsworksSecurityGroups :: !(Maybe Bool)-  , _sUseCustomCookbooks        :: !(Maybe Bool)-  , _sDefaultSubnetId           :: !(Maybe Text)-  , _sRegion                    :: !(Maybe Text)-  , _sConfigurationManager      :: !(Maybe StackConfigurationManager)-  , _sStackId                   :: !(Maybe Text)-  , _sHostnameTheme             :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Stack' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sDefaultInstanceProfileARN' - The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .------ * 'sServiceRoleARN' - The stack AWS Identity and Access Management (IAM) role.------ * 'sDefaultRootDeviceType' - The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .------ * 'sARN' - The stack's ARN.------ * 'sCreatedAt' - The date when the stack was created.------ * 'sVPCId' - The VPC ID; applicable only if the stack is running in a VPC.------ * 'sChefConfiguration' - A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> .------ * 'sAgentVersion' - The agent version. This parameter is set to @LATEST@ for auto-update. or a version number for a fixed agent version.------ * 'sDefaultSSHKeyName' - A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.------ * 'sCustomJSON' - A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .------ * 'sCustomCookbooksSource' - Undocumented member.------ * 'sDefaultAvailabilityZone' - The stack's default Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'sAttributes' - The stack's attributes.------ * 'sName' - The stack name.------ * 'sDefaultOS' - The stack's default operating system.------ * 'sUseOpsworksSecurityGroups' - Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.------ * 'sUseCustomCookbooks' - Whether the stack uses custom cookbooks.------ * 'sDefaultSubnetId' - The default subnet ID; applicable only if the stack is running in a VPC.------ * 'sRegion' - The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'sConfigurationManager' - The configuration manager.------ * 'sStackId' - The stack ID.------ * 'sHostnameTheme' - The stack host name theme, with spaces replaced by underscores.-stack-    :: Stack-stack =-  Stack'-  { _sDefaultInstanceProfileARN = Nothing-  , _sServiceRoleARN = Nothing-  , _sDefaultRootDeviceType = Nothing-  , _sARN = Nothing-  , _sCreatedAt = Nothing-  , _sVPCId = Nothing-  , _sChefConfiguration = Nothing-  , _sAgentVersion = Nothing-  , _sDefaultSSHKeyName = Nothing-  , _sCustomJSON = Nothing-  , _sCustomCookbooksSource = Nothing-  , _sDefaultAvailabilityZone = Nothing-  , _sAttributes = Nothing-  , _sName = Nothing-  , _sDefaultOS = Nothing-  , _sUseOpsworksSecurityGroups = Nothing-  , _sUseCustomCookbooks = Nothing-  , _sDefaultSubnetId = Nothing-  , _sRegion = Nothing-  , _sConfigurationManager = Nothing-  , _sStackId = Nothing-  , _sHostnameTheme = Nothing-  }----- | The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .-sDefaultInstanceProfileARN :: Lens' Stack (Maybe Text)-sDefaultInstanceProfileARN = lens _sDefaultInstanceProfileARN (\ s a -> s{_sDefaultInstanceProfileARN = a});---- | The stack AWS Identity and Access Management (IAM) role.-sServiceRoleARN :: Lens' Stack (Maybe Text)-sServiceRoleARN = lens _sServiceRoleARN (\ s a -> s{_sServiceRoleARN = a});---- | The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .-sDefaultRootDeviceType :: Lens' Stack (Maybe RootDeviceType)-sDefaultRootDeviceType = lens _sDefaultRootDeviceType (\ s a -> s{_sDefaultRootDeviceType = a});---- | The stack's ARN.-sARN :: Lens' Stack (Maybe Text)-sARN = lens _sARN (\ s a -> s{_sARN = a});---- | The date when the stack was created.-sCreatedAt :: Lens' Stack (Maybe Text)-sCreatedAt = lens _sCreatedAt (\ s a -> s{_sCreatedAt = a});---- | The VPC ID; applicable only if the stack is running in a VPC.-sVPCId :: Lens' Stack (Maybe Text)-sVPCId = lens _sVPCId (\ s a -> s{_sVPCId = a});---- | A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> .-sChefConfiguration :: Lens' Stack (Maybe ChefConfiguration)-sChefConfiguration = lens _sChefConfiguration (\ s a -> s{_sChefConfiguration = a});---- | The agent version. This parameter is set to @LATEST@ for auto-update. or a version number for a fixed agent version.-sAgentVersion :: Lens' Stack (Maybe Text)-sAgentVersion = lens _sAgentVersion (\ s a -> s{_sAgentVersion = a});---- | A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.-sDefaultSSHKeyName :: Lens' Stack (Maybe Text)-sDefaultSSHKeyName = lens _sDefaultSSHKeyName (\ s a -> s{_sDefaultSSHKeyName = a});---- | A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .-sCustomJSON :: Lens' Stack (Maybe Text)-sCustomJSON = lens _sCustomJSON (\ s a -> s{_sCustomJSON = a});---- | Undocumented member.-sCustomCookbooksSource :: Lens' Stack (Maybe Source)-sCustomCookbooksSource = lens _sCustomCookbooksSource (\ s a -> s{_sCustomCookbooksSource = a});---- | The stack's default Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-sDefaultAvailabilityZone :: Lens' Stack (Maybe Text)-sDefaultAvailabilityZone = lens _sDefaultAvailabilityZone (\ s a -> s{_sDefaultAvailabilityZone = a});---- | The stack's attributes.-sAttributes :: Lens' Stack (HashMap StackAttributesKeys Text)-sAttributes = lens _sAttributes (\ s a -> s{_sAttributes = a}) . _Default . _Map;---- | The stack name.-sName :: Lens' Stack (Maybe Text)-sName = lens _sName (\ s a -> s{_sName = a});---- | The stack's default operating system.-sDefaultOS :: Lens' Stack (Maybe Text)-sDefaultOS = lens _sDefaultOS (\ s a -> s{_sDefaultOS = a});---- | Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.-sUseOpsworksSecurityGroups :: Lens' Stack (Maybe Bool)-sUseOpsworksSecurityGroups = lens _sUseOpsworksSecurityGroups (\ s a -> s{_sUseOpsworksSecurityGroups = a});---- | Whether the stack uses custom cookbooks.-sUseCustomCookbooks :: Lens' Stack (Maybe Bool)-sUseCustomCookbooks = lens _sUseCustomCookbooks (\ s a -> s{_sUseCustomCookbooks = a});---- | The default subnet ID; applicable only if the stack is running in a VPC.-sDefaultSubnetId :: Lens' Stack (Maybe Text)-sDefaultSubnetId = lens _sDefaultSubnetId (\ s a -> s{_sDefaultSubnetId = a});---- | The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-sRegion :: Lens' Stack (Maybe Text)-sRegion = lens _sRegion (\ s a -> s{_sRegion = a});---- | The configuration manager.-sConfigurationManager :: Lens' Stack (Maybe StackConfigurationManager)-sConfigurationManager = lens _sConfigurationManager (\ s a -> s{_sConfigurationManager = a});---- | The stack ID.-sStackId :: Lens' Stack (Maybe Text)-sStackId = lens _sStackId (\ s a -> s{_sStackId = a});---- | The stack host name theme, with spaces replaced by underscores.-sHostnameTheme :: Lens' Stack (Maybe Text)-sHostnameTheme = lens _sHostnameTheme (\ s a -> s{_sHostnameTheme = a});--instance FromJSON Stack where-        parseJSON-          = withObject "Stack"-              (\ x ->-                 Stack' <$>-                   (x .:? "DefaultInstanceProfileArn") <*>-                     (x .:? "ServiceRoleArn")-                     <*> (x .:? "DefaultRootDeviceType")-                     <*> (x .:? "Arn")-                     <*> (x .:? "CreatedAt")-                     <*> (x .:? "VpcId")-                     <*> (x .:? "ChefConfiguration")-                     <*> (x .:? "AgentVersion")-                     <*> (x .:? "DefaultSshKeyName")-                     <*> (x .:? "CustomJson")-                     <*> (x .:? "CustomCookbooksSource")-                     <*> (x .:? "DefaultAvailabilityZone")-                     <*> (x .:? "Attributes" .!= mempty)-                     <*> (x .:? "Name")-                     <*> (x .:? "DefaultOs")-                     <*> (x .:? "UseOpsworksSecurityGroups")-                     <*> (x .:? "UseCustomCookbooks")-                     <*> (x .:? "DefaultSubnetId")-                     <*> (x .:? "Region")-                     <*> (x .:? "ConfigurationManager")-                     <*> (x .:? "StackId")-                     <*> (x .:? "HostnameTheme"))--instance Hashable Stack where--instance NFData Stack where---- | Describes the configuration manager.------------ /See:/ 'stackConfigurationManager' smart constructor.-data StackConfigurationManager = StackConfigurationManager'-  { _scmName    :: !(Maybe Text)-  , _scmVersion :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StackConfigurationManager' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scmName' - The name. This parameter must be set to "Chef".------ * 'scmVersion' - The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.-stackConfigurationManager-    :: StackConfigurationManager-stackConfigurationManager =-  StackConfigurationManager' {_scmName = Nothing, _scmVersion = Nothing}----- | The name. This parameter must be set to "Chef".-scmName :: Lens' StackConfigurationManager (Maybe Text)-scmName = lens _scmName (\ s a -> s{_scmName = a});---- | The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.-scmVersion :: Lens' StackConfigurationManager (Maybe Text)-scmVersion = lens _scmVersion (\ s a -> s{_scmVersion = a});--instance FromJSON StackConfigurationManager where-        parseJSON-          = withObject "StackConfigurationManager"-              (\ x ->-                 StackConfigurationManager' <$>-                   (x .:? "Name") <*> (x .:? "Version"))--instance Hashable StackConfigurationManager where--instance NFData StackConfigurationManager where--instance ToJSON StackConfigurationManager where-        toJSON StackConfigurationManager'{..}-          = object-              (catMaybes-                 [("Name" .=) <$> _scmName,-                  ("Version" .=) <$> _scmVersion])---- | Summarizes the number of layers, instances, and apps in a stack.------------ /See:/ 'stackSummary' smart constructor.-data StackSummary = StackSummary'-  { _ssARN            :: !(Maybe Text)-  , _ssAppsCount      :: !(Maybe Int)-  , _ssName           :: !(Maybe Text)-  , _ssStackId        :: !(Maybe Text)-  , _ssLayersCount    :: !(Maybe Int)-  , _ssInstancesCount :: !(Maybe InstancesCount)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StackSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssARN' - The stack's ARN.------ * 'ssAppsCount' - The number of apps.------ * 'ssName' - The stack name.------ * 'ssStackId' - The stack ID.------ * 'ssLayersCount' - The number of layers.------ * 'ssInstancesCount' - An @InstancesCount@ object with the number of instances in each status.-stackSummary-    :: StackSummary-stackSummary =-  StackSummary'-  { _ssARN = Nothing-  , _ssAppsCount = Nothing-  , _ssName = Nothing-  , _ssStackId = Nothing-  , _ssLayersCount = Nothing-  , _ssInstancesCount = Nothing-  }----- | The stack's ARN.-ssARN :: Lens' StackSummary (Maybe Text)-ssARN = lens _ssARN (\ s a -> s{_ssARN = a});---- | The number of apps.-ssAppsCount :: Lens' StackSummary (Maybe Int)-ssAppsCount = lens _ssAppsCount (\ s a -> s{_ssAppsCount = a});---- | The stack name.-ssName :: Lens' StackSummary (Maybe Text)-ssName = lens _ssName (\ s a -> s{_ssName = a});---- | The stack ID.-ssStackId :: Lens' StackSummary (Maybe Text)-ssStackId = lens _ssStackId (\ s a -> s{_ssStackId = a});---- | The number of layers.-ssLayersCount :: Lens' StackSummary (Maybe Int)-ssLayersCount = lens _ssLayersCount (\ s a -> s{_ssLayersCount = a});---- | An @InstancesCount@ object with the number of instances in each status.-ssInstancesCount :: Lens' StackSummary (Maybe InstancesCount)-ssInstancesCount = lens _ssInstancesCount (\ s a -> s{_ssInstancesCount = a});--instance FromJSON StackSummary where-        parseJSON-          = withObject "StackSummary"-              (\ x ->-                 StackSummary' <$>-                   (x .:? "Arn") <*> (x .:? "AppsCount") <*>-                     (x .:? "Name")-                     <*> (x .:? "StackId")-                     <*> (x .:? "LayersCount")-                     <*> (x .:? "InstancesCount"))--instance Hashable StackSummary where--instance NFData StackSummary where---- | Contains the data needed by RDP clients such as the Microsoft Remote Desktop Connection to log in to the instance.------------ /See:/ 'temporaryCredential' smart constructor.-data TemporaryCredential = TemporaryCredential'-  { _tcInstanceId        :: !(Maybe Text)-  , _tcUsername          :: !(Maybe Text)-  , _tcPassword          :: !(Maybe Text)-  , _tcValidForInMinutes :: !(Maybe Int)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TemporaryCredential' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcInstanceId' - The instance's AWS OpsWorks Stacks ID.------ * 'tcUsername' - The user name.------ * 'tcPassword' - The password.------ * 'tcValidForInMinutes' - The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.-temporaryCredential-    :: TemporaryCredential-temporaryCredential =-  TemporaryCredential'-  { _tcInstanceId = Nothing-  , _tcUsername = Nothing-  , _tcPassword = Nothing-  , _tcValidForInMinutes = Nothing-  }----- | The instance's AWS OpsWorks Stacks ID.-tcInstanceId :: Lens' TemporaryCredential (Maybe Text)-tcInstanceId = lens _tcInstanceId (\ s a -> s{_tcInstanceId = a});---- | The user name.-tcUsername :: Lens' TemporaryCredential (Maybe Text)-tcUsername = lens _tcUsername (\ s a -> s{_tcUsername = a});---- | The password.-tcPassword :: Lens' TemporaryCredential (Maybe Text)-tcPassword = lens _tcPassword (\ s a -> s{_tcPassword = a});---- | The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.-tcValidForInMinutes :: Lens' TemporaryCredential (Maybe Int)-tcValidForInMinutes = lens _tcValidForInMinutes (\ s a -> s{_tcValidForInMinutes = a});--instance FromJSON TemporaryCredential where-        parseJSON-          = withObject "TemporaryCredential"-              (\ x ->-                 TemporaryCredential' <$>-                   (x .:? "InstanceId") <*> (x .:? "Username") <*>-                     (x .:? "Password")-                     <*> (x .:? "ValidForInMinutes"))--instance Hashable TemporaryCredential where--instance NFData TemporaryCredential where---- | Describes an instance's time-based auto scaling configuration.------------ /See:/ 'timeBasedAutoScalingConfiguration' smart constructor.-data TimeBasedAutoScalingConfiguration = TimeBasedAutoScalingConfiguration'-  { _tbascInstanceId          :: !(Maybe Text)-  , _tbascAutoScalingSchedule :: !(Maybe WeeklyAutoScalingSchedule)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TimeBasedAutoScalingConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tbascInstanceId' - The instance ID.------ * 'tbascAutoScalingSchedule' - A @WeeklyAutoScalingSchedule@ object with the instance schedule.-timeBasedAutoScalingConfiguration-    :: TimeBasedAutoScalingConfiguration-timeBasedAutoScalingConfiguration =-  TimeBasedAutoScalingConfiguration'-  {_tbascInstanceId = Nothing, _tbascAutoScalingSchedule = Nothing}----- | The instance ID.-tbascInstanceId :: Lens' TimeBasedAutoScalingConfiguration (Maybe Text)-tbascInstanceId = lens _tbascInstanceId (\ s a -> s{_tbascInstanceId = a});---- | A @WeeklyAutoScalingSchedule@ object with the instance schedule.-tbascAutoScalingSchedule :: Lens' TimeBasedAutoScalingConfiguration (Maybe WeeklyAutoScalingSchedule)-tbascAutoScalingSchedule = lens _tbascAutoScalingSchedule (\ s a -> s{_tbascAutoScalingSchedule = a});--instance FromJSON TimeBasedAutoScalingConfiguration-         where-        parseJSON-          = withObject "TimeBasedAutoScalingConfiguration"-              (\ x ->-                 TimeBasedAutoScalingConfiguration' <$>-                   (x .:? "InstanceId") <*>-                     (x .:? "AutoScalingSchedule"))--instance Hashable TimeBasedAutoScalingConfiguration-         where--instance NFData TimeBasedAutoScalingConfiguration-         where---- | Describes a user's SSH information.------------ /See:/ 'userProfile' smart constructor.-data UserProfile = UserProfile'-  { _upAllowSelfManagement :: !(Maybe Bool)-  , _upSSHPublicKey        :: !(Maybe Text)-  , _upSSHUsername         :: !(Maybe Text)-  , _upIAMUserARN          :: !(Maybe Text)-  , _upName                :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'UserProfile' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upAllowSelfManagement' - Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Managing User Permissions> .------ * 'upSSHPublicKey' - The user's SSH public key.------ * 'upSSHUsername' - The user's SSH user name.------ * 'upIAMUserARN' - The user's IAM ARN.------ * 'upName' - The user's name.-userProfile-    :: UserProfile-userProfile =-  UserProfile'-  { _upAllowSelfManagement = Nothing-  , _upSSHPublicKey = Nothing-  , _upSSHUsername = Nothing-  , _upIAMUserARN = Nothing-  , _upName = Nothing-  }----- | Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Managing User Permissions> .-upAllowSelfManagement :: Lens' UserProfile (Maybe Bool)-upAllowSelfManagement = lens _upAllowSelfManagement (\ s a -> s{_upAllowSelfManagement = a});---- | The user's SSH public key.-upSSHPublicKey :: Lens' UserProfile (Maybe Text)-upSSHPublicKey = lens _upSSHPublicKey (\ s a -> s{_upSSHPublicKey = a});---- | The user's SSH user name.-upSSHUsername :: Lens' UserProfile (Maybe Text)-upSSHUsername = lens _upSSHUsername (\ s a -> s{_upSSHUsername = a});---- | The user's IAM ARN.-upIAMUserARN :: Lens' UserProfile (Maybe Text)-upIAMUserARN = lens _upIAMUserARN (\ s a -> s{_upIAMUserARN = a});---- | The user's name.-upName :: Lens' UserProfile (Maybe Text)-upName = lens _upName (\ s a -> s{_upName = a});--instance FromJSON UserProfile where-        parseJSON-          = withObject "UserProfile"-              (\ x ->-                 UserProfile' <$>-                   (x .:? "AllowSelfManagement") <*>-                     (x .:? "SshPublicKey")-                     <*> (x .:? "SshUsername")-                     <*> (x .:? "IamUserArn")-                     <*> (x .:? "Name"))--instance Hashable UserProfile where--instance NFData UserProfile where---- | Describes an instance's Amazon EBS volume.------------ /See:/ 'volume' smart constructor.-data Volume = Volume'-  { _vInstanceId       :: !(Maybe Text)-  , _vStatus           :: !(Maybe Text)-  , _vSize             :: !(Maybe Int)-  , _vIOPS             :: !(Maybe Int)-  , _vDevice           :: !(Maybe Text)-  , _vAvailabilityZone :: !(Maybe Text)-  , _vName             :: !(Maybe Text)-  , _vRAIdArrayId      :: !(Maybe Text)-  , _vVolumeId         :: !(Maybe Text)-  , _vRegion           :: !(Maybe Text)-  , _vVolumeType       :: !(Maybe Text)-  , _vEC2VolumeId      :: !(Maybe Text)-  , _vMountPoint       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Volume' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vInstanceId' - The instance ID.------ * 'vStatus' - The value returned by <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html DescribeVolumes> .------ * 'vSize' - The volume size.------ * 'vIOPS' - For PIOPS volumes, the IOPS per disk.------ * 'vDevice' - The device name.------ * 'vAvailabilityZone' - The volume Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'vName' - The volume name.------ * 'vRAIdArrayId' - The RAID array ID.------ * 'vVolumeId' - The volume ID.------ * 'vRegion' - The AWS region. For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .------ * 'vVolumeType' - The volume type, standard or PIOPS.------ * 'vEC2VolumeId' - The Amazon EC2 volume ID.------ * 'vMountPoint' - The volume mount point. For example, "/mnt/disk1".-volume-    :: Volume-volume =-  Volume'-  { _vInstanceId = Nothing-  , _vStatus = Nothing-  , _vSize = Nothing-  , _vIOPS = Nothing-  , _vDevice = Nothing-  , _vAvailabilityZone = Nothing-  , _vName = Nothing-  , _vRAIdArrayId = Nothing-  , _vVolumeId = Nothing-  , _vRegion = Nothing-  , _vVolumeType = Nothing-  , _vEC2VolumeId = Nothing-  , _vMountPoint = Nothing-  }----- | The instance ID.-vInstanceId :: Lens' Volume (Maybe Text)-vInstanceId = lens _vInstanceId (\ s a -> s{_vInstanceId = a});---- | The value returned by <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html DescribeVolumes> .-vStatus :: Lens' Volume (Maybe Text)-vStatus = lens _vStatus (\ s a -> s{_vStatus = a});---- | The volume size.-vSize :: Lens' Volume (Maybe Int)-vSize = lens _vSize (\ s a -> s{_vSize = a});---- | For PIOPS volumes, the IOPS per disk.-vIOPS :: Lens' Volume (Maybe Int)-vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a});---- | The device name.-vDevice :: Lens' Volume (Maybe Text)-vDevice = lens _vDevice (\ s a -> s{_vDevice = a});---- | The volume Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-vAvailabilityZone :: Lens' Volume (Maybe Text)-vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a});---- | The volume name.-vName :: Lens' Volume (Maybe Text)-vName = lens _vName (\ s a -> s{_vName = a});---- | The RAID array ID.-vRAIdArrayId :: Lens' Volume (Maybe Text)-vRAIdArrayId = lens _vRAIdArrayId (\ s a -> s{_vRAIdArrayId = a});---- | The volume ID.-vVolumeId :: Lens' Volume (Maybe Text)-vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a});---- | The AWS region. For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .-vRegion :: Lens' Volume (Maybe Text)-vRegion = lens _vRegion (\ s a -> s{_vRegion = a});---- | The volume type, standard or PIOPS.-vVolumeType :: Lens' Volume (Maybe Text)-vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a});---- | The Amazon EC2 volume ID.-vEC2VolumeId :: Lens' Volume (Maybe Text)-vEC2VolumeId = lens _vEC2VolumeId (\ s a -> s{_vEC2VolumeId = a});---- | The volume mount point. For example, "/mnt/disk1".-vMountPoint :: Lens' Volume (Maybe Text)-vMountPoint = lens _vMountPoint (\ s a -> s{_vMountPoint = a});--instance FromJSON Volume where-        parseJSON-          = withObject "Volume"-              (\ x ->-                 Volume' <$>-                   (x .:? "InstanceId") <*> (x .:? "Status") <*>-                     (x .:? "Size")-                     <*> (x .:? "Iops")-                     <*> (x .:? "Device")-                     <*> (x .:? "AvailabilityZone")-                     <*> (x .:? "Name")-                     <*> (x .:? "RaidArrayId")-                     <*> (x .:? "VolumeId")-                     <*> (x .:? "Region")-                     <*> (x .:? "VolumeType")-                     <*> (x .:? "Ec2VolumeId")-                     <*> (x .:? "MountPoint"))--instance Hashable Volume where--instance NFData Volume where---- | Describes an Amazon EBS volume configuration.------------ /See:/ 'volumeConfiguration' smart constructor.-data VolumeConfiguration = VolumeConfiguration'-  { _vcIOPS          :: !(Maybe Int)-  , _vcRAIdLevel     :: !(Maybe Int)-  , _vcVolumeType    :: !(Maybe Text)-  , _vcMountPoint    :: !Text-  , _vcNumberOfDisks :: !Int-  , _vcSize          :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VolumeConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcIOPS' - For PIOPS volumes, the IOPS per disk.------ * 'vcRAIdLevel' - The volume <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .------ * 'vcVolumeType' - The volume type:     * @standard@ - Magnetic     * @io1@ - Provisioned IOPS (SSD)     * @gp2@ - General Purpose (SSD)------ * 'vcMountPoint' - The volume mount point. For example "/dev/sdh".------ * 'vcNumberOfDisks' - The number of disks in the volume.------ * 'vcSize' - The volume size.-volumeConfiguration-    :: Text -- ^ 'vcMountPoint'-    -> Int -- ^ 'vcNumberOfDisks'-    -> Int -- ^ 'vcSize'-    -> VolumeConfiguration-volumeConfiguration pMountPoint_ pNumberOfDisks_ pSize_ =-  VolumeConfiguration'-  { _vcIOPS = Nothing-  , _vcRAIdLevel = Nothing-  , _vcVolumeType = Nothing-  , _vcMountPoint = pMountPoint_-  , _vcNumberOfDisks = pNumberOfDisks_-  , _vcSize = pSize_-  }----- | For PIOPS volumes, the IOPS per disk.-vcIOPS :: Lens' VolumeConfiguration (Maybe Int)-vcIOPS = lens _vcIOPS (\ s a -> s{_vcIOPS = a});---- | The volume <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .-vcRAIdLevel :: Lens' VolumeConfiguration (Maybe Int)-vcRAIdLevel = lens _vcRAIdLevel (\ s a -> s{_vcRAIdLevel = a});---- | The volume type:     * @standard@ - Magnetic     * @io1@ - Provisioned IOPS (SSD)     * @gp2@ - General Purpose (SSD)-vcVolumeType :: Lens' VolumeConfiguration (Maybe Text)-vcVolumeType = lens _vcVolumeType (\ s a -> s{_vcVolumeType = a});---- | The volume mount point. For example "/dev/sdh".-vcMountPoint :: Lens' VolumeConfiguration Text-vcMountPoint = lens _vcMountPoint (\ s a -> s{_vcMountPoint = a});---- | The number of disks in the volume.-vcNumberOfDisks :: Lens' VolumeConfiguration Int-vcNumberOfDisks = lens _vcNumberOfDisks (\ s a -> s{_vcNumberOfDisks = a});---- | The volume size.-vcSize :: Lens' VolumeConfiguration Int-vcSize = lens _vcSize (\ s a -> s{_vcSize = a});--instance FromJSON VolumeConfiguration where-        parseJSON-          = withObject "VolumeConfiguration"-              (\ x ->-                 VolumeConfiguration' <$>-                   (x .:? "Iops") <*> (x .:? "RaidLevel") <*>-                     (x .:? "VolumeType")-                     <*> (x .: "MountPoint")-                     <*> (x .: "NumberOfDisks")-                     <*> (x .: "Size"))--instance Hashable VolumeConfiguration where--instance NFData VolumeConfiguration where--instance ToJSON VolumeConfiguration where-        toJSON VolumeConfiguration'{..}-          = object-              (catMaybes-                 [("Iops" .=) <$> _vcIOPS,-                  ("RaidLevel" .=) <$> _vcRAIdLevel,-                  ("VolumeType" .=) <$> _vcVolumeType,-                  Just ("MountPoint" .= _vcMountPoint),-                  Just ("NumberOfDisks" .= _vcNumberOfDisks),-                  Just ("Size" .= _vcSize)])---- | Describes a time-based instance's auto scaling schedule. The schedule consists of a set of key-value pairs.---------     * The key is the time period (a UTC hour) and must be an integer from 0 - 23.------     * The value indicates whether the instance should be online or offline for the specified period, and must be set to "on" or "off"------------ The default setting for all time periods is off, so you use the following parameters primarily to specify the online periods. You don't have to explicitly specify offline periods unless you want to change an online period to an offline period.------ The following example specifies that the instance should be online for four hours, from UTC 1200 - 1600. It will be off for the remainder of the day.------ @{ "12":"on", "13":"on", "14":"on", "15":"on" } @--------- /See:/ 'weeklyAutoScalingSchedule' smart constructor.-data WeeklyAutoScalingSchedule = WeeklyAutoScalingSchedule'-  { _wassThursday  :: !(Maybe (Map Text Text))-  , _wassWednesday :: !(Maybe (Map Text Text))-  , _wassSaturday  :: !(Maybe (Map Text Text))-  , _wassMonday    :: !(Maybe (Map Text Text))-  , _wassFriday    :: !(Maybe (Map Text Text))-  , _wassSunday    :: !(Maybe (Map Text Text))-  , _wassTuesday   :: !(Maybe (Map Text Text))-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WeeklyAutoScalingSchedule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wassThursday' - The schedule for Thursday.------ * 'wassWednesday' - The schedule for Wednesday.------ * 'wassSaturday' - The schedule for Saturday.------ * 'wassMonday' - The schedule for Monday.------ * 'wassFriday' - The schedule for Friday.------ * 'wassSunday' - The schedule for Sunday.------ * 'wassTuesday' - The schedule for Tuesday.-weeklyAutoScalingSchedule-    :: WeeklyAutoScalingSchedule-weeklyAutoScalingSchedule =-  WeeklyAutoScalingSchedule'-  { _wassThursday = Nothing-  , _wassWednesday = Nothing-  , _wassSaturday = Nothing-  , _wassMonday = Nothing-  , _wassFriday = Nothing-  , _wassSunday = Nothing-  , _wassTuesday = Nothing-  }----- | The schedule for Thursday.-wassThursday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassThursday = lens _wassThursday (\ s a -> s{_wassThursday = a}) . _Default . _Map;---- | The schedule for Wednesday.-wassWednesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassWednesday = lens _wassWednesday (\ s a -> s{_wassWednesday = a}) . _Default . _Map;---- | The schedule for Saturday.-wassSaturday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassSaturday = lens _wassSaturday (\ s a -> s{_wassSaturday = a}) . _Default . _Map;---- | The schedule for Monday.-wassMonday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassMonday = lens _wassMonday (\ s a -> s{_wassMonday = a}) . _Default . _Map;---- | The schedule for Friday.-wassFriday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassFriday = lens _wassFriday (\ s a -> s{_wassFriday = a}) . _Default . _Map;---- | The schedule for Sunday.-wassSunday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassSunday = lens _wassSunday (\ s a -> s{_wassSunday = a}) . _Default . _Map;---- | The schedule for Tuesday.-wassTuesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)-wassTuesday = lens _wassTuesday (\ s a -> s{_wassTuesday = a}) . _Default . _Map;+-- Copyright   : (c) 2013-2018 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.OpsWorks.Types.Product where++import Network.AWS.Lens+import Network.AWS.OpsWorks.Types.Sum+import Network.AWS.Prelude++-- | Describes an agent version.+--+--+--+-- /See:/ 'agentVersion' smart constructor.+data AgentVersion = AgentVersion'+  { _avVersion              :: !(Maybe Text)+  , _avConfigurationManager :: !(Maybe StackConfigurationManager)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AgentVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avVersion' - The agent version.+--+-- * 'avConfigurationManager' - The configuration manager.+agentVersion+    :: AgentVersion+agentVersion =+  AgentVersion' {_avVersion = Nothing, _avConfigurationManager = Nothing}+++-- | The agent version.+avVersion :: Lens' AgentVersion (Maybe Text)+avVersion = lens _avVersion (\ s a -> s{_avVersion = a})++-- | The configuration manager.+avConfigurationManager :: Lens' AgentVersion (Maybe StackConfigurationManager)+avConfigurationManager = lens _avConfigurationManager (\ s a -> s{_avConfigurationManager = a})++instance FromJSON AgentVersion where+        parseJSON+          = withObject "AgentVersion"+              (\ x ->+                 AgentVersion' <$>+                   (x .:? "Version") <*> (x .:? "ConfigurationManager"))++instance Hashable AgentVersion where++instance NFData AgentVersion where++-- | A description of the app.+--+--+--+-- /See:/ 'app' smart constructor.+data App = App'+  { _appSSLConfiguration :: !(Maybe SSLConfiguration)+  , _appEnvironment      :: !(Maybe [EnvironmentVariable])+  , _appEnableSSL        :: !(Maybe Bool)+  , _appCreatedAt        :: !(Maybe Text)+  , _appShortname        :: !(Maybe Text)+  , _appDataSources      :: !(Maybe [DataSource])+  , _appAppSource        :: !(Maybe Source)+  , _appAppId            :: !(Maybe Text)+  , _appAttributes       :: !(Maybe (Map AppAttributesKeys Text))+  , _appName             :: !(Maybe Text)+  , _appType             :: !(Maybe AppType)+  , _appStackId          :: !(Maybe Text)+  , _appDomains          :: !(Maybe [Text])+  , _appDescription      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'App' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'appSSLConfiguration' - An @SslConfiguration@ object with the SSL configuration.+--+-- * 'appEnvironment' - An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> .+--+-- * 'appEnableSSL' - Whether to enable SSL for the app.+--+-- * 'appCreatedAt' - When the app was created.+--+-- * 'appShortname' - The app's short name.+--+-- * 'appDataSources' - The app's data sources.+--+-- * 'appAppSource' - A @Source@ object that describes the app repository.+--+-- * 'appAppId' - The app ID.+--+-- * 'appAttributes' - The stack attributes.+--+-- * 'appName' - The app name.+--+-- * 'appType' - The app type.+--+-- * 'appStackId' - The app stack ID.+--+-- * 'appDomains' - The app vhost settings with multiple domains separated by commas. For example: @'www.example.com, example.com'@+--+-- * 'appDescription' - A description of the app.+app+    :: App+app =+  App'+    { _appSSLConfiguration = Nothing+    , _appEnvironment = Nothing+    , _appEnableSSL = Nothing+    , _appCreatedAt = Nothing+    , _appShortname = Nothing+    , _appDataSources = Nothing+    , _appAppSource = Nothing+    , _appAppId = Nothing+    , _appAttributes = Nothing+    , _appName = Nothing+    , _appType = Nothing+    , _appStackId = Nothing+    , _appDomains = Nothing+    , _appDescription = Nothing+    }+++-- | An @SslConfiguration@ object with the SSL configuration.+appSSLConfiguration :: Lens' App (Maybe SSLConfiguration)+appSSLConfiguration = lens _appSSLConfiguration (\ s a -> s{_appSSLConfiguration = a})++-- | An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> .+appEnvironment :: Lens' App [EnvironmentVariable]+appEnvironment = lens _appEnvironment (\ s a -> s{_appEnvironment = a}) . _Default . _Coerce++-- | Whether to enable SSL for the app.+appEnableSSL :: Lens' App (Maybe Bool)+appEnableSSL = lens _appEnableSSL (\ s a -> s{_appEnableSSL = a})++-- | When the app was created.+appCreatedAt :: Lens' App (Maybe Text)+appCreatedAt = lens _appCreatedAt (\ s a -> s{_appCreatedAt = a})++-- | The app's short name.+appShortname :: Lens' App (Maybe Text)+appShortname = lens _appShortname (\ s a -> s{_appShortname = a})++-- | The app's data sources.+appDataSources :: Lens' App [DataSource]+appDataSources = lens _appDataSources (\ s a -> s{_appDataSources = a}) . _Default . _Coerce++-- | A @Source@ object that describes the app repository.+appAppSource :: Lens' App (Maybe Source)+appAppSource = lens _appAppSource (\ s a -> s{_appAppSource = a})++-- | The app ID.+appAppId :: Lens' App (Maybe Text)+appAppId = lens _appAppId (\ s a -> s{_appAppId = a})++-- | The stack attributes.+appAttributes :: Lens' App (HashMap AppAttributesKeys Text)+appAttributes = lens _appAttributes (\ s a -> s{_appAttributes = a}) . _Default . _Map++-- | The app name.+appName :: Lens' App (Maybe Text)+appName = lens _appName (\ s a -> s{_appName = a})++-- | The app type.+appType :: Lens' App (Maybe AppType)+appType = lens _appType (\ s a -> s{_appType = a})++-- | The app stack ID.+appStackId :: Lens' App (Maybe Text)+appStackId = lens _appStackId (\ s a -> s{_appStackId = a})++-- | The app vhost settings with multiple domains separated by commas. For example: @'www.example.com, example.com'@+appDomains :: Lens' App [Text]+appDomains = lens _appDomains (\ s a -> s{_appDomains = a}) . _Default . _Coerce++-- | A description of the app.+appDescription :: Lens' App (Maybe Text)+appDescription = lens _appDescription (\ s a -> s{_appDescription = a})++instance FromJSON App where+        parseJSON+          = withObject "App"+              (\ x ->+                 App' <$>+                   (x .:? "SslConfiguration") <*>+                     (x .:? "Environment" .!= mempty)+                     <*> (x .:? "EnableSsl")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "Shortname")+                     <*> (x .:? "DataSources" .!= mempty)+                     <*> (x .:? "AppSource")+                     <*> (x .:? "AppId")+                     <*> (x .:? "Attributes" .!= mempty)+                     <*> (x .:? "Name")+                     <*> (x .:? "Type")+                     <*> (x .:? "StackId")+                     <*> (x .:? "Domains" .!= mempty)+                     <*> (x .:? "Description"))++instance Hashable App where++instance NFData App where++-- | Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks Stacks starts or stops load-based instances.+--+--+--+-- /See:/ 'autoScalingThresholds' smart constructor.+data AutoScalingThresholds = AutoScalingThresholds'+  { _astInstanceCount      :: !(Maybe Int)+  , _astIgnoreMetricsTime  :: !(Maybe Nat)+  , _astLoadThreshold      :: !(Maybe Double)+  , _astThresholdsWaitTime :: !(Maybe Nat)+  , _astAlarms             :: !(Maybe [Text])+  , _astMemoryThreshold    :: !(Maybe Double)+  , _astCPUThreshold       :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutoScalingThresholds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'astInstanceCount' - The number of instances to add or remove when the load exceeds a threshold.+--+-- * 'astIgnoreMetricsTime' - The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. @IgnoreMetricsTime@ allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.+--+-- * 'astLoadThreshold' - The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see <http://en.wikipedia.org/wiki/Load_%28computing%29 Load (computing)> .+--+-- * 'astThresholdsWaitTime' - The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.+--+-- * 'astAlarms' - Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.+--+-- * 'astMemoryThreshold' - The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.+--+-- * 'astCPUThreshold' - The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.+autoScalingThresholds+    :: AutoScalingThresholds+autoScalingThresholds =+  AutoScalingThresholds'+    { _astInstanceCount = Nothing+    , _astIgnoreMetricsTime = Nothing+    , _astLoadThreshold = Nothing+    , _astThresholdsWaitTime = Nothing+    , _astAlarms = Nothing+    , _astMemoryThreshold = Nothing+    , _astCPUThreshold = Nothing+    }+++-- | The number of instances to add or remove when the load exceeds a threshold.+astInstanceCount :: Lens' AutoScalingThresholds (Maybe Int)+astInstanceCount = lens _astInstanceCount (\ s a -> s{_astInstanceCount = a})++-- | The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. @IgnoreMetricsTime@ allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.+astIgnoreMetricsTime :: Lens' AutoScalingThresholds (Maybe Natural)+astIgnoreMetricsTime = lens _astIgnoreMetricsTime (\ s a -> s{_astIgnoreMetricsTime = a}) . mapping _Nat++-- | The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see <http://en.wikipedia.org/wiki/Load_%28computing%29 Load (computing)> .+astLoadThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astLoadThreshold = lens _astLoadThreshold (\ s a -> s{_astLoadThreshold = a})++-- | The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.+astThresholdsWaitTime :: Lens' AutoScalingThresholds (Maybe Natural)+astThresholdsWaitTime = lens _astThresholdsWaitTime (\ s a -> s{_astThresholdsWaitTime = a}) . mapping _Nat++-- | Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.+astAlarms :: Lens' AutoScalingThresholds [Text]+astAlarms = lens _astAlarms (\ s a -> s{_astAlarms = a}) . _Default . _Coerce++-- | The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.+astMemoryThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astMemoryThreshold = lens _astMemoryThreshold (\ s a -> s{_astMemoryThreshold = a})++-- | The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.+astCPUThreshold :: Lens' AutoScalingThresholds (Maybe Double)+astCPUThreshold = lens _astCPUThreshold (\ s a -> s{_astCPUThreshold = a})++instance FromJSON AutoScalingThresholds where+        parseJSON+          = withObject "AutoScalingThresholds"+              (\ x ->+                 AutoScalingThresholds' <$>+                   (x .:? "InstanceCount") <*>+                     (x .:? "IgnoreMetricsTime")+                     <*> (x .:? "LoadThreshold")+                     <*> (x .:? "ThresholdsWaitTime")+                     <*> (x .:? "Alarms" .!= mempty)+                     <*> (x .:? "MemoryThreshold")+                     <*> (x .:? "CpuThreshold"))++instance Hashable AutoScalingThresholds where++instance NFData AutoScalingThresholds where++instance ToJSON AutoScalingThresholds where+        toJSON AutoScalingThresholds'{..}+          = object+              (catMaybes+                 [("InstanceCount" .=) <$> _astInstanceCount,+                  ("IgnoreMetricsTime" .=) <$> _astIgnoreMetricsTime,+                  ("LoadThreshold" .=) <$> _astLoadThreshold,+                  ("ThresholdsWaitTime" .=) <$> _astThresholdsWaitTime,+                  ("Alarms" .=) <$> _astAlarms,+                  ("MemoryThreshold" .=) <$> _astMemoryThreshold,+                  ("CpuThreshold" .=) <$> _astCPUThreshold])++-- | Describes a block device mapping. This data type maps directly to the Amazon EC2 <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> data type.+--+--+--+-- /See:/ 'blockDeviceMapping' smart constructor.+data BlockDeviceMapping = BlockDeviceMapping'+  { _bdmVirtualName :: !(Maybe Text)+  , _bdmNoDevice    :: !(Maybe Text)+  , _bdmEBS         :: !(Maybe EBSBlockDevice)+  , _bdmDeviceName  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BlockDeviceMapping' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bdmVirtualName' - The virtual device name. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> .+--+-- * 'bdmNoDevice' - Suppresses the specified device included in the AMI's block device mapping.+--+-- * 'bdmEBS' - An @EBSBlockDevice@ that defines how to configure an Amazon EBS volume when the instance is launched.+--+-- * 'bdmDeviceName' - The device name that is exposed to the instance, such as @/dev/sdh@ . For the root device, you can use the explicit device name or you can set this parameter to @ROOT_DEVICE@ and AWS OpsWorks Stacks will provide the correct device name.+blockDeviceMapping+    :: BlockDeviceMapping+blockDeviceMapping =+  BlockDeviceMapping'+    { _bdmVirtualName = Nothing+    , _bdmNoDevice = Nothing+    , _bdmEBS = Nothing+    , _bdmDeviceName = Nothing+    }+++-- | The virtual device name. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html BlockDeviceMapping> .+bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)+bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a})++-- | Suppresses the specified device included in the AMI's block device mapping.+bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)+bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a})++-- | An @EBSBlockDevice@ that defines how to configure an Amazon EBS volume when the instance is launched.+bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)+bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a})++-- | The device name that is exposed to the instance, such as @/dev/sdh@ . For the root device, you can use the explicit device name or you can set this parameter to @ROOT_DEVICE@ and AWS OpsWorks Stacks will provide the correct device name.+bdmDeviceName :: Lens' BlockDeviceMapping (Maybe Text)+bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a})++instance FromJSON BlockDeviceMapping where+        parseJSON+          = withObject "BlockDeviceMapping"+              (\ x ->+                 BlockDeviceMapping' <$>+                   (x .:? "VirtualName") <*> (x .:? "NoDevice") <*>+                     (x .:? "Ebs")+                     <*> (x .:? "DeviceName"))++instance Hashable BlockDeviceMapping where++instance NFData BlockDeviceMapping where++instance ToJSON BlockDeviceMapping where+        toJSON BlockDeviceMapping'{..}+          = object+              (catMaybes+                 [("VirtualName" .=) <$> _bdmVirtualName,+                  ("NoDevice" .=) <$> _bdmNoDevice,+                  ("Ebs" .=) <$> _bdmEBS,+                  ("DeviceName" .=) <$> _bdmDeviceName])++-- | Describes the Chef configuration.+--+--+--+-- /See:/ 'chefConfiguration' smart constructor.+data ChefConfiguration = ChefConfiguration'+  { _ccBerkshelfVersion :: !(Maybe Text)+  , _ccManageBerkshelf  :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChefConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccBerkshelfVersion' - The Berkshelf version.+--+-- * 'ccManageBerkshelf' - Whether to enable Berkshelf.+chefConfiguration+    :: ChefConfiguration+chefConfiguration =+  ChefConfiguration'+    {_ccBerkshelfVersion = Nothing, _ccManageBerkshelf = Nothing}+++-- | The Berkshelf version.+ccBerkshelfVersion :: Lens' ChefConfiguration (Maybe Text)+ccBerkshelfVersion = lens _ccBerkshelfVersion (\ s a -> s{_ccBerkshelfVersion = a})++-- | Whether to enable Berkshelf.+ccManageBerkshelf :: Lens' ChefConfiguration (Maybe Bool)+ccManageBerkshelf = lens _ccManageBerkshelf (\ s a -> s{_ccManageBerkshelf = a})++instance FromJSON ChefConfiguration where+        parseJSON+          = withObject "ChefConfiguration"+              (\ x ->+                 ChefConfiguration' <$>+                   (x .:? "BerkshelfVersion") <*>+                     (x .:? "ManageBerkshelf"))++instance Hashable ChefConfiguration where++instance NFData ChefConfiguration where++instance ToJSON ChefConfiguration where+        toJSON ChefConfiguration'{..}+          = object+              (catMaybes+                 [("BerkshelfVersion" .=) <$> _ccBerkshelfVersion,+                  ("ManageBerkshelf" .=) <$> _ccManageBerkshelf])++-- | Describes the Amazon CloudWatch logs configuration for a layer.+--+--+--+-- /See:/ 'cloudWatchLogsConfiguration' smart constructor.+data CloudWatchLogsConfiguration = CloudWatchLogsConfiguration'+  { _cwlcEnabled    :: !(Maybe Bool)+  , _cwlcLogStreams :: !(Maybe [CloudWatchLogsLogStream])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CloudWatchLogsConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cwlcEnabled' - Whether CloudWatch Logs is enabled for a layer.+--+-- * 'cwlcLogStreams' - A list of configuration options for CloudWatch Logs.+cloudWatchLogsConfiguration+    :: CloudWatchLogsConfiguration+cloudWatchLogsConfiguration =+  CloudWatchLogsConfiguration'+    {_cwlcEnabled = Nothing, _cwlcLogStreams = Nothing}+++-- | Whether CloudWatch Logs is enabled for a layer.+cwlcEnabled :: Lens' CloudWatchLogsConfiguration (Maybe Bool)+cwlcEnabled = lens _cwlcEnabled (\ s a -> s{_cwlcEnabled = a})++-- | A list of configuration options for CloudWatch Logs.+cwlcLogStreams :: Lens' CloudWatchLogsConfiguration [CloudWatchLogsLogStream]+cwlcLogStreams = lens _cwlcLogStreams (\ s a -> s{_cwlcLogStreams = a}) . _Default . _Coerce++instance FromJSON CloudWatchLogsConfiguration where+        parseJSON+          = withObject "CloudWatchLogsConfiguration"+              (\ x ->+                 CloudWatchLogsConfiguration' <$>+                   (x .:? "Enabled") <*>+                     (x .:? "LogStreams" .!= mempty))++instance Hashable CloudWatchLogsConfiguration where++instance NFData CloudWatchLogsConfiguration where++instance ToJSON CloudWatchLogsConfiguration where+        toJSON CloudWatchLogsConfiguration'{..}+          = object+              (catMaybes+                 [("Enabled" .=) <$> _cwlcEnabled,+                  ("LogStreams" .=) <$> _cwlcLogStreams])++-- | Describes the Amazon CloudWatch logs configuration for a layer. For detailed information about members of this data type, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .+--+--+--+-- /See:/ 'cloudWatchLogsLogStream' smart constructor.+data CloudWatchLogsLogStream = CloudWatchLogsLogStream'+  { _cwllsBatchCount            :: !(Maybe Int)+  , _cwllsFileFingerprintLines  :: !(Maybe Text)+  , _cwllsBufferDuration        :: !(Maybe Int)+  , _cwllsBatchSize             :: !(Maybe Int)+  , _cwllsLogGroupName          :: !(Maybe Text)+  , _cwllsMultiLineStartPattern :: !(Maybe Text)+  , _cwllsInitialPosition       :: !(Maybe CloudWatchLogsInitialPosition)+  , _cwllsDatetimeFormat        :: !(Maybe Text)+  , _cwllsEncoding              :: !(Maybe CloudWatchLogsEncoding)+  , _cwllsTimeZone              :: !(Maybe CloudWatchLogsTimeZone)+  , _cwllsFile                  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CloudWatchLogsLogStream' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cwllsBatchCount' - Specifies the max number of log events in a batch, up to 10000. The default value is 1000.+--+-- * 'cwllsFileFingerprintLines' - Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.+--+-- * 'cwllsBufferDuration' - Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.+--+-- * 'cwllsBatchSize' - Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.+--+-- * 'cwllsLogGroupName' - Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).+--+-- * 'cwllsMultiLineStartPattern' - Specifies the pattern for identifying the start of a log message.+--+-- * 'cwllsInitialPosition' - Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.+--+-- * 'cwllsDatetimeFormat' - Specifies how the time stamp is extracted from logs. For more information, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .+--+-- * 'cwllsEncoding' - Specifies the encoding of the log file so that the file can be read correctly. The default is @utf_8@ . Encodings supported by Python @codecs.decode()@ can be used here.+--+-- * 'cwllsTimeZone' - Specifies the time zone of log event time stamps.+--+-- * 'cwllsFile' - Specifies log files that you want to push to CloudWatch Logs. @File@ can point to a specific file or multiple files (by using wild card characters such as @/var/log/system.log*@ ). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as @access_log.2014-06-01-01@ , @access_log.2014-06-01-02@ , and so on by using a pattern like @access_log.*@ . Don't use a wildcard to match multiple file types, such as @access_log_80@ and @access_log_443@ . To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group. Zipped files are not supported.+cloudWatchLogsLogStream+    :: CloudWatchLogsLogStream+cloudWatchLogsLogStream =+  CloudWatchLogsLogStream'+    { _cwllsBatchCount = Nothing+    , _cwllsFileFingerprintLines = Nothing+    , _cwllsBufferDuration = Nothing+    , _cwllsBatchSize = Nothing+    , _cwllsLogGroupName = Nothing+    , _cwllsMultiLineStartPattern = Nothing+    , _cwllsInitialPosition = Nothing+    , _cwllsDatetimeFormat = Nothing+    , _cwllsEncoding = Nothing+    , _cwllsTimeZone = Nothing+    , _cwllsFile = Nothing+    }+++-- | Specifies the max number of log events in a batch, up to 10000. The default value is 1000.+cwllsBatchCount :: Lens' CloudWatchLogsLogStream (Maybe Int)+cwllsBatchCount = lens _cwllsBatchCount (\ s a -> s{_cwllsBatchCount = a})++-- | Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.+cwllsFileFingerprintLines :: Lens' CloudWatchLogsLogStream (Maybe Text)+cwllsFileFingerprintLines = lens _cwllsFileFingerprintLines (\ s a -> s{_cwllsFileFingerprintLines = a})++-- | Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.+cwllsBufferDuration :: Lens' CloudWatchLogsLogStream (Maybe Int)+cwllsBufferDuration = lens _cwllsBufferDuration (\ s a -> s{_cwllsBufferDuration = a})++-- | Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.+cwllsBatchSize :: Lens' CloudWatchLogsLogStream (Maybe Int)+cwllsBatchSize = lens _cwllsBatchSize (\ s a -> s{_cwllsBatchSize = a})++-- | Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).+cwllsLogGroupName :: Lens' CloudWatchLogsLogStream (Maybe Text)+cwllsLogGroupName = lens _cwllsLogGroupName (\ s a -> s{_cwllsLogGroupName = a})++-- | Specifies the pattern for identifying the start of a log message.+cwllsMultiLineStartPattern :: Lens' CloudWatchLogsLogStream (Maybe Text)+cwllsMultiLineStartPattern = lens _cwllsMultiLineStartPattern (\ s a -> s{_cwllsMultiLineStartPattern = a})++-- | Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.+cwllsInitialPosition :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsInitialPosition)+cwllsInitialPosition = lens _cwllsInitialPosition (\ s a -> s{_cwllsInitialPosition = a})++-- | Specifies how the time stamp is extracted from logs. For more information, see the <http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html CloudWatch Logs Agent Reference> .+cwllsDatetimeFormat :: Lens' CloudWatchLogsLogStream (Maybe Text)+cwllsDatetimeFormat = lens _cwllsDatetimeFormat (\ s a -> s{_cwllsDatetimeFormat = a})++-- | Specifies the encoding of the log file so that the file can be read correctly. The default is @utf_8@ . Encodings supported by Python @codecs.decode()@ can be used here.+cwllsEncoding :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsEncoding)+cwllsEncoding = lens _cwllsEncoding (\ s a -> s{_cwllsEncoding = a})++-- | Specifies the time zone of log event time stamps.+cwllsTimeZone :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsTimeZone)+cwllsTimeZone = lens _cwllsTimeZone (\ s a -> s{_cwllsTimeZone = a})++-- | Specifies log files that you want to push to CloudWatch Logs. @File@ can point to a specific file or multiple files (by using wild card characters such as @/var/log/system.log*@ ). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as @access_log.2014-06-01-01@ , @access_log.2014-06-01-02@ , and so on by using a pattern like @access_log.*@ . Don't use a wildcard to match multiple file types, such as @access_log_80@ and @access_log_443@ . To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group. Zipped files are not supported.+cwllsFile :: Lens' CloudWatchLogsLogStream (Maybe Text)+cwllsFile = lens _cwllsFile (\ s a -> s{_cwllsFile = a})++instance FromJSON CloudWatchLogsLogStream where+        parseJSON+          = withObject "CloudWatchLogsLogStream"+              (\ x ->+                 CloudWatchLogsLogStream' <$>+                   (x .:? "BatchCount") <*>+                     (x .:? "FileFingerprintLines")+                     <*> (x .:? "BufferDuration")+                     <*> (x .:? "BatchSize")+                     <*> (x .:? "LogGroupName")+                     <*> (x .:? "MultiLineStartPattern")+                     <*> (x .:? "InitialPosition")+                     <*> (x .:? "DatetimeFormat")+                     <*> (x .:? "Encoding")+                     <*> (x .:? "TimeZone")+                     <*> (x .:? "File"))++instance Hashable CloudWatchLogsLogStream where++instance NFData CloudWatchLogsLogStream where++instance ToJSON CloudWatchLogsLogStream where+        toJSON CloudWatchLogsLogStream'{..}+          = object+              (catMaybes+                 [("BatchCount" .=) <$> _cwllsBatchCount,+                  ("FileFingerprintLines" .=) <$>+                    _cwllsFileFingerprintLines,+                  ("BufferDuration" .=) <$> _cwllsBufferDuration,+                  ("BatchSize" .=) <$> _cwllsBatchSize,+                  ("LogGroupName" .=) <$> _cwllsLogGroupName,+                  ("MultiLineStartPattern" .=) <$>+                    _cwllsMultiLineStartPattern,+                  ("InitialPosition" .=) <$> _cwllsInitialPosition,+                  ("DatetimeFormat" .=) <$> _cwllsDatetimeFormat,+                  ("Encoding" .=) <$> _cwllsEncoding,+                  ("TimeZone" .=) <$> _cwllsTimeZone,+                  ("File" .=) <$> _cwllsFile])++-- | Describes a command.+--+--+--+-- /See:/ 'command' smart constructor.+data Command = Command'+  { _cDeploymentId   :: !(Maybe Text)+  , _cInstanceId     :: !(Maybe Text)+  , _cStatus         :: !(Maybe Text)+  , _cLogURL         :: !(Maybe Text)+  , _cCreatedAt      :: !(Maybe Text)+  , _cCommandId      :: !(Maybe Text)+  , _cExitCode       :: !(Maybe Int)+  , _cType           :: !(Maybe Text)+  , _cCompletedAt    :: !(Maybe Text)+  , _cAcknowledgedAt :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Command' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cDeploymentId' - The command deployment ID.+--+-- * 'cInstanceId' - The ID of the instance where the command was executed.+--+-- * 'cStatus' - The command status:     * failed     * successful     * skipped     * pending+--+-- * 'cLogURL' - The URL of the command log.+--+-- * 'cCreatedAt' - Date and time when the command was run.+--+-- * 'cCommandId' - The command ID.+--+-- * 'cExitCode' - The command exit code.+--+-- * 'cType' - The command type:     * @configure@      * @deploy@      * @execute_recipes@      * @install_dependencies@      * @restart@      * @rollback@      * @setup@      * @start@      * @stop@      * @undeploy@      * @update_custom_cookbooks@      * @update_dependencies@+--+-- * 'cCompletedAt' - Date when the command completed.+--+-- * 'cAcknowledgedAt' - Date and time when the command was acknowledged.+command+    :: Command+command =+  Command'+    { _cDeploymentId = Nothing+    , _cInstanceId = Nothing+    , _cStatus = Nothing+    , _cLogURL = Nothing+    , _cCreatedAt = Nothing+    , _cCommandId = Nothing+    , _cExitCode = Nothing+    , _cType = Nothing+    , _cCompletedAt = Nothing+    , _cAcknowledgedAt = Nothing+    }+++-- | The command deployment ID.+cDeploymentId :: Lens' Command (Maybe Text)+cDeploymentId = lens _cDeploymentId (\ s a -> s{_cDeploymentId = a})++-- | The ID of the instance where the command was executed.+cInstanceId :: Lens' Command (Maybe Text)+cInstanceId = lens _cInstanceId (\ s a -> s{_cInstanceId = a})++-- | The command status:     * failed     * successful     * skipped     * pending+cStatus :: Lens' Command (Maybe Text)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a})++-- | The URL of the command log.+cLogURL :: Lens' Command (Maybe Text)+cLogURL = lens _cLogURL (\ s a -> s{_cLogURL = a})++-- | Date and time when the command was run.+cCreatedAt :: Lens' Command (Maybe Text)+cCreatedAt = lens _cCreatedAt (\ s a -> s{_cCreatedAt = a})++-- | The command ID.+cCommandId :: Lens' Command (Maybe Text)+cCommandId = lens _cCommandId (\ s a -> s{_cCommandId = a})++-- | The command exit code.+cExitCode :: Lens' Command (Maybe Int)+cExitCode = lens _cExitCode (\ s a -> s{_cExitCode = a})++-- | The command type:     * @configure@      * @deploy@      * @execute_recipes@      * @install_dependencies@      * @restart@      * @rollback@      * @setup@      * @start@      * @stop@      * @undeploy@      * @update_custom_cookbooks@      * @update_dependencies@+cType :: Lens' Command (Maybe Text)+cType = lens _cType (\ s a -> s{_cType = a})++-- | Date when the command completed.+cCompletedAt :: Lens' Command (Maybe Text)+cCompletedAt = lens _cCompletedAt (\ s a -> s{_cCompletedAt = a})++-- | Date and time when the command was acknowledged.+cAcknowledgedAt :: Lens' Command (Maybe Text)+cAcknowledgedAt = lens _cAcknowledgedAt (\ s a -> s{_cAcknowledgedAt = a})++instance FromJSON Command where+        parseJSON+          = withObject "Command"+              (\ x ->+                 Command' <$>+                   (x .:? "DeploymentId") <*> (x .:? "InstanceId") <*>+                     (x .:? "Status")+                     <*> (x .:? "LogUrl")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "CommandId")+                     <*> (x .:? "ExitCode")+                     <*> (x .:? "Type")+                     <*> (x .:? "CompletedAt")+                     <*> (x .:? "AcknowledgedAt"))++instance Hashable Command where++instance NFData Command where++-- | Describes an app's data source.+--+--+--+-- /See:/ 'dataSource' smart constructor.+data DataSource = DataSource'+  { _dsARN          :: !(Maybe Text)+  , _dsDatabaseName :: !(Maybe Text)+  , _dsType         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DataSource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsARN' - The data source's ARN.+--+-- * 'dsDatabaseName' - The database name.+--+-- * 'dsType' - The data source's type, @AutoSelectOpsworksMysqlInstance@ , @OpsworksMysqlInstance@ , @RdsDbInstance@ , or @None@ .+dataSource+    :: DataSource+dataSource =+  DataSource' {_dsARN = Nothing, _dsDatabaseName = Nothing, _dsType = Nothing}+++-- | The data source's ARN.+dsARN :: Lens' DataSource (Maybe Text)+dsARN = lens _dsARN (\ s a -> s{_dsARN = a})++-- | The database name.+dsDatabaseName :: Lens' DataSource (Maybe Text)+dsDatabaseName = lens _dsDatabaseName (\ s a -> s{_dsDatabaseName = a})++-- | The data source's type, @AutoSelectOpsworksMysqlInstance@ , @OpsworksMysqlInstance@ , @RdsDbInstance@ , or @None@ .+dsType :: Lens' DataSource (Maybe Text)+dsType = lens _dsType (\ s a -> s{_dsType = a})++instance FromJSON DataSource where+        parseJSON+          = withObject "DataSource"+              (\ x ->+                 DataSource' <$>+                   (x .:? "Arn") <*> (x .:? "DatabaseName") <*>+                     (x .:? "Type"))++instance Hashable DataSource where++instance NFData DataSource where++instance ToJSON DataSource where+        toJSON DataSource'{..}+          = object+              (catMaybes+                 [("Arn" .=) <$> _dsARN,+                  ("DatabaseName" .=) <$> _dsDatabaseName,+                  ("Type" .=) <$> _dsType])++-- | Describes a deployment of a stack or app.+--+--+--+-- /See:/ 'deployment' smart constructor.+data Deployment = Deployment'+  { _dDeploymentId :: !(Maybe Text)+  , _dStatus       :: !(Maybe Text)+  , _dCommand      :: !(Maybe DeploymentCommand)+  , _dCreatedAt    :: !(Maybe Text)+  , _dCustomJSON   :: !(Maybe Text)+  , _dIAMUserARN   :: !(Maybe Text)+  , _dAppId        :: !(Maybe Text)+  , _dInstanceIds  :: !(Maybe [Text])+  , _dCompletedAt  :: !(Maybe Text)+  , _dStackId      :: !(Maybe Text)+  , _dComment      :: !(Maybe Text)+  , _dDuration     :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Deployment' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDeploymentId' - The deployment ID.+--+-- * 'dStatus' - The deployment status:     * running     * successful     * failed+--+-- * 'dCommand' - Undocumented member.+--+-- * 'dCreatedAt' - Date when the deployment was created.+--+-- * 'dCustomJSON' - A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .+--+-- * 'dIAMUserARN' - The user's IAM ARN.+--+-- * 'dAppId' - The app ID.+--+-- * 'dInstanceIds' - The IDs of the target instances.+--+-- * 'dCompletedAt' - Date when the deployment completed.+--+-- * 'dStackId' - The stack ID.+--+-- * 'dComment' - A user-defined comment.+--+-- * 'dDuration' - The deployment duration.+deployment+    :: Deployment+deployment =+  Deployment'+    { _dDeploymentId = Nothing+    , _dStatus = Nothing+    , _dCommand = Nothing+    , _dCreatedAt = Nothing+    , _dCustomJSON = Nothing+    , _dIAMUserARN = Nothing+    , _dAppId = Nothing+    , _dInstanceIds = Nothing+    , _dCompletedAt = Nothing+    , _dStackId = Nothing+    , _dComment = Nothing+    , _dDuration = Nothing+    }+++-- | The deployment ID.+dDeploymentId :: Lens' Deployment (Maybe Text)+dDeploymentId = lens _dDeploymentId (\ s a -> s{_dDeploymentId = a})++-- | The deployment status:     * running     * successful     * failed+dStatus :: Lens' Deployment (Maybe Text)+dStatus = lens _dStatus (\ s a -> s{_dStatus = a})++-- | Undocumented member.+dCommand :: Lens' Deployment (Maybe DeploymentCommand)+dCommand = lens _dCommand (\ s a -> s{_dCommand = a})++-- | Date when the deployment was created.+dCreatedAt :: Lens' Deployment (Maybe Text)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a})++-- | A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .+dCustomJSON :: Lens' Deployment (Maybe Text)+dCustomJSON = lens _dCustomJSON (\ s a -> s{_dCustomJSON = a})++-- | The user's IAM ARN.+dIAMUserARN :: Lens' Deployment (Maybe Text)+dIAMUserARN = lens _dIAMUserARN (\ s a -> s{_dIAMUserARN = a})++-- | The app ID.+dAppId :: Lens' Deployment (Maybe Text)+dAppId = lens _dAppId (\ s a -> s{_dAppId = a})++-- | The IDs of the target instances.+dInstanceIds :: Lens' Deployment [Text]+dInstanceIds = lens _dInstanceIds (\ s a -> s{_dInstanceIds = a}) . _Default . _Coerce++-- | Date when the deployment completed.+dCompletedAt :: Lens' Deployment (Maybe Text)+dCompletedAt = lens _dCompletedAt (\ s a -> s{_dCompletedAt = a})++-- | The stack ID.+dStackId :: Lens' Deployment (Maybe Text)+dStackId = lens _dStackId (\ s a -> s{_dStackId = a})++-- | A user-defined comment.+dComment :: Lens' Deployment (Maybe Text)+dComment = lens _dComment (\ s a -> s{_dComment = a})++-- | The deployment duration.+dDuration :: Lens' Deployment (Maybe Int)+dDuration = lens _dDuration (\ s a -> s{_dDuration = a})++instance FromJSON Deployment where+        parseJSON+          = withObject "Deployment"+              (\ x ->+                 Deployment' <$>+                   (x .:? "DeploymentId") <*> (x .:? "Status") <*>+                     (x .:? "Command")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "CustomJson")+                     <*> (x .:? "IamUserArn")+                     <*> (x .:? "AppId")+                     <*> (x .:? "InstanceIds" .!= mempty)+                     <*> (x .:? "CompletedAt")+                     <*> (x .:? "StackId")+                     <*> (x .:? "Comment")+                     <*> (x .:? "Duration"))++instance Hashable Deployment where++instance NFData Deployment where++-- | Used to specify a stack or deployment command.+--+--+--+-- /See:/ 'deploymentCommand' smart constructor.+data DeploymentCommand = DeploymentCommand'+  { _dcArgs :: !(Maybe (Map Text [Text]))+  , _dcName :: !DeploymentCommandName+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeploymentCommand' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcArgs' - The arguments of those commands that take arguments. It should be set to a JSON object with the following format: @{"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}@  The @update_dependencies@ command takes two arguments:     * @upgrade_os_to@ - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as @Amazon Linux 2016.09@ . You must also set the @allow_reboot@ argument to true.     * @allow_reboot@ - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either @true@ or @false@ . The default value is @false@ . For example, to upgrade an instance to Amazon Linux 2016.09, set @Args@ to the following. @{ "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } @+--+-- * 'dcName' - Specifies the operation. You can specify only one command. For stacks, the following commands are available:     * @execute_recipes@ : Execute one or more recipes. To specify the recipes, set an @Args@ parameter named @recipes@ to the list of recipes to be executed. For example, to execute @phpapp::appsetup@ , set @Args@ to @{"recipes":["phpapp::appsetup"]}@ .     * @install_dependencies@ : Install the stack's dependencies.     * @update_custom_cookbooks@ : Update the stack's custom cookbooks.     * @update_dependencies@ : Update the stack's dependencies. For apps, the following commands are available:     * @deploy@ : Deploy an app. Ruby on Rails apps have an optional @Args@ parameter named @migrate@ . Set @Args@ to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.     * @rollback@ Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.     * @start@ : Start the app's web or application server.     * @stop@ : Stop the app's web or application server.     * @restart@ : Restart the app's web or application server.     * @undeploy@ : Undeploy the app.+deploymentCommand+    :: DeploymentCommandName -- ^ 'dcName'+    -> DeploymentCommand+deploymentCommand pName_ =+  DeploymentCommand' {_dcArgs = Nothing, _dcName = pName_}+++-- | The arguments of those commands that take arguments. It should be set to a JSON object with the following format: @{"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}@  The @update_dependencies@ command takes two arguments:     * @upgrade_os_to@ - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as @Amazon Linux 2016.09@ . You must also set the @allow_reboot@ argument to true.     * @allow_reboot@ - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either @true@ or @false@ . The default value is @false@ . For example, to upgrade an instance to Amazon Linux 2016.09, set @Args@ to the following. @{ "upgrade_os_to":["Amazon Linux 2016.09"], "allow_reboot":["true"] } @+dcArgs :: Lens' DeploymentCommand (HashMap Text [Text])+dcArgs = lens _dcArgs (\ s a -> s{_dcArgs = a}) . _Default . _Map++-- | Specifies the operation. You can specify only one command. For stacks, the following commands are available:     * @execute_recipes@ : Execute one or more recipes. To specify the recipes, set an @Args@ parameter named @recipes@ to the list of recipes to be executed. For example, to execute @phpapp::appsetup@ , set @Args@ to @{"recipes":["phpapp::appsetup"]}@ .     * @install_dependencies@ : Install the stack's dependencies.     * @update_custom_cookbooks@ : Update the stack's custom cookbooks.     * @update_dependencies@ : Update the stack's dependencies. For apps, the following commands are available:     * @deploy@ : Deploy an app. Ruby on Rails apps have an optional @Args@ parameter named @migrate@ . Set @Args@ to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.     * @rollback@ Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.     * @start@ : Start the app's web or application server.     * @stop@ : Stop the app's web or application server.     * @restart@ : Restart the app's web or application server.     * @undeploy@ : Undeploy the app.+dcName :: Lens' DeploymentCommand DeploymentCommandName+dcName = lens _dcName (\ s a -> s{_dcName = a})++instance FromJSON DeploymentCommand where+        parseJSON+          = withObject "DeploymentCommand"+              (\ x ->+                 DeploymentCommand' <$>+                   (x .:? "Args" .!= mempty) <*> (x .: "Name"))++instance Hashable DeploymentCommand where++instance NFData DeploymentCommand where++instance ToJSON DeploymentCommand where+        toJSON DeploymentCommand'{..}+          = object+              (catMaybes+                 [("Args" .=) <$> _dcArgs, Just ("Name" .= _dcName)])++-- | Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> data type.+--+--+--+-- /See:/ 'ebsBlockDevice' smart constructor.+data EBSBlockDevice = EBSBlockDevice'+  { _ebdDeleteOnTermination :: !(Maybe Bool)+  , _ebdVolumeSize          :: !(Maybe Int)+  , _ebdIOPS                :: !(Maybe Int)+  , _ebdVolumeType          :: !(Maybe VolumeType)+  , _ebdSnapshotId          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EBSBlockDevice' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ebdDeleteOnTermination' - Whether the volume is deleted on instance termination.+--+-- * 'ebdVolumeSize' - The volume size, in GiB. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .+--+-- * 'ebdIOPS' - The number of I/O operations per second (IOPS) that the volume supports. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .+--+-- * 'ebdVolumeType' - The volume type. @gp2@ for General Purpose (SSD) volumes, @io1@ for Provisioned IOPS (SSD) volumes, @st1@ for Throughput Optimized hard disk drives (HDD), @sc1@ for Cold HDD,and @standard@ for Magnetic volumes. If you specify the @io1@ volume type, you must also specify a value for the @Iops@ attribute. The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume size).+--+-- * 'ebdSnapshotId' - The snapshot ID.+ebsBlockDevice+    :: EBSBlockDevice+ebsBlockDevice =+  EBSBlockDevice'+    { _ebdDeleteOnTermination = Nothing+    , _ebdVolumeSize = Nothing+    , _ebdIOPS = Nothing+    , _ebdVolumeType = Nothing+    , _ebdSnapshotId = Nothing+    }+++-- | Whether the volume is deleted on instance termination.+ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)+ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a})++-- | The volume size, in GiB. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .+ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)+ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a})++-- | The number of I/O operations per second (IOPS) that the volume supports. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html EbsBlockDevice> .+ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)+ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a})++-- | The volume type. @gp2@ for General Purpose (SSD) volumes, @io1@ for Provisioned IOPS (SSD) volumes, @st1@ for Throughput Optimized hard disk drives (HDD), @sc1@ for Cold HDD,and @standard@ for Magnetic volumes. If you specify the @io1@ volume type, you must also specify a value for the @Iops@ attribute. The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume size).+ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)+ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a})++-- | The snapshot ID.+ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)+ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a})++instance FromJSON EBSBlockDevice where+        parseJSON+          = withObject "EBSBlockDevice"+              (\ x ->+                 EBSBlockDevice' <$>+                   (x .:? "DeleteOnTermination") <*>+                     (x .:? "VolumeSize")+                     <*> (x .:? "Iops")+                     <*> (x .:? "VolumeType")+                     <*> (x .:? "SnapshotId"))++instance Hashable EBSBlockDevice where++instance NFData EBSBlockDevice where++instance ToJSON EBSBlockDevice where+        toJSON EBSBlockDevice'{..}+          = object+              (catMaybes+                 [("DeleteOnTermination" .=) <$>+                    _ebdDeleteOnTermination,+                  ("VolumeSize" .=) <$> _ebdVolumeSize,+                  ("Iops" .=) <$> _ebdIOPS,+                  ("VolumeType" .=) <$> _ebdVolumeType,+                  ("SnapshotId" .=) <$> _ebdSnapshotId])++-- | Describes a registered Amazon ECS cluster.+--+--+--+-- /See:/ 'ecsCluster' smart constructor.+data EcsCluster = EcsCluster'+  { _ecEcsClusterARN  :: !(Maybe Text)+  , _ecEcsClusterName :: !(Maybe Text)+  , _ecRegisteredAt   :: !(Maybe Text)+  , _ecStackId        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EcsCluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecEcsClusterARN' - The cluster's ARN.+--+-- * 'ecEcsClusterName' - The cluster name.+--+-- * 'ecRegisteredAt' - The time and date that the cluster was registered with the stack.+--+-- * 'ecStackId' - The stack ID.+ecsCluster+    :: EcsCluster+ecsCluster =+  EcsCluster'+    { _ecEcsClusterARN = Nothing+    , _ecEcsClusterName = Nothing+    , _ecRegisteredAt = Nothing+    , _ecStackId = Nothing+    }+++-- | The cluster's ARN.+ecEcsClusterARN :: Lens' EcsCluster (Maybe Text)+ecEcsClusterARN = lens _ecEcsClusterARN (\ s a -> s{_ecEcsClusterARN = a})++-- | The cluster name.+ecEcsClusterName :: Lens' EcsCluster (Maybe Text)+ecEcsClusterName = lens _ecEcsClusterName (\ s a -> s{_ecEcsClusterName = a})++-- | The time and date that the cluster was registered with the stack.+ecRegisteredAt :: Lens' EcsCluster (Maybe Text)+ecRegisteredAt = lens _ecRegisteredAt (\ s a -> s{_ecRegisteredAt = a})++-- | The stack ID.+ecStackId :: Lens' EcsCluster (Maybe Text)+ecStackId = lens _ecStackId (\ s a -> s{_ecStackId = a})++instance FromJSON EcsCluster where+        parseJSON+          = withObject "EcsCluster"+              (\ x ->+                 EcsCluster' <$>+                   (x .:? "EcsClusterArn") <*> (x .:? "EcsClusterName")+                     <*> (x .:? "RegisteredAt")+                     <*> (x .:? "StackId"))++instance Hashable EcsCluster where++instance NFData EcsCluster where++-- | Describes an Elastic IP address.+--+--+--+-- /See:/ 'elasticIP' smart constructor.+data ElasticIP = ElasticIP'+  { _eiInstanceId :: !(Maybe Text)+  , _eiDomain     :: !(Maybe Text)+  , _eiIP         :: !(Maybe Text)+  , _eiName       :: !(Maybe Text)+  , _eiRegion     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eiInstanceId' - The ID of the instance that the address is attached to.+--+-- * 'eiDomain' - The domain.+--+-- * 'eiIP' - The IP address.+--+-- * 'eiName' - The name.+--+-- * 'eiRegion' - The AWS region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+elasticIP+    :: ElasticIP+elasticIP =+  ElasticIP'+    { _eiInstanceId = Nothing+    , _eiDomain = Nothing+    , _eiIP = Nothing+    , _eiName = Nothing+    , _eiRegion = Nothing+    }+++-- | The ID of the instance that the address is attached to.+eiInstanceId :: Lens' ElasticIP (Maybe Text)+eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a})++-- | The domain.+eiDomain :: Lens' ElasticIP (Maybe Text)+eiDomain = lens _eiDomain (\ s a -> s{_eiDomain = a})++-- | The IP address.+eiIP :: Lens' ElasticIP (Maybe Text)+eiIP = lens _eiIP (\ s a -> s{_eiIP = a})++-- | The name.+eiName :: Lens' ElasticIP (Maybe Text)+eiName = lens _eiName (\ s a -> s{_eiName = a})++-- | The AWS region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+eiRegion :: Lens' ElasticIP (Maybe Text)+eiRegion = lens _eiRegion (\ s a -> s{_eiRegion = a})++instance FromJSON ElasticIP where+        parseJSON+          = withObject "ElasticIP"+              (\ x ->+                 ElasticIP' <$>+                   (x .:? "InstanceId") <*> (x .:? "Domain") <*>+                     (x .:? "Ip")+                     <*> (x .:? "Name")+                     <*> (x .:? "Region"))++instance Hashable ElasticIP where++instance NFData ElasticIP where++-- | Describes an Elastic Load Balancing instance.+--+--+--+-- /See:/ 'elasticLoadBalancer' smart constructor.+data ElasticLoadBalancer = ElasticLoadBalancer'+  { _elbSubnetIds               :: !(Maybe [Text])+  , _elbVPCId                   :: !(Maybe Text)+  , _elbAvailabilityZones       :: !(Maybe [Text])+  , _elbRegion                  :: !(Maybe Text)+  , _elbElasticLoadBalancerName :: !(Maybe Text)+  , _elbStackId                 :: !(Maybe Text)+  , _elbEC2InstanceIds          :: !(Maybe [Text])+  , _elbLayerId                 :: !(Maybe Text)+  , _elbDNSName                 :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ElasticLoadBalancer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'elbSubnetIds' - A list of subnet IDs, if the stack is running in a VPC.+--+-- * 'elbVPCId' - The VPC ID.+--+-- * 'elbAvailabilityZones' - A list of Availability Zones.+--+-- * 'elbRegion' - The instance's AWS region.+--+-- * 'elbElasticLoadBalancerName' - The Elastic Load Balancing instance's name.+--+-- * 'elbStackId' - The ID of the stack that the instance is associated with.+--+-- * 'elbEC2InstanceIds' - A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.+--+-- * 'elbLayerId' - The ID of the layer that the instance is attached to.+--+-- * 'elbDNSName' - The instance's public DNS name.+elasticLoadBalancer+    :: ElasticLoadBalancer+elasticLoadBalancer =+  ElasticLoadBalancer'+    { _elbSubnetIds = Nothing+    , _elbVPCId = Nothing+    , _elbAvailabilityZones = Nothing+    , _elbRegion = Nothing+    , _elbElasticLoadBalancerName = Nothing+    , _elbStackId = Nothing+    , _elbEC2InstanceIds = Nothing+    , _elbLayerId = Nothing+    , _elbDNSName = Nothing+    }+++-- | A list of subnet IDs, if the stack is running in a VPC.+elbSubnetIds :: Lens' ElasticLoadBalancer [Text]+elbSubnetIds = lens _elbSubnetIds (\ s a -> s{_elbSubnetIds = a}) . _Default . _Coerce++-- | The VPC ID.+elbVPCId :: Lens' ElasticLoadBalancer (Maybe Text)+elbVPCId = lens _elbVPCId (\ s a -> s{_elbVPCId = a})++-- | A list of Availability Zones.+elbAvailabilityZones :: Lens' ElasticLoadBalancer [Text]+elbAvailabilityZones = lens _elbAvailabilityZones (\ s a -> s{_elbAvailabilityZones = a}) . _Default . _Coerce++-- | The instance's AWS region.+elbRegion :: Lens' ElasticLoadBalancer (Maybe Text)+elbRegion = lens _elbRegion (\ s a -> s{_elbRegion = a})++-- | The Elastic Load Balancing instance's name.+elbElasticLoadBalancerName :: Lens' ElasticLoadBalancer (Maybe Text)+elbElasticLoadBalancerName = lens _elbElasticLoadBalancerName (\ s a -> s{_elbElasticLoadBalancerName = a})++-- | The ID of the stack that the instance is associated with.+elbStackId :: Lens' ElasticLoadBalancer (Maybe Text)+elbStackId = lens _elbStackId (\ s a -> s{_elbStackId = a})++-- | A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.+elbEC2InstanceIds :: Lens' ElasticLoadBalancer [Text]+elbEC2InstanceIds = lens _elbEC2InstanceIds (\ s a -> s{_elbEC2InstanceIds = a}) . _Default . _Coerce++-- | The ID of the layer that the instance is attached to.+elbLayerId :: Lens' ElasticLoadBalancer (Maybe Text)+elbLayerId = lens _elbLayerId (\ s a -> s{_elbLayerId = a})++-- | The instance's public DNS name.+elbDNSName :: Lens' ElasticLoadBalancer (Maybe Text)+elbDNSName = lens _elbDNSName (\ s a -> s{_elbDNSName = a})++instance FromJSON ElasticLoadBalancer where+        parseJSON+          = withObject "ElasticLoadBalancer"+              (\ x ->+                 ElasticLoadBalancer' <$>+                   (x .:? "SubnetIds" .!= mempty) <*> (x .:? "VpcId")+                     <*> (x .:? "AvailabilityZones" .!= mempty)+                     <*> (x .:? "Region")+                     <*> (x .:? "ElasticLoadBalancerName")+                     <*> (x .:? "StackId")+                     <*> (x .:? "Ec2InstanceIds" .!= mempty)+                     <*> (x .:? "LayerId")+                     <*> (x .:? "DnsName"))++instance Hashable ElasticLoadBalancer where++instance NFData ElasticLoadBalancer where++-- | Represents an app's environment variable.+--+--+--+-- /See:/ 'environmentVariable' smart constructor.+data EnvironmentVariable = EnvironmentVariable'+  { _evSecure :: !(Maybe Bool)+  , _evKey    :: !Text+  , _evValue  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EnvironmentVariable' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'evSecure' - (Optional) Whether the variable's value will be returned by the 'DescribeApps' action. To conceal an environment variable's value, set @Secure@ to @true@ . @DescribeApps@ then returns @*****FILTERED*****@ instead of the actual value. The default value for @Secure@ is @false@ .+--+-- * 'evKey' - (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.+--+-- * 'evValue' - (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.+environmentVariable+    :: Text -- ^ 'evKey'+    -> Text -- ^ 'evValue'+    -> EnvironmentVariable+environmentVariable pKey_ pValue_ =+  EnvironmentVariable' {_evSecure = Nothing, _evKey = pKey_, _evValue = pValue_}+++-- | (Optional) Whether the variable's value will be returned by the 'DescribeApps' action. To conceal an environment variable's value, set @Secure@ to @true@ . @DescribeApps@ then returns @*****FILTERED*****@ instead of the actual value. The default value for @Secure@ is @false@ .+evSecure :: Lens' EnvironmentVariable (Maybe Bool)+evSecure = lens _evSecure (\ s a -> s{_evSecure = a})++-- | (Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.+evKey :: Lens' EnvironmentVariable Text+evKey = lens _evKey (\ s a -> s{_evKey = a})++-- | (Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.+evValue :: Lens' EnvironmentVariable Text+evValue = lens _evValue (\ s a -> s{_evValue = a})++instance FromJSON EnvironmentVariable where+        parseJSON+          = withObject "EnvironmentVariable"+              (\ x ->+                 EnvironmentVariable' <$>+                   (x .:? "Secure") <*> (x .: "Key") <*> (x .: "Value"))++instance Hashable EnvironmentVariable where++instance NFData EnvironmentVariable where++instance ToJSON EnvironmentVariable where+        toJSON EnvironmentVariable'{..}+          = object+              (catMaybes+                 [("Secure" .=) <$> _evSecure, Just ("Key" .= _evKey),+                  Just ("Value" .= _evValue)])++-- | Describes an instance.+--+--+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+  { _iPrivateDNS               :: !(Maybe Text)+  , _iReportedAgentVersion     :: !(Maybe Text)+  , _iInstanceId               :: !(Maybe Text)+  , _iStatus                   :: !(Maybe Text)+  , _iPrivateIP                :: !(Maybe Text)+  , _iInstallUpdatesOnBoot     :: !(Maybe Bool)+  , _iVirtualizationType       :: !(Maybe VirtualizationType)+  , _iInstanceProfileARN       :: !(Maybe Text)+  , _iPlatform                 :: !(Maybe Text)+  , _iHostname                 :: !(Maybe Text)+  , _iSSHHostRsaKeyFingerprint :: !(Maybe Text)+  , _iSecurityGroupIds         :: !(Maybe [Text])+  , _iEcsClusterARN            :: !(Maybe Text)+  , _iARN                      :: !(Maybe Text)+  , _iCreatedAt                :: !(Maybe Text)+  , _iEC2InstanceId            :: !(Maybe Text)+  , _iSSHKeyName               :: !(Maybe Text)+  , _iAgentVersion             :: !(Maybe Text)+  , _iRootDeviceVolumeId       :: !(Maybe Text)+  , _iSubnetId                 :: !(Maybe Text)+  , _iInfrastructureClass      :: !(Maybe Text)+  , _iSSHHostDsaKeyFingerprint :: !(Maybe Text)+  , _iInstanceType             :: !(Maybe Text)+  , _iEBSOptimized             :: !(Maybe Bool)+  , _iElasticIP                :: !(Maybe Text)+  , _iOS                       :: !(Maybe Text)+  , _iAvailabilityZone         :: !(Maybe Text)+  , _iLastServiceErrorId       :: !(Maybe Text)+  , _iTenancy                  :: !(Maybe Text)+  , _iAutoScalingType          :: !(Maybe AutoScalingType)+  , _iLayerIds                 :: !(Maybe [Text])+  , _iArchitecture             :: !(Maybe Architecture)+  , _iPublicDNS                :: !(Maybe Text)+  , _iAMIId                    :: !(Maybe Text)+  , _iPublicIP                 :: !(Maybe Text)+  , _iReportedOS               :: !(Maybe ReportedOS)+  , _iRegisteredBy             :: !(Maybe Text)+  , _iStackId                  :: !(Maybe Text)+  , _iRootDeviceType           :: !(Maybe RootDeviceType)+  , _iEcsContainerInstanceARN  :: !(Maybe Text)+  , _iBlockDeviceMappings      :: !(Maybe [BlockDeviceMapping])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iPrivateDNS' - The instance's private DNS name.+--+-- * 'iReportedAgentVersion' - The instance's reported AWS OpsWorks Stacks agent version.+--+-- * 'iInstanceId' - The instance ID.+--+-- * 'iStatus' - The instance status:     * @booting@      * @connection_lost@      * @online@      * @pending@      * @rebooting@      * @requested@      * @running_setup@      * @setup_failed@      * @shutting_down@      * @start_failed@      * @stop_failed@      * @stopped@      * @stopping@      * @terminated@      * @terminating@+--+-- * 'iPrivateIP' - The instance's private IP address.+--+-- * 'iInstallUpdatesOnBoot' - Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.+--+-- * 'iVirtualizationType' - The instance's virtualization type: @paravirtual@ or @hvm@ .+--+-- * 'iInstanceProfileARN' - The ARN of the instance's IAM profile. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+--+-- * 'iPlatform' - The instance's platform.+--+-- * 'iHostname' - The instance host name.+--+-- * 'iSSHHostRsaKeyFingerprint' - The SSH key's RSA fingerprint.+--+-- * 'iSecurityGroupIds' - An array containing the instance security group IDs.+--+-- * 'iEcsClusterARN' - For container instances, the Amazon ECS cluster's ARN.+--+-- * 'iARN' - Undocumented member.+--+-- * 'iCreatedAt' - The time that the instance was created.+--+-- * 'iEC2InstanceId' - The ID of the associated Amazon EC2 instance.+--+-- * 'iSSHKeyName' - The instance's Amazon EC2 key-pair name.+--+-- * 'iAgentVersion' - The agent version. This parameter is set to @INHERIT@ if the instance inherits the default stack setting or to a a version number for a fixed agent version.+--+-- * 'iRootDeviceVolumeId' - The root device volume ID.+--+-- * 'iSubnetId' - The instance's subnet ID; applicable only if the stack is running in a VPC.+--+-- * 'iInfrastructureClass' - For registered instances, the infrastructure class: @ec2@ or @on-premises@ .+--+-- * 'iSSHHostDsaKeyFingerprint' - The SSH key's Deep Security Agent (DSA) fingerprint.+--+-- * 'iInstanceType' - The instance type, such as @t2.micro@ .+--+-- * 'iEBSOptimized' - Whether this is an Amazon EBS-optimized instance.+--+-- * 'iElasticIP' - The instance <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address > .+--+-- * 'iOS' - The instance's operating system.+--+-- * 'iAvailabilityZone' - The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'iLastServiceErrorId' - The ID of the last service error. For more information, call 'DescribeServiceErrors' .+--+-- * 'iTenancy' - The instance's tenancy option, such as @dedicated@ or @host@ .+--+-- * 'iAutoScalingType' - For load-based or time-based instances, the type.+--+-- * 'iLayerIds' - An array containing the instance layer IDs.+--+-- * 'iArchitecture' - The instance architecture: "i386" or "x86_64".+--+-- * 'iPublicDNS' - The instance public DNS name.+--+-- * 'iAMIId' - A custom AMI ID to be used to create the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Instances>+--+-- * 'iPublicIP' - The instance public IP address.+--+-- * 'iReportedOS' - For registered instances, the reported operating system.+--+-- * 'iRegisteredBy' - For registered instances, who performed the registration.+--+-- * 'iStackId' - The stack ID.+--+-- * 'iRootDeviceType' - The instance's root device type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .+--+-- * 'iEcsContainerInstanceARN' - For container instances, the instance's ARN.+--+-- * 'iBlockDeviceMappings' - An array of @BlockDeviceMapping@ objects that specify the instance's block device mappings.+instance'+    :: Instance+instance' =+  Instance'+    { _iPrivateDNS = Nothing+    , _iReportedAgentVersion = Nothing+    , _iInstanceId = Nothing+    , _iStatus = Nothing+    , _iPrivateIP = Nothing+    , _iInstallUpdatesOnBoot = Nothing+    , _iVirtualizationType = Nothing+    , _iInstanceProfileARN = Nothing+    , _iPlatform = Nothing+    , _iHostname = Nothing+    , _iSSHHostRsaKeyFingerprint = Nothing+    , _iSecurityGroupIds = Nothing+    , _iEcsClusterARN = Nothing+    , _iARN = Nothing+    , _iCreatedAt = Nothing+    , _iEC2InstanceId = Nothing+    , _iSSHKeyName = Nothing+    , _iAgentVersion = Nothing+    , _iRootDeviceVolumeId = Nothing+    , _iSubnetId = Nothing+    , _iInfrastructureClass = Nothing+    , _iSSHHostDsaKeyFingerprint = Nothing+    , _iInstanceType = Nothing+    , _iEBSOptimized = Nothing+    , _iElasticIP = Nothing+    , _iOS = Nothing+    , _iAvailabilityZone = Nothing+    , _iLastServiceErrorId = Nothing+    , _iTenancy = Nothing+    , _iAutoScalingType = Nothing+    , _iLayerIds = Nothing+    , _iArchitecture = Nothing+    , _iPublicDNS = Nothing+    , _iAMIId = Nothing+    , _iPublicIP = Nothing+    , _iReportedOS = Nothing+    , _iRegisteredBy = Nothing+    , _iStackId = Nothing+    , _iRootDeviceType = Nothing+    , _iEcsContainerInstanceARN = Nothing+    , _iBlockDeviceMappings = Nothing+    }+++-- | The instance's private DNS name.+iPrivateDNS :: Lens' Instance (Maybe Text)+iPrivateDNS = lens _iPrivateDNS (\ s a -> s{_iPrivateDNS = a})++-- | The instance's reported AWS OpsWorks Stacks agent version.+iReportedAgentVersion :: Lens' Instance (Maybe Text)+iReportedAgentVersion = lens _iReportedAgentVersion (\ s a -> s{_iReportedAgentVersion = a})++-- | The instance ID.+iInstanceId :: Lens' Instance (Maybe Text)+iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a})++-- | The instance status:     * @booting@      * @connection_lost@      * @online@      * @pending@      * @rebooting@      * @requested@      * @running_setup@      * @setup_failed@      * @shutting_down@      * @start_failed@      * @stop_failed@      * @stopped@      * @stopping@      * @terminated@      * @terminating@+iStatus :: Lens' Instance (Maybe Text)+iStatus = lens _iStatus (\ s a -> s{_iStatus = a})++-- | The instance's private IP address.+iPrivateIP :: Lens' Instance (Maybe Text)+iPrivateIP = lens _iPrivateIP (\ s a -> s{_iPrivateIP = a})++-- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.+iInstallUpdatesOnBoot :: Lens' Instance (Maybe Bool)+iInstallUpdatesOnBoot = lens _iInstallUpdatesOnBoot (\ s a -> s{_iInstallUpdatesOnBoot = a})++-- | The instance's virtualization type: @paravirtual@ or @hvm@ .+iVirtualizationType :: Lens' Instance (Maybe VirtualizationType)+iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a})++-- | The ARN of the instance's IAM profile. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+iInstanceProfileARN :: Lens' Instance (Maybe Text)+iInstanceProfileARN = lens _iInstanceProfileARN (\ s a -> s{_iInstanceProfileARN = a})++-- | The instance's platform.+iPlatform :: Lens' Instance (Maybe Text)+iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a})++-- | The instance host name.+iHostname :: Lens' Instance (Maybe Text)+iHostname = lens _iHostname (\ s a -> s{_iHostname = a})++-- | The SSH key's RSA fingerprint.+iSSHHostRsaKeyFingerprint :: Lens' Instance (Maybe Text)+iSSHHostRsaKeyFingerprint = lens _iSSHHostRsaKeyFingerprint (\ s a -> s{_iSSHHostRsaKeyFingerprint = a})++-- | An array containing the instance security group IDs.+iSecurityGroupIds :: Lens' Instance [Text]+iSecurityGroupIds = lens _iSecurityGroupIds (\ s a -> s{_iSecurityGroupIds = a}) . _Default . _Coerce++-- | For container instances, the Amazon ECS cluster's ARN.+iEcsClusterARN :: Lens' Instance (Maybe Text)+iEcsClusterARN = lens _iEcsClusterARN (\ s a -> s{_iEcsClusterARN = a})++-- | Undocumented member.+iARN :: Lens' Instance (Maybe Text)+iARN = lens _iARN (\ s a -> s{_iARN = a})++-- | The time that the instance was created.+iCreatedAt :: Lens' Instance (Maybe Text)+iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a})++-- | The ID of the associated Amazon EC2 instance.+iEC2InstanceId :: Lens' Instance (Maybe Text)+iEC2InstanceId = lens _iEC2InstanceId (\ s a -> s{_iEC2InstanceId = a})++-- | The instance's Amazon EC2 key-pair name.+iSSHKeyName :: Lens' Instance (Maybe Text)+iSSHKeyName = lens _iSSHKeyName (\ s a -> s{_iSSHKeyName = a})++-- | The agent version. This parameter is set to @INHERIT@ if the instance inherits the default stack setting or to a a version number for a fixed agent version.+iAgentVersion :: Lens' Instance (Maybe Text)+iAgentVersion = lens _iAgentVersion (\ s a -> s{_iAgentVersion = a})++-- | The root device volume ID.+iRootDeviceVolumeId :: Lens' Instance (Maybe Text)+iRootDeviceVolumeId = lens _iRootDeviceVolumeId (\ s a -> s{_iRootDeviceVolumeId = a})++-- | The instance's subnet ID; applicable only if the stack is running in a VPC.+iSubnetId :: Lens' Instance (Maybe Text)+iSubnetId = lens _iSubnetId (\ s a -> s{_iSubnetId = a})++-- | For registered instances, the infrastructure class: @ec2@ or @on-premises@ .+iInfrastructureClass :: Lens' Instance (Maybe Text)+iInfrastructureClass = lens _iInfrastructureClass (\ s a -> s{_iInfrastructureClass = a})++-- | The SSH key's Deep Security Agent (DSA) fingerprint.+iSSHHostDsaKeyFingerprint :: Lens' Instance (Maybe Text)+iSSHHostDsaKeyFingerprint = lens _iSSHHostDsaKeyFingerprint (\ s a -> s{_iSSHHostDsaKeyFingerprint = a})++-- | The instance type, such as @t2.micro@ .+iInstanceType :: Lens' Instance (Maybe Text)+iInstanceType = lens _iInstanceType (\ s a -> s{_iInstanceType = a})++-- | Whether this is an Amazon EBS-optimized instance.+iEBSOptimized :: Lens' Instance (Maybe Bool)+iEBSOptimized = lens _iEBSOptimized (\ s a -> s{_iEBSOptimized = a})++-- | The instance <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address > .+iElasticIP :: Lens' Instance (Maybe Text)+iElasticIP = lens _iElasticIP (\ s a -> s{_iElasticIP = a})++-- | The instance's operating system.+iOS :: Lens' Instance (Maybe Text)+iOS = lens _iOS (\ s a -> s{_iOS = a})++-- | The instance Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+iAvailabilityZone :: Lens' Instance (Maybe Text)+iAvailabilityZone = lens _iAvailabilityZone (\ s a -> s{_iAvailabilityZone = a})++-- | The ID of the last service error. For more information, call 'DescribeServiceErrors' .+iLastServiceErrorId :: Lens' Instance (Maybe Text)+iLastServiceErrorId = lens _iLastServiceErrorId (\ s a -> s{_iLastServiceErrorId = a})++-- | The instance's tenancy option, such as @dedicated@ or @host@ .+iTenancy :: Lens' Instance (Maybe Text)+iTenancy = lens _iTenancy (\ s a -> s{_iTenancy = a})++-- | For load-based or time-based instances, the type.+iAutoScalingType :: Lens' Instance (Maybe AutoScalingType)+iAutoScalingType = lens _iAutoScalingType (\ s a -> s{_iAutoScalingType = a})++-- | An array containing the instance layer IDs.+iLayerIds :: Lens' Instance [Text]+iLayerIds = lens _iLayerIds (\ s a -> s{_iLayerIds = a}) . _Default . _Coerce++-- | The instance architecture: "i386" or "x86_64".+iArchitecture :: Lens' Instance (Maybe Architecture)+iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a})++-- | The instance public DNS name.+iPublicDNS :: Lens' Instance (Maybe Text)+iPublicDNS = lens _iPublicDNS (\ s a -> s{_iPublicDNS = a})++-- | A custom AMI ID to be used to create the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Instances>+iAMIId :: Lens' Instance (Maybe Text)+iAMIId = lens _iAMIId (\ s a -> s{_iAMIId = a})++-- | The instance public IP address.+iPublicIP :: Lens' Instance (Maybe Text)+iPublicIP = lens _iPublicIP (\ s a -> s{_iPublicIP = a})++-- | For registered instances, the reported operating system.+iReportedOS :: Lens' Instance (Maybe ReportedOS)+iReportedOS = lens _iReportedOS (\ s a -> s{_iReportedOS = a})++-- | For registered instances, who performed the registration.+iRegisteredBy :: Lens' Instance (Maybe Text)+iRegisteredBy = lens _iRegisteredBy (\ s a -> s{_iRegisteredBy = a})++-- | The stack ID.+iStackId :: Lens' Instance (Maybe Text)+iStackId = lens _iStackId (\ s a -> s{_iStackId = a})++-- | The instance's root device type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .+iRootDeviceType :: Lens' Instance (Maybe RootDeviceType)+iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a})++-- | For container instances, the instance's ARN.+iEcsContainerInstanceARN :: Lens' Instance (Maybe Text)+iEcsContainerInstanceARN = lens _iEcsContainerInstanceARN (\ s a -> s{_iEcsContainerInstanceARN = a})++-- | An array of @BlockDeviceMapping@ objects that specify the instance's block device mappings.+iBlockDeviceMappings :: Lens' Instance [BlockDeviceMapping]+iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce++instance FromJSON Instance where+        parseJSON+          = withObject "Instance"+              (\ x ->+                 Instance' <$>+                   (x .:? "PrivateDns") <*>+                     (x .:? "ReportedAgentVersion")+                     <*> (x .:? "InstanceId")+                     <*> (x .:? "Status")+                     <*> (x .:? "PrivateIp")+                     <*> (x .:? "InstallUpdatesOnBoot")+                     <*> (x .:? "VirtualizationType")+                     <*> (x .:? "InstanceProfileArn")+                     <*> (x .:? "Platform")+                     <*> (x .:? "Hostname")+                     <*> (x .:? "SshHostRsaKeyFingerprint")+                     <*> (x .:? "SecurityGroupIds" .!= mempty)+                     <*> (x .:? "EcsClusterArn")+                     <*> (x .:? "Arn")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "Ec2InstanceId")+                     <*> (x .:? "SshKeyName")+                     <*> (x .:? "AgentVersion")+                     <*> (x .:? "RootDeviceVolumeId")+                     <*> (x .:? "SubnetId")+                     <*> (x .:? "InfrastructureClass")+                     <*> (x .:? "SshHostDsaKeyFingerprint")+                     <*> (x .:? "InstanceType")+                     <*> (x .:? "EbsOptimized")+                     <*> (x .:? "ElasticIp")+                     <*> (x .:? "Os")+                     <*> (x .:? "AvailabilityZone")+                     <*> (x .:? "LastServiceErrorId")+                     <*> (x .:? "Tenancy")+                     <*> (x .:? "AutoScalingType")+                     <*> (x .:? "LayerIds" .!= mempty)+                     <*> (x .:? "Architecture")+                     <*> (x .:? "PublicDns")+                     <*> (x .:? "AmiId")+                     <*> (x .:? "PublicIp")+                     <*> (x .:? "ReportedOs")+                     <*> (x .:? "RegisteredBy")+                     <*> (x .:? "StackId")+                     <*> (x .:? "RootDeviceType")+                     <*> (x .:? "EcsContainerInstanceArn")+                     <*> (x .:? "BlockDeviceMappings" .!= mempty))++instance Hashable Instance where++instance NFData Instance where++-- | Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see <http://docs.aws.amazon.com/sdkfornet/latest/apidocs/Index.html Instance Metadata and User Data> .+--+--+--+-- /See:/ 'instanceIdentity' smart constructor.+data InstanceIdentity = InstanceIdentity'+  { _iiSignature :: !(Maybe Text)+  , _iiDocument  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceIdentity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiSignature' - A signature that can be used to verify the document's accuracy and authenticity.+--+-- * 'iiDocument' - A JSON document that contains the metadata.+instanceIdentity+    :: InstanceIdentity+instanceIdentity =+  InstanceIdentity' {_iiSignature = Nothing, _iiDocument = Nothing}+++-- | A signature that can be used to verify the document's accuracy and authenticity.+iiSignature :: Lens' InstanceIdentity (Maybe Text)+iiSignature = lens _iiSignature (\ s a -> s{_iiSignature = a})++-- | A JSON document that contains the metadata.+iiDocument :: Lens' InstanceIdentity (Maybe Text)+iiDocument = lens _iiDocument (\ s a -> s{_iiDocument = a})++instance Hashable InstanceIdentity where++instance NFData InstanceIdentity where++instance ToJSON InstanceIdentity where+        toJSON InstanceIdentity'{..}+          = object+              (catMaybes+                 [("Signature" .=) <$> _iiSignature,+                  ("Document" .=) <$> _iiDocument])++-- | Describes how many instances a stack has for each status.+--+--+--+-- /See:/ 'instancesCount' smart constructor.+data InstancesCount = InstancesCount'+  { _icTerminating    :: !(Maybe Int)+  , _icPending        :: !(Maybe Int)+  , _icOnline         :: !(Maybe Int)+  , _icUnassigning    :: !(Maybe Int)+  , _icDeregistering  :: !(Maybe Int)+  , _icRunningSetup   :: !(Maybe Int)+  , _icRequested      :: !(Maybe Int)+  , _icStopFailed     :: !(Maybe Int)+  , _icBooting        :: !(Maybe Int)+  , _icStopped        :: !(Maybe Int)+  , _icRebooting      :: !(Maybe Int)+  , _icAssigning      :: !(Maybe Int)+  , _icShuttingDown   :: !(Maybe Int)+  , _icSetupFailed    :: !(Maybe Int)+  , _icConnectionLost :: !(Maybe Int)+  , _icTerminated     :: !(Maybe Int)+  , _icStopping       :: !(Maybe Int)+  , _icRegistered     :: !(Maybe Int)+  , _icStartFailed    :: !(Maybe Int)+  , _icRegistering    :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancesCount' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icTerminating' - The number of instances with @terminating@ status.+--+-- * 'icPending' - The number of instances with @pending@ status.+--+-- * 'icOnline' - The number of instances with @online@ status.+--+-- * 'icUnassigning' - The number of instances in the Unassigning state.+--+-- * 'icDeregistering' - The number of instances in the Deregistering state.+--+-- * 'icRunningSetup' - The number of instances with @running_setup@ status.+--+-- * 'icRequested' - The number of instances with @requested@ status.+--+-- * 'icStopFailed' - Undocumented member.+--+-- * 'icBooting' - The number of instances with @booting@ status.+--+-- * 'icStopped' - The number of instances with @stopped@ status.+--+-- * 'icRebooting' - The number of instances with @rebooting@ status.+--+-- * 'icAssigning' - The number of instances in the Assigning state.+--+-- * 'icShuttingDown' - The number of instances with @shutting_down@ status.+--+-- * 'icSetupFailed' - The number of instances with @setup_failed@ status.+--+-- * 'icConnectionLost' - The number of instances with @connection_lost@ status.+--+-- * 'icTerminated' - The number of instances with @terminated@ status.+--+-- * 'icStopping' - The number of instances with @stopping@ status.+--+-- * 'icRegistered' - The number of instances in the Registered state.+--+-- * 'icStartFailed' - The number of instances with @start_failed@ status.+--+-- * 'icRegistering' - The number of instances in the Registering state.+instancesCount+    :: InstancesCount+instancesCount =+  InstancesCount'+    { _icTerminating = Nothing+    , _icPending = Nothing+    , _icOnline = Nothing+    , _icUnassigning = Nothing+    , _icDeregistering = Nothing+    , _icRunningSetup = Nothing+    , _icRequested = Nothing+    , _icStopFailed = Nothing+    , _icBooting = Nothing+    , _icStopped = Nothing+    , _icRebooting = Nothing+    , _icAssigning = Nothing+    , _icShuttingDown = Nothing+    , _icSetupFailed = Nothing+    , _icConnectionLost = Nothing+    , _icTerminated = Nothing+    , _icStopping = Nothing+    , _icRegistered = Nothing+    , _icStartFailed = Nothing+    , _icRegistering = Nothing+    }+++-- | The number of instances with @terminating@ status.+icTerminating :: Lens' InstancesCount (Maybe Int)+icTerminating = lens _icTerminating (\ s a -> s{_icTerminating = a})++-- | The number of instances with @pending@ status.+icPending :: Lens' InstancesCount (Maybe Int)+icPending = lens _icPending (\ s a -> s{_icPending = a})++-- | The number of instances with @online@ status.+icOnline :: Lens' InstancesCount (Maybe Int)+icOnline = lens _icOnline (\ s a -> s{_icOnline = a})++-- | The number of instances in the Unassigning state.+icUnassigning :: Lens' InstancesCount (Maybe Int)+icUnassigning = lens _icUnassigning (\ s a -> s{_icUnassigning = a})++-- | The number of instances in the Deregistering state.+icDeregistering :: Lens' InstancesCount (Maybe Int)+icDeregistering = lens _icDeregistering (\ s a -> s{_icDeregistering = a})++-- | The number of instances with @running_setup@ status.+icRunningSetup :: Lens' InstancesCount (Maybe Int)+icRunningSetup = lens _icRunningSetup (\ s a -> s{_icRunningSetup = a})++-- | The number of instances with @requested@ status.+icRequested :: Lens' InstancesCount (Maybe Int)+icRequested = lens _icRequested (\ s a -> s{_icRequested = a})++-- | Undocumented member.+icStopFailed :: Lens' InstancesCount (Maybe Int)+icStopFailed = lens _icStopFailed (\ s a -> s{_icStopFailed = a})++-- | The number of instances with @booting@ status.+icBooting :: Lens' InstancesCount (Maybe Int)+icBooting = lens _icBooting (\ s a -> s{_icBooting = a})++-- | The number of instances with @stopped@ status.+icStopped :: Lens' InstancesCount (Maybe Int)+icStopped = lens _icStopped (\ s a -> s{_icStopped = a})++-- | The number of instances with @rebooting@ status.+icRebooting :: Lens' InstancesCount (Maybe Int)+icRebooting = lens _icRebooting (\ s a -> s{_icRebooting = a})++-- | The number of instances in the Assigning state.+icAssigning :: Lens' InstancesCount (Maybe Int)+icAssigning = lens _icAssigning (\ s a -> s{_icAssigning = a})++-- | The number of instances with @shutting_down@ status.+icShuttingDown :: Lens' InstancesCount (Maybe Int)+icShuttingDown = lens _icShuttingDown (\ s a -> s{_icShuttingDown = a})++-- | The number of instances with @setup_failed@ status.+icSetupFailed :: Lens' InstancesCount (Maybe Int)+icSetupFailed = lens _icSetupFailed (\ s a -> s{_icSetupFailed = a})++-- | The number of instances with @connection_lost@ status.+icConnectionLost :: Lens' InstancesCount (Maybe Int)+icConnectionLost = lens _icConnectionLost (\ s a -> s{_icConnectionLost = a})++-- | The number of instances with @terminated@ status.+icTerminated :: Lens' InstancesCount (Maybe Int)+icTerminated = lens _icTerminated (\ s a -> s{_icTerminated = a})++-- | The number of instances with @stopping@ status.+icStopping :: Lens' InstancesCount (Maybe Int)+icStopping = lens _icStopping (\ s a -> s{_icStopping = a})++-- | The number of instances in the Registered state.+icRegistered :: Lens' InstancesCount (Maybe Int)+icRegistered = lens _icRegistered (\ s a -> s{_icRegistered = a})++-- | The number of instances with @start_failed@ status.+icStartFailed :: Lens' InstancesCount (Maybe Int)+icStartFailed = lens _icStartFailed (\ s a -> s{_icStartFailed = a})++-- | The number of instances in the Registering state.+icRegistering :: Lens' InstancesCount (Maybe Int)+icRegistering = lens _icRegistering (\ s a -> s{_icRegistering = a})++instance FromJSON InstancesCount where+        parseJSON+          = withObject "InstancesCount"+              (\ x ->+                 InstancesCount' <$>+                   (x .:? "Terminating") <*> (x .:? "Pending") <*>+                     (x .:? "Online")+                     <*> (x .:? "Unassigning")+                     <*> (x .:? "Deregistering")+                     <*> (x .:? "RunningSetup")+                     <*> (x .:? "Requested")+                     <*> (x .:? "StopFailed")+                     <*> (x .:? "Booting")+                     <*> (x .:? "Stopped")+                     <*> (x .:? "Rebooting")+                     <*> (x .:? "Assigning")+                     <*> (x .:? "ShuttingDown")+                     <*> (x .:? "SetupFailed")+                     <*> (x .:? "ConnectionLost")+                     <*> (x .:? "Terminated")+                     <*> (x .:? "Stopping")+                     <*> (x .:? "Registered")+                     <*> (x .:? "StartFailed")+                     <*> (x .:? "Registering"))++instance Hashable InstancesCount where++instance NFData InstancesCount where++-- | Describes a layer.+--+--+--+-- /See:/ 'layer' smart constructor.+data Layer = Layer'+  { _lCustomInstanceProfileARN :: !(Maybe Text)+  , _lCustomSecurityGroupIds :: !(Maybe [Text])+  , _lInstallUpdatesOnBoot :: !(Maybe Bool)+  , _lCloudWatchLogsConfiguration :: !(Maybe CloudWatchLogsConfiguration)+  , _lLifecycleEventConfiguration :: !(Maybe LifecycleEventConfiguration)+  , _lARN :: !(Maybe Text)+  , _lCreatedAt :: !(Maybe Text)+  , _lShortname :: !(Maybe Text)+  , _lDefaultRecipes :: !(Maybe Recipes)+  , _lCustomRecipes :: !(Maybe Recipes)+  , _lCustomJSON :: !(Maybe Text)+  , _lVolumeConfigurations :: !(Maybe [VolumeConfiguration])+  , _lEnableAutoHealing :: !(Maybe Bool)+  , _lPackages :: !(Maybe [Text])+  , _lAttributes :: !(Maybe (Map LayerAttributesKeys (Maybe Text)))+  , _lName :: !(Maybe Text)+  , _lAutoAssignPublicIPs :: !(Maybe Bool)+  , _lType :: !(Maybe LayerType)+  , _lUseEBSOptimizedInstances :: !(Maybe Bool)+  , _lStackId :: !(Maybe Text)+  , _lLayerId :: !(Maybe Text)+  , _lDefaultSecurityGroupNames :: !(Maybe [Text])+  , _lAutoAssignElasticIPs :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Layer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lCustomInstanceProfileARN' - The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+--+-- * 'lCustomSecurityGroupIds' - An array containing the layer's custom security group IDs.+--+-- * 'lInstallUpdatesOnBoot' - Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.+--+-- * 'lCloudWatchLogsConfiguration' - The Amazon CloudWatch Logs configuration settings for the layer.+--+-- * 'lLifecycleEventConfiguration' - A @LifeCycleEventConfiguration@ object that specifies the Shutdown event configuration.+--+-- * 'lARN' - Undocumented member.+--+-- * 'lCreatedAt' - Date when the layer was created.+--+-- * 'lShortname' - The layer short name.+--+-- * 'lDefaultRecipes' - Undocumented member.+--+-- * 'lCustomRecipes' - A @LayerCustomRecipes@ object that specifies the layer's custom recipes.+--+-- * 'lCustomJSON' - A JSON formatted string containing the layer's custom stack configuration and deployment attributes.+--+-- * 'lVolumeConfigurations' - A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes.+--+-- * 'lEnableAutoHealing' - Whether auto healing is disabled for the layer.+--+-- * 'lPackages' - An array of @Package@ objects that describe the layer's packages.+--+-- * 'lAttributes' - The layer attributes. For the @HaproxyStatsPassword@ , @MysqlRootPassword@ , and @GangliaPassword@ attributes, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value For an ECS Cluster layer, AWS OpsWorks Stacks the @EcsClusterArn@ attribute is set to the cluster's ARN.+--+-- * 'lName' - The layer name.+--+-- * 'lAutoAssignPublicIPs' - For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .+--+-- * 'lType' - The layer type.+--+-- * 'lUseEBSOptimizedInstances' - Whether the layer uses Amazon EBS-optimized instances.+--+-- * 'lStackId' - The layer stack ID.+--+-- * 'lLayerId' - The layer ID.+--+-- * 'lDefaultSecurityGroupNames' - An array containing the layer's security group names.+--+-- * 'lAutoAssignElasticIPs' - Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .+layer+    :: Layer+layer =+  Layer'+    { _lCustomInstanceProfileARN = Nothing+    , _lCustomSecurityGroupIds = Nothing+    , _lInstallUpdatesOnBoot = Nothing+    , _lCloudWatchLogsConfiguration = Nothing+    , _lLifecycleEventConfiguration = Nothing+    , _lARN = Nothing+    , _lCreatedAt = Nothing+    , _lShortname = Nothing+    , _lDefaultRecipes = Nothing+    , _lCustomRecipes = Nothing+    , _lCustomJSON = Nothing+    , _lVolumeConfigurations = Nothing+    , _lEnableAutoHealing = Nothing+    , _lPackages = Nothing+    , _lAttributes = Nothing+    , _lName = Nothing+    , _lAutoAssignPublicIPs = Nothing+    , _lType = Nothing+    , _lUseEBSOptimizedInstances = Nothing+    , _lStackId = Nothing+    , _lLayerId = Nothing+    , _lDefaultSecurityGroupNames = Nothing+    , _lAutoAssignElasticIPs = Nothing+    }+++-- | The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+lCustomInstanceProfileARN :: Lens' Layer (Maybe Text)+lCustomInstanceProfileARN = lens _lCustomInstanceProfileARN (\ s a -> s{_lCustomInstanceProfileARN = a})++-- | An array containing the layer's custom security group IDs.+lCustomSecurityGroupIds :: Lens' Layer [Text]+lCustomSecurityGroupIds = lens _lCustomSecurityGroupIds (\ s a -> s{_lCustomSecurityGroupIds = a}) . _Default . _Coerce++-- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . If this value is set to @false@ , you must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances.+lInstallUpdatesOnBoot :: Lens' Layer (Maybe Bool)+lInstallUpdatesOnBoot = lens _lInstallUpdatesOnBoot (\ s a -> s{_lInstallUpdatesOnBoot = a})++-- | The Amazon CloudWatch Logs configuration settings for the layer.+lCloudWatchLogsConfiguration :: Lens' Layer (Maybe CloudWatchLogsConfiguration)+lCloudWatchLogsConfiguration = lens _lCloudWatchLogsConfiguration (\ s a -> s{_lCloudWatchLogsConfiguration = a})++-- | A @LifeCycleEventConfiguration@ object that specifies the Shutdown event configuration.+lLifecycleEventConfiguration :: Lens' Layer (Maybe LifecycleEventConfiguration)+lLifecycleEventConfiguration = lens _lLifecycleEventConfiguration (\ s a -> s{_lLifecycleEventConfiguration = a})++-- | Undocumented member.+lARN :: Lens' Layer (Maybe Text)+lARN = lens _lARN (\ s a -> s{_lARN = a})++-- | Date when the layer was created.+lCreatedAt :: Lens' Layer (Maybe Text)+lCreatedAt = lens _lCreatedAt (\ s a -> s{_lCreatedAt = a})++-- | The layer short name.+lShortname :: Lens' Layer (Maybe Text)+lShortname = lens _lShortname (\ s a -> s{_lShortname = a})++-- | Undocumented member.+lDefaultRecipes :: Lens' Layer (Maybe Recipes)+lDefaultRecipes = lens _lDefaultRecipes (\ s a -> s{_lDefaultRecipes = a})++-- | A @LayerCustomRecipes@ object that specifies the layer's custom recipes.+lCustomRecipes :: Lens' Layer (Maybe Recipes)+lCustomRecipes = lens _lCustomRecipes (\ s a -> s{_lCustomRecipes = a})++-- | A JSON formatted string containing the layer's custom stack configuration and deployment attributes.+lCustomJSON :: Lens' Layer (Maybe Text)+lCustomJSON = lens _lCustomJSON (\ s a -> s{_lCustomJSON = a})++-- | A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes.+lVolumeConfigurations :: Lens' Layer [VolumeConfiguration]+lVolumeConfigurations = lens _lVolumeConfigurations (\ s a -> s{_lVolumeConfigurations = a}) . _Default . _Coerce++-- | Whether auto healing is disabled for the layer.+lEnableAutoHealing :: Lens' Layer (Maybe Bool)+lEnableAutoHealing = lens _lEnableAutoHealing (\ s a -> s{_lEnableAutoHealing = a})++-- | An array of @Package@ objects that describe the layer's packages.+lPackages :: Lens' Layer [Text]+lPackages = lens _lPackages (\ s a -> s{_lPackages = a}) . _Default . _Coerce++-- | The layer attributes. For the @HaproxyStatsPassword@ , @MysqlRootPassword@ , and @GangliaPassword@ attributes, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value For an ECS Cluster layer, AWS OpsWorks Stacks the @EcsClusterArn@ attribute is set to the cluster's ARN.+lAttributes :: Lens' Layer (HashMap LayerAttributesKeys (Maybe Text))+lAttributes = lens _lAttributes (\ s a -> s{_lAttributes = a}) . _Default . _Map++-- | The layer name.+lName :: Lens' Layer (Maybe Text)+lName = lens _lName (\ s a -> s{_lName = a})++-- | For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .+lAutoAssignPublicIPs :: Lens' Layer (Maybe Bool)+lAutoAssignPublicIPs = lens _lAutoAssignPublicIPs (\ s a -> s{_lAutoAssignPublicIPs = a})++-- | The layer type.+lType :: Lens' Layer (Maybe LayerType)+lType = lens _lType (\ s a -> s{_lType = a})++-- | Whether the layer uses Amazon EBS-optimized instances.+lUseEBSOptimizedInstances :: Lens' Layer (Maybe Bool)+lUseEBSOptimizedInstances = lens _lUseEBSOptimizedInstances (\ s a -> s{_lUseEBSOptimizedInstances = a})++-- | The layer stack ID.+lStackId :: Lens' Layer (Maybe Text)+lStackId = lens _lStackId (\ s a -> s{_lStackId = a})++-- | The layer ID.+lLayerId :: Lens' Layer (Maybe Text)+lLayerId = lens _lLayerId (\ s a -> s{_lLayerId = a})++-- | An array containing the layer's security group names.+lDefaultSecurityGroupNames :: Lens' Layer [Text]+lDefaultSecurityGroupNames = lens _lDefaultSecurityGroupNames (\ s a -> s{_lDefaultSecurityGroupNames = a}) . _Default . _Coerce++-- | Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> .+lAutoAssignElasticIPs :: Lens' Layer (Maybe Bool)+lAutoAssignElasticIPs = lens _lAutoAssignElasticIPs (\ s a -> s{_lAutoAssignElasticIPs = a})++instance FromJSON Layer where+        parseJSON+          = withObject "Layer"+              (\ x ->+                 Layer' <$>+                   (x .:? "CustomInstanceProfileArn") <*>+                     (x .:? "CustomSecurityGroupIds" .!= mempty)+                     <*> (x .:? "InstallUpdatesOnBoot")+                     <*> (x .:? "CloudWatchLogsConfiguration")+                     <*> (x .:? "LifecycleEventConfiguration")+                     <*> (x .:? "Arn")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "Shortname")+                     <*> (x .:? "DefaultRecipes")+                     <*> (x .:? "CustomRecipes")+                     <*> (x .:? "CustomJson")+                     <*> (x .:? "VolumeConfigurations" .!= mempty)+                     <*> (x .:? "EnableAutoHealing")+                     <*> (x .:? "Packages" .!= mempty)+                     <*> (x .:? "Attributes" .!= mempty)+                     <*> (x .:? "Name")+                     <*> (x .:? "AutoAssignPublicIps")+                     <*> (x .:? "Type")+                     <*> (x .:? "UseEbsOptimizedInstances")+                     <*> (x .:? "StackId")+                     <*> (x .:? "LayerId")+                     <*> (x .:? "DefaultSecurityGroupNames" .!= mempty)+                     <*> (x .:? "AutoAssignElasticIps"))++instance Hashable Layer where++instance NFData Layer where++-- | Specifies the lifecycle event configuration+--+--+--+-- /See:/ 'lifecycleEventConfiguration' smart constructor.+newtype LifecycleEventConfiguration = LifecycleEventConfiguration'+  { _lecShutdown :: Maybe ShutdownEventConfiguration+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LifecycleEventConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lecShutdown' - A @ShutdownEventConfiguration@ object that specifies the Shutdown event configuration.+lifecycleEventConfiguration+    :: LifecycleEventConfiguration+lifecycleEventConfiguration =+  LifecycleEventConfiguration' {_lecShutdown = Nothing}+++-- | A @ShutdownEventConfiguration@ object that specifies the Shutdown event configuration.+lecShutdown :: Lens' LifecycleEventConfiguration (Maybe ShutdownEventConfiguration)+lecShutdown = lens _lecShutdown (\ s a -> s{_lecShutdown = a})++instance FromJSON LifecycleEventConfiguration where+        parseJSON+          = withObject "LifecycleEventConfiguration"+              (\ x ->+                 LifecycleEventConfiguration' <$> (x .:? "Shutdown"))++instance Hashable LifecycleEventConfiguration where++instance NFData LifecycleEventConfiguration where++instance ToJSON LifecycleEventConfiguration where+        toJSON LifecycleEventConfiguration'{..}+          = object+              (catMaybes [("Shutdown" .=) <$> _lecShutdown])++-- | Describes a layer's load-based auto scaling configuration.+--+--+--+-- /See:/ 'loadBasedAutoScalingConfiguration' smart constructor.+data LoadBasedAutoScalingConfiguration = LoadBasedAutoScalingConfiguration'+  { _lbascUpScaling   :: !(Maybe AutoScalingThresholds)+  , _lbascEnable      :: !(Maybe Bool)+  , _lbascDownScaling :: !(Maybe AutoScalingThresholds)+  , _lbascLayerId     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LoadBasedAutoScalingConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbascUpScaling' - An @AutoScalingThresholds@ object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.+--+-- * 'lbascEnable' - Whether load-based auto scaling is enabled for the layer.+--+-- * 'lbascDownScaling' - An @AutoScalingThresholds@ object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.+--+-- * 'lbascLayerId' - The layer ID.+loadBasedAutoScalingConfiguration+    :: LoadBasedAutoScalingConfiguration+loadBasedAutoScalingConfiguration =+  LoadBasedAutoScalingConfiguration'+    { _lbascUpScaling = Nothing+    , _lbascEnable = Nothing+    , _lbascDownScaling = Nothing+    , _lbascLayerId = Nothing+    }+++-- | An @AutoScalingThresholds@ object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.+lbascUpScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)+lbascUpScaling = lens _lbascUpScaling (\ s a -> s{_lbascUpScaling = a})++-- | Whether load-based auto scaling is enabled for the layer.+lbascEnable :: Lens' LoadBasedAutoScalingConfiguration (Maybe Bool)+lbascEnable = lens _lbascEnable (\ s a -> s{_lbascEnable = a})++-- | An @AutoScalingThresholds@ object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.+lbascDownScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)+lbascDownScaling = lens _lbascDownScaling (\ s a -> s{_lbascDownScaling = a})++-- | The layer ID.+lbascLayerId :: Lens' LoadBasedAutoScalingConfiguration (Maybe Text)+lbascLayerId = lens _lbascLayerId (\ s a -> s{_lbascLayerId = a})++instance FromJSON LoadBasedAutoScalingConfiguration+         where+        parseJSON+          = withObject "LoadBasedAutoScalingConfiguration"+              (\ x ->+                 LoadBasedAutoScalingConfiguration' <$>+                   (x .:? "UpScaling") <*> (x .:? "Enable") <*>+                     (x .:? "DownScaling")+                     <*> (x .:? "LayerId"))++instance Hashable LoadBasedAutoScalingConfiguration+         where++instance NFData LoadBasedAutoScalingConfiguration+         where++-- | Describes supported operating systems in AWS OpsWorks Stacks.+--+--+--+-- /See:/ 'operatingSystem' smart constructor.+data OperatingSystem = OperatingSystem'+  { _osReportedVersion       :: !(Maybe Text)+  , _osSupported             :: !(Maybe Bool)+  , _osName                  :: !(Maybe Text)+  , _osId                    :: !(Maybe Text)+  , _osConfigurationManagers :: !(Maybe [OperatingSystemConfigurationManager])+  , _osType                  :: !(Maybe Text)+  , _osReportedName          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OperatingSystem' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'osReportedVersion' - The version of the operating system, including the release and edition, if applicable.+--+-- * 'osSupported' - Indicates that an operating system is not supported for new instances.+--+-- * 'osName' - The name of the operating system, such as @Amazon Linux 2017.09@ .+--+-- * 'osId' - The ID of a supported operating system, such as @Amazon Linux 2017.09@ .+--+-- * 'osConfigurationManagers' - Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.+--+-- * 'osType' - The type of a supported operating system, either @Linux@ or @Windows@ .+--+-- * 'osReportedName' - A short name for the operating system manufacturer.+operatingSystem+    :: OperatingSystem+operatingSystem =+  OperatingSystem'+    { _osReportedVersion = Nothing+    , _osSupported = Nothing+    , _osName = Nothing+    , _osId = Nothing+    , _osConfigurationManagers = Nothing+    , _osType = Nothing+    , _osReportedName = Nothing+    }+++-- | The version of the operating system, including the release and edition, if applicable.+osReportedVersion :: Lens' OperatingSystem (Maybe Text)+osReportedVersion = lens _osReportedVersion (\ s a -> s{_osReportedVersion = a})++-- | Indicates that an operating system is not supported for new instances.+osSupported :: Lens' OperatingSystem (Maybe Bool)+osSupported = lens _osSupported (\ s a -> s{_osSupported = a})++-- | The name of the operating system, such as @Amazon Linux 2017.09@ .+osName :: Lens' OperatingSystem (Maybe Text)+osName = lens _osName (\ s a -> s{_osName = a})++-- | The ID of a supported operating system, such as @Amazon Linux 2017.09@ .+osId :: Lens' OperatingSystem (Maybe Text)+osId = lens _osId (\ s a -> s{_osId = a})++-- | Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.+osConfigurationManagers :: Lens' OperatingSystem [OperatingSystemConfigurationManager]+osConfigurationManagers = lens _osConfigurationManagers (\ s a -> s{_osConfigurationManagers = a}) . _Default . _Coerce++-- | The type of a supported operating system, either @Linux@ or @Windows@ .+osType :: Lens' OperatingSystem (Maybe Text)+osType = lens _osType (\ s a -> s{_osType = a})++-- | A short name for the operating system manufacturer.+osReportedName :: Lens' OperatingSystem (Maybe Text)+osReportedName = lens _osReportedName (\ s a -> s{_osReportedName = a})++instance FromJSON OperatingSystem where+        parseJSON+          = withObject "OperatingSystem"+              (\ x ->+                 OperatingSystem' <$>+                   (x .:? "ReportedVersion") <*> (x .:? "Supported") <*>+                     (x .:? "Name")+                     <*> (x .:? "Id")+                     <*> (x .:? "ConfigurationManagers" .!= mempty)+                     <*> (x .:? "Type")+                     <*> (x .:? "ReportedName"))++instance Hashable OperatingSystem where++instance NFData OperatingSystem where++-- | A block that contains information about the configuration manager (Chef) and the versions of the configuration manager that are supported for an operating system.+--+--+--+-- /See:/ 'operatingSystemConfigurationManager' smart constructor.+data OperatingSystemConfigurationManager = OperatingSystemConfigurationManager'+  { _oscmName    :: !(Maybe Text)+  , _oscmVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OperatingSystemConfigurationManager' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oscmName' - The name of the configuration manager, which is Chef.+--+-- * 'oscmVersion' - The versions of the configuration manager that are supported by an operating system.+operatingSystemConfigurationManager+    :: OperatingSystemConfigurationManager+operatingSystemConfigurationManager =+  OperatingSystemConfigurationManager'+    {_oscmName = Nothing, _oscmVersion = Nothing}+++-- | The name of the configuration manager, which is Chef.+oscmName :: Lens' OperatingSystemConfigurationManager (Maybe Text)+oscmName = lens _oscmName (\ s a -> s{_oscmName = a})++-- | The versions of the configuration manager that are supported by an operating system.+oscmVersion :: Lens' OperatingSystemConfigurationManager (Maybe Text)+oscmVersion = lens _oscmVersion (\ s a -> s{_oscmVersion = a})++instance FromJSON OperatingSystemConfigurationManager+         where+        parseJSON+          = withObject "OperatingSystemConfigurationManager"+              (\ x ->+                 OperatingSystemConfigurationManager' <$>+                   (x .:? "Name") <*> (x .:? "Version"))++instance Hashable OperatingSystemConfigurationManager+         where++instance NFData OperatingSystemConfigurationManager+         where++-- | Describes stack or user permissions.+--+--+--+-- /See:/ 'permission' smart constructor.+data Permission = Permission'+  { _pIAMUserARN :: !(Maybe Text)+  , _pAllowSudo  :: !(Maybe Bool)+  , _pStackId    :: !(Maybe Text)+  , _pLevel      :: !(Maybe Text)+  , _pAllowSSH   :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Permission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pIAMUserARN' - The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+--+-- * 'pAllowSudo' - Whether the user can use __sudo__ .+--+-- * 'pStackId' - A stack ID.+--+-- * 'pLevel' - The user's permission level, which must be the following:     * @deny@      * @show@      * @deploy@      * @manage@      * @iam_only@  For more information on the permissions associated with these levels, see <http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html Managing User Permissions>+--+-- * 'pAllowSSH' - Whether the user can use SSH.+permission+    :: Permission+permission =+  Permission'+    { _pIAMUserARN = Nothing+    , _pAllowSudo = Nothing+    , _pStackId = Nothing+    , _pLevel = Nothing+    , _pAllowSSH = Nothing+    }+++-- | The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+pIAMUserARN :: Lens' Permission (Maybe Text)+pIAMUserARN = lens _pIAMUserARN (\ s a -> s{_pIAMUserARN = a})++-- | Whether the user can use __sudo__ .+pAllowSudo :: Lens' Permission (Maybe Bool)+pAllowSudo = lens _pAllowSudo (\ s a -> s{_pAllowSudo = a})++-- | A stack ID.+pStackId :: Lens' Permission (Maybe Text)+pStackId = lens _pStackId (\ s a -> s{_pStackId = a})++-- | The user's permission level, which must be the following:     * @deny@      * @show@      * @deploy@      * @manage@      * @iam_only@  For more information on the permissions associated with these levels, see <http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html Managing User Permissions>+pLevel :: Lens' Permission (Maybe Text)+pLevel = lens _pLevel (\ s a -> s{_pLevel = a})++-- | Whether the user can use SSH.+pAllowSSH :: Lens' Permission (Maybe Bool)+pAllowSSH = lens _pAllowSSH (\ s a -> s{_pAllowSSH = a})++instance FromJSON Permission where+        parseJSON+          = withObject "Permission"+              (\ x ->+                 Permission' <$>+                   (x .:? "IamUserArn") <*> (x .:? "AllowSudo") <*>+                     (x .:? "StackId")+                     <*> (x .:? "Level")+                     <*> (x .:? "AllowSsh"))++instance Hashable Permission where++instance NFData Permission where++-- | Describes an instance's RAID array.+--+--+--+-- /See:/ 'rAIdArray' smart constructor.+data RAIdArray = RAIdArray'+  { _raiaInstanceId       :: !(Maybe Text)+  , _raiaSize             :: !(Maybe Int)+  , _raiaIOPS             :: !(Maybe Int)+  , _raiaCreatedAt        :: !(Maybe Text)+  , _raiaRAIdLevel        :: !(Maybe Int)+  , _raiaDevice           :: !(Maybe Text)+  , _raiaNumberOfDisks    :: !(Maybe Int)+  , _raiaAvailabilityZone :: !(Maybe Text)+  , _raiaName             :: !(Maybe Text)+  , _raiaRAIdArrayId      :: !(Maybe Text)+  , _raiaVolumeType       :: !(Maybe Text)+  , _raiaStackId          :: !(Maybe Text)+  , _raiaMountPoint       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RAIdArray' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raiaInstanceId' - The instance ID.+--+-- * 'raiaSize' - The array's size.+--+-- * 'raiaIOPS' - For PIOPS volumes, the IOPS per disk.+--+-- * 'raiaCreatedAt' - When the RAID array was created.+--+-- * 'raiaRAIdLevel' - The <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .+--+-- * 'raiaDevice' - The array's Linux device. For example /dev/mdadm0.+--+-- * 'raiaNumberOfDisks' - The number of disks in the array.+--+-- * 'raiaAvailabilityZone' - The array's Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'raiaName' - The array name.+--+-- * 'raiaRAIdArrayId' - The array ID.+--+-- * 'raiaVolumeType' - The volume type, standard or PIOPS.+--+-- * 'raiaStackId' - The stack ID.+--+-- * 'raiaMountPoint' - The array's mount point.+rAIdArray+    :: RAIdArray+rAIdArray =+  RAIdArray'+    { _raiaInstanceId = Nothing+    , _raiaSize = Nothing+    , _raiaIOPS = Nothing+    , _raiaCreatedAt = Nothing+    , _raiaRAIdLevel = Nothing+    , _raiaDevice = Nothing+    , _raiaNumberOfDisks = Nothing+    , _raiaAvailabilityZone = Nothing+    , _raiaName = Nothing+    , _raiaRAIdArrayId = Nothing+    , _raiaVolumeType = Nothing+    , _raiaStackId = Nothing+    , _raiaMountPoint = Nothing+    }+++-- | The instance ID.+raiaInstanceId :: Lens' RAIdArray (Maybe Text)+raiaInstanceId = lens _raiaInstanceId (\ s a -> s{_raiaInstanceId = a})++-- | The array's size.+raiaSize :: Lens' RAIdArray (Maybe Int)+raiaSize = lens _raiaSize (\ s a -> s{_raiaSize = a})++-- | For PIOPS volumes, the IOPS per disk.+raiaIOPS :: Lens' RAIdArray (Maybe Int)+raiaIOPS = lens _raiaIOPS (\ s a -> s{_raiaIOPS = a})++-- | When the RAID array was created.+raiaCreatedAt :: Lens' RAIdArray (Maybe Text)+raiaCreatedAt = lens _raiaCreatedAt (\ s a -> s{_raiaCreatedAt = a})++-- | The <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .+raiaRAIdLevel :: Lens' RAIdArray (Maybe Int)+raiaRAIdLevel = lens _raiaRAIdLevel (\ s a -> s{_raiaRAIdLevel = a})++-- | The array's Linux device. For example /dev/mdadm0.+raiaDevice :: Lens' RAIdArray (Maybe Text)+raiaDevice = lens _raiaDevice (\ s a -> s{_raiaDevice = a})++-- | The number of disks in the array.+raiaNumberOfDisks :: Lens' RAIdArray (Maybe Int)+raiaNumberOfDisks = lens _raiaNumberOfDisks (\ s a -> s{_raiaNumberOfDisks = a})++-- | The array's Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+raiaAvailabilityZone :: Lens' RAIdArray (Maybe Text)+raiaAvailabilityZone = lens _raiaAvailabilityZone (\ s a -> s{_raiaAvailabilityZone = a})++-- | The array name.+raiaName :: Lens' RAIdArray (Maybe Text)+raiaName = lens _raiaName (\ s a -> s{_raiaName = a})++-- | The array ID.+raiaRAIdArrayId :: Lens' RAIdArray (Maybe Text)+raiaRAIdArrayId = lens _raiaRAIdArrayId (\ s a -> s{_raiaRAIdArrayId = a})++-- | The volume type, standard or PIOPS.+raiaVolumeType :: Lens' RAIdArray (Maybe Text)+raiaVolumeType = lens _raiaVolumeType (\ s a -> s{_raiaVolumeType = a})++-- | The stack ID.+raiaStackId :: Lens' RAIdArray (Maybe Text)+raiaStackId = lens _raiaStackId (\ s a -> s{_raiaStackId = a})++-- | The array's mount point.+raiaMountPoint :: Lens' RAIdArray (Maybe Text)+raiaMountPoint = lens _raiaMountPoint (\ s a -> s{_raiaMountPoint = a})++instance FromJSON RAIdArray where+        parseJSON+          = withObject "RAIdArray"+              (\ x ->+                 RAIdArray' <$>+                   (x .:? "InstanceId") <*> (x .:? "Size") <*>+                     (x .:? "Iops")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "RaidLevel")+                     <*> (x .:? "Device")+                     <*> (x .:? "NumberOfDisks")+                     <*> (x .:? "AvailabilityZone")+                     <*> (x .:? "Name")+                     <*> (x .:? "RaidArrayId")+                     <*> (x .:? "VolumeType")+                     <*> (x .:? "StackId")+                     <*> (x .:? "MountPoint"))++instance Hashable RAIdArray where++instance NFData RAIdArray where++-- | Describes an Amazon RDS instance.+--+--+--+-- /See:/ 'rdsDBInstance' smart constructor.+data RDSDBInstance = RDSDBInstance'+  { _rdiRDSDBInstanceARN     :: !(Maybe Text)+  , _rdiDBUser               :: !(Maybe Text)+  , _rdiMissingOnRDS         :: !(Maybe Bool)+  , _rdiEngine               :: !(Maybe Text)+  , _rdiAddress              :: !(Maybe Text)+  , _rdiDBInstanceIdentifier :: !(Maybe Text)+  , _rdiRegion               :: !(Maybe Text)+  , _rdiStackId              :: !(Maybe Text)+  , _rdiDBPassword           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RDSDBInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rdiRDSDBInstanceARN' - The instance's ARN.+--+-- * 'rdiDBUser' - The master user name.+--+-- * 'rdiMissingOnRDS' - Set to @true@ if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to @true@ , you must deregister the instance, and then register it again.+--+-- * 'rdiEngine' - The instance's database engine.+--+-- * 'rdiAddress' - The instance's address.+--+-- * 'rdiDBInstanceIdentifier' - The DB instance identifier.+--+-- * 'rdiRegion' - The instance's AWS region.+--+-- * 'rdiStackId' - The ID of the stack with which the instance is registered.+--+-- * 'rdiDBPassword' - AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+rdsDBInstance+    :: RDSDBInstance+rdsDBInstance =+  RDSDBInstance'+    { _rdiRDSDBInstanceARN = Nothing+    , _rdiDBUser = Nothing+    , _rdiMissingOnRDS = Nothing+    , _rdiEngine = Nothing+    , _rdiAddress = Nothing+    , _rdiDBInstanceIdentifier = Nothing+    , _rdiRegion = Nothing+    , _rdiStackId = Nothing+    , _rdiDBPassword = Nothing+    }+++-- | The instance's ARN.+rdiRDSDBInstanceARN :: Lens' RDSDBInstance (Maybe Text)+rdiRDSDBInstanceARN = lens _rdiRDSDBInstanceARN (\ s a -> s{_rdiRDSDBInstanceARN = a})++-- | The master user name.+rdiDBUser :: Lens' RDSDBInstance (Maybe Text)+rdiDBUser = lens _rdiDBUser (\ s a -> s{_rdiDBUser = a})++-- | Set to @true@ if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to @true@ , you must deregister the instance, and then register it again.+rdiMissingOnRDS :: Lens' RDSDBInstance (Maybe Bool)+rdiMissingOnRDS = lens _rdiMissingOnRDS (\ s a -> s{_rdiMissingOnRDS = a})++-- | The instance's database engine.+rdiEngine :: Lens' RDSDBInstance (Maybe Text)+rdiEngine = lens _rdiEngine (\ s a -> s{_rdiEngine = a})++-- | The instance's address.+rdiAddress :: Lens' RDSDBInstance (Maybe Text)+rdiAddress = lens _rdiAddress (\ s a -> s{_rdiAddress = a})++-- | The DB instance identifier.+rdiDBInstanceIdentifier :: Lens' RDSDBInstance (Maybe Text)+rdiDBInstanceIdentifier = lens _rdiDBInstanceIdentifier (\ s a -> s{_rdiDBInstanceIdentifier = a})++-- | The instance's AWS region.+rdiRegion :: Lens' RDSDBInstance (Maybe Text)+rdiRegion = lens _rdiRegion (\ s a -> s{_rdiRegion = a})++-- | The ID of the stack with which the instance is registered.+rdiStackId :: Lens' RDSDBInstance (Maybe Text)+rdiStackId = lens _rdiStackId (\ s a -> s{_rdiStackId = a})++-- | AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+rdiDBPassword :: Lens' RDSDBInstance (Maybe Text)+rdiDBPassword = lens _rdiDBPassword (\ s a -> s{_rdiDBPassword = a})++instance FromJSON RDSDBInstance where+        parseJSON+          = withObject "RDSDBInstance"+              (\ x ->+                 RDSDBInstance' <$>+                   (x .:? "RdsDbInstanceArn") <*> (x .:? "DbUser") <*>+                     (x .:? "MissingOnRds")+                     <*> (x .:? "Engine")+                     <*> (x .:? "Address")+                     <*> (x .:? "DbInstanceIdentifier")+                     <*> (x .:? "Region")+                     <*> (x .:? "StackId")+                     <*> (x .:? "DbPassword"))++instance Hashable RDSDBInstance where++instance NFData RDSDBInstance where++-- | AWS OpsWorks Stacks supports five lifecycle events: __setup__ , __configuration__ , __deploy__ , __undeploy__ , and __shutdown__ . For each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes after the standard recipes. @LayerCustomRecipes@ specifies the custom recipes for a particular layer to be run in response to each of the five events.+--+--+-- To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.+--+--+-- /See:/ 'recipes' smart constructor.+data Recipes = Recipes'+  { _rSetup     :: !(Maybe [Text])+  , _rShutdown  :: !(Maybe [Text])+  , _rUndeploy  :: !(Maybe [Text])+  , _rConfigure :: !(Maybe [Text])+  , _rDeploy    :: !(Maybe [Text])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Recipes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rSetup' - An array of custom recipe names to be run following a @setup@ event.+--+-- * 'rShutdown' - An array of custom recipe names to be run following a @shutdown@ event.+--+-- * 'rUndeploy' - An array of custom recipe names to be run following a @undeploy@ event.+--+-- * 'rConfigure' - An array of custom recipe names to be run following a @configure@ event.+--+-- * 'rDeploy' - An array of custom recipe names to be run following a @deploy@ event.+recipes+    :: Recipes+recipes =+  Recipes'+    { _rSetup = Nothing+    , _rShutdown = Nothing+    , _rUndeploy = Nothing+    , _rConfigure = Nothing+    , _rDeploy = Nothing+    }+++-- | An array of custom recipe names to be run following a @setup@ event.+rSetup :: Lens' Recipes [Text]+rSetup = lens _rSetup (\ s a -> s{_rSetup = a}) . _Default . _Coerce++-- | An array of custom recipe names to be run following a @shutdown@ event.+rShutdown :: Lens' Recipes [Text]+rShutdown = lens _rShutdown (\ s a -> s{_rShutdown = a}) . _Default . _Coerce++-- | An array of custom recipe names to be run following a @undeploy@ event.+rUndeploy :: Lens' Recipes [Text]+rUndeploy = lens _rUndeploy (\ s a -> s{_rUndeploy = a}) . _Default . _Coerce++-- | An array of custom recipe names to be run following a @configure@ event.+rConfigure :: Lens' Recipes [Text]+rConfigure = lens _rConfigure (\ s a -> s{_rConfigure = a}) . _Default . _Coerce++-- | An array of custom recipe names to be run following a @deploy@ event.+rDeploy :: Lens' Recipes [Text]+rDeploy = lens _rDeploy (\ s a -> s{_rDeploy = a}) . _Default . _Coerce++instance FromJSON Recipes where+        parseJSON+          = withObject "Recipes"+              (\ x ->+                 Recipes' <$>+                   (x .:? "Setup" .!= mempty) <*>+                     (x .:? "Shutdown" .!= mempty)+                     <*> (x .:? "Undeploy" .!= mempty)+                     <*> (x .:? "Configure" .!= mempty)+                     <*> (x .:? "Deploy" .!= mempty))++instance Hashable Recipes where++instance NFData Recipes where++instance ToJSON Recipes where+        toJSON Recipes'{..}+          = object+              (catMaybes+                 [("Setup" .=) <$> _rSetup,+                  ("Shutdown" .=) <$> _rShutdown,+                  ("Undeploy" .=) <$> _rUndeploy,+                  ("Configure" .=) <$> _rConfigure,+                  ("Deploy" .=) <$> _rDeploy])++-- | A registered instance's reported operating system.+--+--+--+-- /See:/ 'reportedOS' smart constructor.+data ReportedOS = ReportedOS'+  { _roFamily  :: !(Maybe Text)+  , _roName    :: !(Maybe Text)+  , _roVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReportedOS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'roFamily' - The operating system family.+--+-- * 'roName' - The operating system name.+--+-- * 'roVersion' - The operating system version.+reportedOS+    :: ReportedOS+reportedOS =+  ReportedOS' {_roFamily = Nothing, _roName = Nothing, _roVersion = Nothing}+++-- | The operating system family.+roFamily :: Lens' ReportedOS (Maybe Text)+roFamily = lens _roFamily (\ s a -> s{_roFamily = a})++-- | The operating system name.+roName :: Lens' ReportedOS (Maybe Text)+roName = lens _roName (\ s a -> s{_roName = a})++-- | The operating system version.+roVersion :: Lens' ReportedOS (Maybe Text)+roVersion = lens _roVersion (\ s a -> s{_roVersion = a})++instance FromJSON ReportedOS where+        parseJSON+          = withObject "ReportedOS"+              (\ x ->+                 ReportedOS' <$>+                   (x .:? "Family") <*> (x .:? "Name") <*>+                     (x .:? "Version"))++instance Hashable ReportedOS where++instance NFData ReportedOS where++-- | Describes an app's SSL configuration.+--+--+--+-- /See:/ 'sslConfiguration' smart constructor.+data SSLConfiguration = SSLConfiguration'+  { _scPrivateKey  :: !(Maybe Text)+  , _scCertificate :: !(Maybe Text)+  , _scChain       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SSLConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scPrivateKey' - The private key; the contents of the certificate's domain.kex file.+--+-- * 'scCertificate' - The contents of the certificate's domain.crt file.+--+-- * 'scChain' - Optional. Can be used to specify an intermediate certificate authority key or client authentication.+sslConfiguration+    :: SSLConfiguration+sslConfiguration =+  SSLConfiguration'+    {_scPrivateKey = Nothing, _scCertificate = Nothing, _scChain = Nothing}+++-- | The private key; the contents of the certificate's domain.kex file.+scPrivateKey :: Lens' SSLConfiguration (Maybe Text)+scPrivateKey = lens _scPrivateKey (\ s a -> s{_scPrivateKey = a})++-- | The contents of the certificate's domain.crt file.+scCertificate :: Lens' SSLConfiguration (Maybe Text)+scCertificate = lens _scCertificate (\ s a -> s{_scCertificate = a})++-- | Optional. Can be used to specify an intermediate certificate authority key or client authentication.+scChain :: Lens' SSLConfiguration (Maybe Text)+scChain = lens _scChain (\ s a -> s{_scChain = a})++instance FromJSON SSLConfiguration where+        parseJSON+          = withObject "SSLConfiguration"+              (\ x ->+                 SSLConfiguration' <$>+                   (x .:? "PrivateKey") <*> (x .:? "Certificate") <*>+                     (x .:? "Chain"))++instance Hashable SSLConfiguration where++instance NFData SSLConfiguration where++instance ToJSON SSLConfiguration where+        toJSON SSLConfiguration'{..}+          = object+              (catMaybes+                 [("PrivateKey" .=) <$> _scPrivateKey,+                  ("Certificate" .=) <$> _scCertificate,+                  ("Chain" .=) <$> _scChain])++-- | Describes a user's SSH information.+--+--+--+-- /See:/ 'selfUserProfile' smart constructor.+data SelfUserProfile = SelfUserProfile'+  { _supSSHPublicKey :: !(Maybe Text)+  , _supSSHUsername  :: !(Maybe Text)+  , _supIAMUserARN   :: !(Maybe Text)+  , _supName         :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SelfUserProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'supSSHPublicKey' - The user's SSH public key.+--+-- * 'supSSHUsername' - The user's SSH user name.+--+-- * 'supIAMUserARN' - The user's IAM ARN.+--+-- * 'supName' - The user's name.+selfUserProfile+    :: SelfUserProfile+selfUserProfile =+  SelfUserProfile'+    { _supSSHPublicKey = Nothing+    , _supSSHUsername = Nothing+    , _supIAMUserARN = Nothing+    , _supName = Nothing+    }+++-- | The user's SSH public key.+supSSHPublicKey :: Lens' SelfUserProfile (Maybe Text)+supSSHPublicKey = lens _supSSHPublicKey (\ s a -> s{_supSSHPublicKey = a})++-- | The user's SSH user name.+supSSHUsername :: Lens' SelfUserProfile (Maybe Text)+supSSHUsername = lens _supSSHUsername (\ s a -> s{_supSSHUsername = a})++-- | The user's IAM ARN.+supIAMUserARN :: Lens' SelfUserProfile (Maybe Text)+supIAMUserARN = lens _supIAMUserARN (\ s a -> s{_supIAMUserARN = a})++-- | The user's name.+supName :: Lens' SelfUserProfile (Maybe Text)+supName = lens _supName (\ s a -> s{_supName = a})++instance FromJSON SelfUserProfile where+        parseJSON+          = withObject "SelfUserProfile"+              (\ x ->+                 SelfUserProfile' <$>+                   (x .:? "SshPublicKey") <*> (x .:? "SshUsername") <*>+                     (x .:? "IamUserArn")+                     <*> (x .:? "Name"))++instance Hashable SelfUserProfile where++instance NFData SelfUserProfile where++-- | Describes an AWS OpsWorks Stacks service error.+--+--+--+-- /See:/ 'serviceError'' smart constructor.+data ServiceError' = ServiceError''+  { _seInstanceId     :: !(Maybe Text)+  , _seCreatedAt      :: !(Maybe Text)+  , _seServiceErrorId :: !(Maybe Text)+  , _seType           :: !(Maybe Text)+  , _seStackId        :: !(Maybe Text)+  , _seMessage        :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ServiceError'' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'seInstanceId' - The instance ID.+--+-- * 'seCreatedAt' - When the error occurred.+--+-- * 'seServiceErrorId' - The error ID.+--+-- * 'seType' - The error type.+--+-- * 'seStackId' - The stack ID.+--+-- * 'seMessage' - A message that describes the error.+serviceError'+    :: ServiceError'+serviceError' =+  ServiceError''+    { _seInstanceId = Nothing+    , _seCreatedAt = Nothing+    , _seServiceErrorId = Nothing+    , _seType = Nothing+    , _seStackId = Nothing+    , _seMessage = Nothing+    }+++-- | The instance ID.+seInstanceId :: Lens' ServiceError' (Maybe Text)+seInstanceId = lens _seInstanceId (\ s a -> s{_seInstanceId = a})++-- | When the error occurred.+seCreatedAt :: Lens' ServiceError' (Maybe Text)+seCreatedAt = lens _seCreatedAt (\ s a -> s{_seCreatedAt = a})++-- | The error ID.+seServiceErrorId :: Lens' ServiceError' (Maybe Text)+seServiceErrorId = lens _seServiceErrorId (\ s a -> s{_seServiceErrorId = a})++-- | The error type.+seType :: Lens' ServiceError' (Maybe Text)+seType = lens _seType (\ s a -> s{_seType = a})++-- | The stack ID.+seStackId :: Lens' ServiceError' (Maybe Text)+seStackId = lens _seStackId (\ s a -> s{_seStackId = a})++-- | A message that describes the error.+seMessage :: Lens' ServiceError' (Maybe Text)+seMessage = lens _seMessage (\ s a -> s{_seMessage = a})++instance FromJSON ServiceError' where+        parseJSON+          = withObject "ServiceError'"+              (\ x ->+                 ServiceError'' <$>+                   (x .:? "InstanceId") <*> (x .:? "CreatedAt") <*>+                     (x .:? "ServiceErrorId")+                     <*> (x .:? "Type")+                     <*> (x .:? "StackId")+                     <*> (x .:? "Message"))++instance Hashable ServiceError' where++instance NFData ServiceError' where++-- | The Shutdown event configuration.+--+--+--+-- /See:/ 'shutdownEventConfiguration' smart constructor.+data ShutdownEventConfiguration = ShutdownEventConfiguration'+  { _secExecutionTimeout                :: !(Maybe Int)+  , _secDelayUntilElbConnectionsDrained :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ShutdownEventConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'secExecutionTimeout' - The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.+--+-- * 'secDelayUntilElbConnectionsDrained' - Whether to enable Elastic Load Balancing connection draining. For more information, see <http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain Connection Draining>+shutdownEventConfiguration+    :: ShutdownEventConfiguration+shutdownEventConfiguration =+  ShutdownEventConfiguration'+    { _secExecutionTimeout = Nothing+    , _secDelayUntilElbConnectionsDrained = Nothing+    }+++-- | The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.+secExecutionTimeout :: Lens' ShutdownEventConfiguration (Maybe Int)+secExecutionTimeout = lens _secExecutionTimeout (\ s a -> s{_secExecutionTimeout = a})++-- | Whether to enable Elastic Load Balancing connection draining. For more information, see <http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#conn-drain Connection Draining>+secDelayUntilElbConnectionsDrained :: Lens' ShutdownEventConfiguration (Maybe Bool)+secDelayUntilElbConnectionsDrained = lens _secDelayUntilElbConnectionsDrained (\ s a -> s{_secDelayUntilElbConnectionsDrained = a})++instance FromJSON ShutdownEventConfiguration where+        parseJSON+          = withObject "ShutdownEventConfiguration"+              (\ x ->+                 ShutdownEventConfiguration' <$>+                   (x .:? "ExecutionTimeout") <*>+                     (x .:? "DelayUntilElbConnectionsDrained"))++instance Hashable ShutdownEventConfiguration where++instance NFData ShutdownEventConfiguration where++instance ToJSON ShutdownEventConfiguration where+        toJSON ShutdownEventConfiguration'{..}+          = object+              (catMaybes+                 [("ExecutionTimeout" .=) <$> _secExecutionTimeout,+                  ("DelayUntilElbConnectionsDrained" .=) <$>+                    _secDelayUntilElbConnectionsDrained])++-- | Contains the information required to retrieve an app or cookbook from a repository. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html Creating Apps> or <http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html Custom Recipes and Cookbooks> .+--+--+--+-- /See:/ 'source' smart constructor.+data Source = Source'+  { _sURL      :: !(Maybe Text)+  , _sUsername :: !(Maybe Text)+  , _sSSHKey   :: !(Maybe Text)+  , _sPassword :: !(Maybe Text)+  , _sType     :: !(Maybe SourceType)+  , _sRevision :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Source' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sURL' - The source URL. The following is an example of an Amazon S3 source URL: @https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz@ .+--+-- * 'sUsername' - This parameter depends on the repository type.     * For Amazon S3 bundles, set @Username@ to the appropriate IAM access key ID.     * For HTTP bundles, Git repositories, and Subversion repositories, set @Username@ to the user name.+--+-- * 'sSSHKey' - In requests, the repository's SSH key. In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+--+-- * 'sPassword' - When included in a request, the parameter depends on the repository type.     * For Amazon S3 bundles, set @Password@ to the appropriate IAM secret access key.     * For HTTP bundles and Subversion repositories, set @Password@ to the password. For more information on how to safely handle IAM credentials, see <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html> . In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+--+-- * 'sType' - The repository type.+--+-- * 'sRevision' - The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.+source+    :: Source+source =+  Source'+    { _sURL = Nothing+    , _sUsername = Nothing+    , _sSSHKey = Nothing+    , _sPassword = Nothing+    , _sType = Nothing+    , _sRevision = Nothing+    }+++-- | The source URL. The following is an example of an Amazon S3 source URL: @https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz@ .+sURL :: Lens' Source (Maybe Text)+sURL = lens _sURL (\ s a -> s{_sURL = a})++-- | This parameter depends on the repository type.     * For Amazon S3 bundles, set @Username@ to the appropriate IAM access key ID.     * For HTTP bundles, Git repositories, and Subversion repositories, set @Username@ to the user name.+sUsername :: Lens' Source (Maybe Text)+sUsername = lens _sUsername (\ s a -> s{_sUsername = a})++-- | In requests, the repository's SSH key. In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+sSSHKey :: Lens' Source (Maybe Text)+sSSHKey = lens _sSSHKey (\ s a -> s{_sSSHKey = a})++-- | When included in a request, the parameter depends on the repository type.     * For Amazon S3 bundles, set @Password@ to the appropriate IAM secret access key.     * For HTTP bundles and Subversion repositories, set @Password@ to the password. For more information on how to safely handle IAM credentials, see <http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html> . In responses, AWS OpsWorks Stacks returns @*****FILTERED*****@ instead of the actual value.+sPassword :: Lens' Source (Maybe Text)+sPassword = lens _sPassword (\ s a -> s{_sPassword = a})++-- | The repository type.+sType :: Lens' Source (Maybe SourceType)+sType = lens _sType (\ s a -> s{_sType = a})++-- | The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.+sRevision :: Lens' Source (Maybe Text)+sRevision = lens _sRevision (\ s a -> s{_sRevision = a})++instance FromJSON Source where+        parseJSON+          = withObject "Source"+              (\ x ->+                 Source' <$>+                   (x .:? "Url") <*> (x .:? "Username") <*>+                     (x .:? "SshKey")+                     <*> (x .:? "Password")+                     <*> (x .:? "Type")+                     <*> (x .:? "Revision"))++instance Hashable Source where++instance NFData Source where++instance ToJSON Source where+        toJSON Source'{..}+          = object+              (catMaybes+                 [("Url" .=) <$> _sURL,+                  ("Username" .=) <$> _sUsername,+                  ("SshKey" .=) <$> _sSSHKey,+                  ("Password" .=) <$> _sPassword,+                  ("Type" .=) <$> _sType,+                  ("Revision" .=) <$> _sRevision])++-- | Describes a stack.+--+--+--+-- /See:/ 'stack' smart constructor.+data Stack = Stack'+  { _sDefaultInstanceProfileARN :: !(Maybe Text)+  , _sServiceRoleARN :: !(Maybe Text)+  , _sDefaultRootDeviceType :: !(Maybe RootDeviceType)+  , _sARN :: !(Maybe Text)+  , _sCreatedAt :: !(Maybe Text)+  , _sVPCId :: !(Maybe Text)+  , _sChefConfiguration :: !(Maybe ChefConfiguration)+  , _sAgentVersion :: !(Maybe Text)+  , _sDefaultSSHKeyName :: !(Maybe Text)+  , _sCustomJSON :: !(Maybe Text)+  , _sCustomCookbooksSource :: !(Maybe Source)+  , _sDefaultAvailabilityZone :: !(Maybe Text)+  , _sAttributes :: !(Maybe (Map StackAttributesKeys (Maybe Text)))+  , _sName :: !(Maybe Text)+  , _sDefaultOS :: !(Maybe Text)+  , _sUseOpsworksSecurityGroups :: !(Maybe Bool)+  , _sUseCustomCookbooks :: !(Maybe Bool)+  , _sDefaultSubnetId :: !(Maybe Text)+  , _sRegion :: !(Maybe Text)+  , _sConfigurationManager :: !(Maybe StackConfigurationManager)+  , _sStackId :: !(Maybe Text)+  , _sHostnameTheme :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Stack' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDefaultInstanceProfileARN' - The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+--+-- * 'sServiceRoleARN' - The stack AWS Identity and Access Management (IAM) role.+--+-- * 'sDefaultRootDeviceType' - The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .+--+-- * 'sARN' - The stack's ARN.+--+-- * 'sCreatedAt' - The date when the stack was created.+--+-- * 'sVPCId' - The VPC ID; applicable only if the stack is running in a VPC.+--+-- * 'sChefConfiguration' - A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> .+--+-- * 'sAgentVersion' - The agent version. This parameter is set to @LATEST@ for auto-update. or a version number for a fixed agent version.+--+-- * 'sDefaultSSHKeyName' - A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.+--+-- * 'sCustomJSON' - A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .+--+-- * 'sCustomCookbooksSource' - Undocumented member.+--+-- * 'sDefaultAvailabilityZone' - The stack's default Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'sAttributes' - The stack's attributes.+--+-- * 'sName' - The stack name.+--+-- * 'sDefaultOS' - The stack's default operating system.+--+-- * 'sUseOpsworksSecurityGroups' - Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.+--+-- * 'sUseCustomCookbooks' - Whether the stack uses custom cookbooks.+--+-- * 'sDefaultSubnetId' - The default subnet ID; applicable only if the stack is running in a VPC.+--+-- * 'sRegion' - The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'sConfigurationManager' - The configuration manager.+--+-- * 'sStackId' - The stack ID.+--+-- * 'sHostnameTheme' - The stack host name theme, with spaces replaced by underscores.+stack+    :: Stack+stack =+  Stack'+    { _sDefaultInstanceProfileARN = Nothing+    , _sServiceRoleARN = Nothing+    , _sDefaultRootDeviceType = Nothing+    , _sARN = Nothing+    , _sCreatedAt = Nothing+    , _sVPCId = Nothing+    , _sChefConfiguration = Nothing+    , _sAgentVersion = Nothing+    , _sDefaultSSHKeyName = Nothing+    , _sCustomJSON = Nothing+    , _sCustomCookbooksSource = Nothing+    , _sDefaultAvailabilityZone = Nothing+    , _sAttributes = Nothing+    , _sName = Nothing+    , _sDefaultOS = Nothing+    , _sUseOpsworksSecurityGroups = Nothing+    , _sUseCustomCookbooks = Nothing+    , _sDefaultSubnetId = Nothing+    , _sRegion = Nothing+    , _sConfigurationManager = Nothing+    , _sStackId = Nothing+    , _sHostnameTheme = Nothing+    }+++-- | The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> .+sDefaultInstanceProfileARN :: Lens' Stack (Maybe Text)+sDefaultInstanceProfileARN = lens _sDefaultInstanceProfileARN (\ s a -> s{_sDefaultInstanceProfileARN = a})++-- | The stack AWS Identity and Access Management (IAM) role.+sServiceRoleARN :: Lens' Stack (Maybe Text)+sServiceRoleARN = lens _sServiceRoleARN (\ s a -> s{_sServiceRoleARN = a})++-- | The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> .+sDefaultRootDeviceType :: Lens' Stack (Maybe RootDeviceType)+sDefaultRootDeviceType = lens _sDefaultRootDeviceType (\ s a -> s{_sDefaultRootDeviceType = a})++-- | The stack's ARN.+sARN :: Lens' Stack (Maybe Text)+sARN = lens _sARN (\ s a -> s{_sARN = a})++-- | The date when the stack was created.+sCreatedAt :: Lens' Stack (Maybe Text)+sCreatedAt = lens _sCreatedAt (\ s a -> s{_sCreatedAt = a})++-- | The VPC ID; applicable only if the stack is running in a VPC.+sVPCId :: Lens' Stack (Maybe Text)+sVPCId = lens _sVPCId (\ s a -> s{_sVPCId = a})++-- | A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> .+sChefConfiguration :: Lens' Stack (Maybe ChefConfiguration)+sChefConfiguration = lens _sChefConfiguration (\ s a -> s{_sChefConfiguration = a})++-- | The agent version. This parameter is set to @LATEST@ for auto-update. or a version number for a fixed agent version.+sAgentVersion :: Lens' Stack (Maybe Text)+sAgentVersion = lens _sAgentVersion (\ s a -> s{_sAgentVersion = a})++-- | A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.+sDefaultSSHKeyName :: Lens' Stack (Maybe Text)+sDefaultSSHKeyName = lens _sDefaultSSHKeyName (\ s a -> s{_sDefaultSSHKeyName = a})++-- | A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> .+sCustomJSON :: Lens' Stack (Maybe Text)+sCustomJSON = lens _sCustomJSON (\ s a -> s{_sCustomJSON = a})++-- | Undocumented member.+sCustomCookbooksSource :: Lens' Stack (Maybe Source)+sCustomCookbooksSource = lens _sCustomCookbooksSource (\ s a -> s{_sCustomCookbooksSource = a})++-- | The stack's default Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+sDefaultAvailabilityZone :: Lens' Stack (Maybe Text)+sDefaultAvailabilityZone = lens _sDefaultAvailabilityZone (\ s a -> s{_sDefaultAvailabilityZone = a})++-- | The stack's attributes.+sAttributes :: Lens' Stack (HashMap StackAttributesKeys (Maybe Text))+sAttributes = lens _sAttributes (\ s a -> s{_sAttributes = a}) . _Default . _Map++-- | The stack name.+sName :: Lens' Stack (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a})++-- | The stack's default operating system.+sDefaultOS :: Lens' Stack (Maybe Text)+sDefaultOS = lens _sDefaultOS (\ s a -> s{_sDefaultOS = a})++-- | Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.+sUseOpsworksSecurityGroups :: Lens' Stack (Maybe Bool)+sUseOpsworksSecurityGroups = lens _sUseOpsworksSecurityGroups (\ s a -> s{_sUseOpsworksSecurityGroups = a})++-- | Whether the stack uses custom cookbooks.+sUseCustomCookbooks :: Lens' Stack (Maybe Bool)+sUseCustomCookbooks = lens _sUseCustomCookbooks (\ s a -> s{_sUseCustomCookbooks = a})++-- | The default subnet ID; applicable only if the stack is running in a VPC.+sDefaultSubnetId :: Lens' Stack (Maybe Text)+sDefaultSubnetId = lens _sDefaultSubnetId (\ s a -> s{_sDefaultSubnetId = a})++-- | The stack AWS region, such as "ap-northeast-2". For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+sRegion :: Lens' Stack (Maybe Text)+sRegion = lens _sRegion (\ s a -> s{_sRegion = a})++-- | The configuration manager.+sConfigurationManager :: Lens' Stack (Maybe StackConfigurationManager)+sConfigurationManager = lens _sConfigurationManager (\ s a -> s{_sConfigurationManager = a})++-- | The stack ID.+sStackId :: Lens' Stack (Maybe Text)+sStackId = lens _sStackId (\ s a -> s{_sStackId = a})++-- | The stack host name theme, with spaces replaced by underscores.+sHostnameTheme :: Lens' Stack (Maybe Text)+sHostnameTheme = lens _sHostnameTheme (\ s a -> s{_sHostnameTheme = a})++instance FromJSON Stack where+        parseJSON+          = withObject "Stack"+              (\ x ->+                 Stack' <$>+                   (x .:? "DefaultInstanceProfileArn") <*>+                     (x .:? "ServiceRoleArn")+                     <*> (x .:? "DefaultRootDeviceType")+                     <*> (x .:? "Arn")+                     <*> (x .:? "CreatedAt")+                     <*> (x .:? "VpcId")+                     <*> (x .:? "ChefConfiguration")+                     <*> (x .:? "AgentVersion")+                     <*> (x .:? "DefaultSshKeyName")+                     <*> (x .:? "CustomJson")+                     <*> (x .:? "CustomCookbooksSource")+                     <*> (x .:? "DefaultAvailabilityZone")+                     <*> (x .:? "Attributes" .!= mempty)+                     <*> (x .:? "Name")+                     <*> (x .:? "DefaultOs")+                     <*> (x .:? "UseOpsworksSecurityGroups")+                     <*> (x .:? "UseCustomCookbooks")+                     <*> (x .:? "DefaultSubnetId")+                     <*> (x .:? "Region")+                     <*> (x .:? "ConfigurationManager")+                     <*> (x .:? "StackId")+                     <*> (x .:? "HostnameTheme"))++instance Hashable Stack where++instance NFData Stack where++-- | Describes the configuration manager.+--+--+--+-- /See:/ 'stackConfigurationManager' smart constructor.+data StackConfigurationManager = StackConfigurationManager'+  { _scmName    :: !(Maybe Text)+  , _scmVersion :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackConfigurationManager' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scmName' - The name. This parameter must be set to "Chef".+--+-- * 'scmVersion' - The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.+stackConfigurationManager+    :: StackConfigurationManager+stackConfigurationManager =+  StackConfigurationManager' {_scmName = Nothing, _scmVersion = Nothing}+++-- | The name. This parameter must be set to "Chef".+scmName :: Lens' StackConfigurationManager (Maybe Text)+scmName = lens _scmName (\ s a -> s{_scmName = a})++-- | The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.+scmVersion :: Lens' StackConfigurationManager (Maybe Text)+scmVersion = lens _scmVersion (\ s a -> s{_scmVersion = a})++instance FromJSON StackConfigurationManager where+        parseJSON+          = withObject "StackConfigurationManager"+              (\ x ->+                 StackConfigurationManager' <$>+                   (x .:? "Name") <*> (x .:? "Version"))++instance Hashable StackConfigurationManager where++instance NFData StackConfigurationManager where++instance ToJSON StackConfigurationManager where+        toJSON StackConfigurationManager'{..}+          = object+              (catMaybes+                 [("Name" .=) <$> _scmName,+                  ("Version" .=) <$> _scmVersion])++-- | Summarizes the number of layers, instances, and apps in a stack.+--+--+--+-- /See:/ 'stackSummary' smart constructor.+data StackSummary = StackSummary'+  { _ssARN            :: !(Maybe Text)+  , _ssAppsCount      :: !(Maybe Int)+  , _ssName           :: !(Maybe Text)+  , _ssStackId        :: !(Maybe Text)+  , _ssLayersCount    :: !(Maybe Int)+  , _ssInstancesCount :: !(Maybe InstancesCount)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssARN' - The stack's ARN.+--+-- * 'ssAppsCount' - The number of apps.+--+-- * 'ssName' - The stack name.+--+-- * 'ssStackId' - The stack ID.+--+-- * 'ssLayersCount' - The number of layers.+--+-- * 'ssInstancesCount' - An @InstancesCount@ object with the number of instances in each status.+stackSummary+    :: StackSummary+stackSummary =+  StackSummary'+    { _ssARN = Nothing+    , _ssAppsCount = Nothing+    , _ssName = Nothing+    , _ssStackId = Nothing+    , _ssLayersCount = Nothing+    , _ssInstancesCount = Nothing+    }+++-- | The stack's ARN.+ssARN :: Lens' StackSummary (Maybe Text)+ssARN = lens _ssARN (\ s a -> s{_ssARN = a})++-- | The number of apps.+ssAppsCount :: Lens' StackSummary (Maybe Int)+ssAppsCount = lens _ssAppsCount (\ s a -> s{_ssAppsCount = a})++-- | The stack name.+ssName :: Lens' StackSummary (Maybe Text)+ssName = lens _ssName (\ s a -> s{_ssName = a})++-- | The stack ID.+ssStackId :: Lens' StackSummary (Maybe Text)+ssStackId = lens _ssStackId (\ s a -> s{_ssStackId = a})++-- | The number of layers.+ssLayersCount :: Lens' StackSummary (Maybe Int)+ssLayersCount = lens _ssLayersCount (\ s a -> s{_ssLayersCount = a})++-- | An @InstancesCount@ object with the number of instances in each status.+ssInstancesCount :: Lens' StackSummary (Maybe InstancesCount)+ssInstancesCount = lens _ssInstancesCount (\ s a -> s{_ssInstancesCount = a})++instance FromJSON StackSummary where+        parseJSON+          = withObject "StackSummary"+              (\ x ->+                 StackSummary' <$>+                   (x .:? "Arn") <*> (x .:? "AppsCount") <*>+                     (x .:? "Name")+                     <*> (x .:? "StackId")+                     <*> (x .:? "LayersCount")+                     <*> (x .:? "InstancesCount"))++instance Hashable StackSummary where++instance NFData StackSummary where++-- | Contains the data needed by RDP clients such as the Microsoft Remote Desktop Connection to log in to the instance.+--+--+--+-- /See:/ 'temporaryCredential' smart constructor.+data TemporaryCredential = TemporaryCredential'+  { _tcInstanceId        :: !(Maybe Text)+  , _tcUsername          :: !(Maybe Text)+  , _tcPassword          :: !(Maybe Text)+  , _tcValidForInMinutes :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TemporaryCredential' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcInstanceId' - The instance's AWS OpsWorks Stacks ID.+--+-- * 'tcUsername' - The user name.+--+-- * 'tcPassword' - The password.+--+-- * 'tcValidForInMinutes' - The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.+temporaryCredential+    :: TemporaryCredential+temporaryCredential =+  TemporaryCredential'+    { _tcInstanceId = Nothing+    , _tcUsername = Nothing+    , _tcPassword = Nothing+    , _tcValidForInMinutes = Nothing+    }+++-- | The instance's AWS OpsWorks Stacks ID.+tcInstanceId :: Lens' TemporaryCredential (Maybe Text)+tcInstanceId = lens _tcInstanceId (\ s a -> s{_tcInstanceId = a})++-- | The user name.+tcUsername :: Lens' TemporaryCredential (Maybe Text)+tcUsername = lens _tcUsername (\ s a -> s{_tcUsername = a})++-- | The password.+tcPassword :: Lens' TemporaryCredential (Maybe Text)+tcPassword = lens _tcPassword (\ s a -> s{_tcPassword = a})++-- | The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.+tcValidForInMinutes :: Lens' TemporaryCredential (Maybe Int)+tcValidForInMinutes = lens _tcValidForInMinutes (\ s a -> s{_tcValidForInMinutes = a})++instance FromJSON TemporaryCredential where+        parseJSON+          = withObject "TemporaryCredential"+              (\ x ->+                 TemporaryCredential' <$>+                   (x .:? "InstanceId") <*> (x .:? "Username") <*>+                     (x .:? "Password")+                     <*> (x .:? "ValidForInMinutes"))++instance Hashable TemporaryCredential where++instance NFData TemporaryCredential where++-- | Describes an instance's time-based auto scaling configuration.+--+--+--+-- /See:/ 'timeBasedAutoScalingConfiguration' smart constructor.+data TimeBasedAutoScalingConfiguration = TimeBasedAutoScalingConfiguration'+  { _tbascInstanceId          :: !(Maybe Text)+  , _tbascAutoScalingSchedule :: !(Maybe WeeklyAutoScalingSchedule)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TimeBasedAutoScalingConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tbascInstanceId' - The instance ID.+--+-- * 'tbascAutoScalingSchedule' - A @WeeklyAutoScalingSchedule@ object with the instance schedule.+timeBasedAutoScalingConfiguration+    :: TimeBasedAutoScalingConfiguration+timeBasedAutoScalingConfiguration =+  TimeBasedAutoScalingConfiguration'+    {_tbascInstanceId = Nothing, _tbascAutoScalingSchedule = Nothing}+++-- | The instance ID.+tbascInstanceId :: Lens' TimeBasedAutoScalingConfiguration (Maybe Text)+tbascInstanceId = lens _tbascInstanceId (\ s a -> s{_tbascInstanceId = a})++-- | A @WeeklyAutoScalingSchedule@ object with the instance schedule.+tbascAutoScalingSchedule :: Lens' TimeBasedAutoScalingConfiguration (Maybe WeeklyAutoScalingSchedule)+tbascAutoScalingSchedule = lens _tbascAutoScalingSchedule (\ s a -> s{_tbascAutoScalingSchedule = a})++instance FromJSON TimeBasedAutoScalingConfiguration+         where+        parseJSON+          = withObject "TimeBasedAutoScalingConfiguration"+              (\ x ->+                 TimeBasedAutoScalingConfiguration' <$>+                   (x .:? "InstanceId") <*>+                     (x .:? "AutoScalingSchedule"))++instance Hashable TimeBasedAutoScalingConfiguration+         where++instance NFData TimeBasedAutoScalingConfiguration+         where++-- | Describes a user's SSH information.+--+--+--+-- /See:/ 'userProfile' smart constructor.+data UserProfile = UserProfile'+  { _upAllowSelfManagement :: !(Maybe Bool)+  , _upSSHPublicKey        :: !(Maybe Text)+  , _upSSHUsername         :: !(Maybe Text)+  , _upIAMUserARN          :: !(Maybe Text)+  , _upName                :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UserProfile' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upAllowSelfManagement' - Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Managing User Permissions> .+--+-- * 'upSSHPublicKey' - The user's SSH public key.+--+-- * 'upSSHUsername' - The user's SSH user name.+--+-- * 'upIAMUserARN' - The user's IAM ARN.+--+-- * 'upName' - The user's name.+userProfile+    :: UserProfile+userProfile =+  UserProfile'+    { _upAllowSelfManagement = Nothing+    , _upSSHPublicKey = Nothing+    , _upSSHUsername = Nothing+    , _upIAMUserARN = Nothing+    , _upName = Nothing+    }+++-- | Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Managing User Permissions> .+upAllowSelfManagement :: Lens' UserProfile (Maybe Bool)+upAllowSelfManagement = lens _upAllowSelfManagement (\ s a -> s{_upAllowSelfManagement = a})++-- | The user's SSH public key.+upSSHPublicKey :: Lens' UserProfile (Maybe Text)+upSSHPublicKey = lens _upSSHPublicKey (\ s a -> s{_upSSHPublicKey = a})++-- | The user's SSH user name.+upSSHUsername :: Lens' UserProfile (Maybe Text)+upSSHUsername = lens _upSSHUsername (\ s a -> s{_upSSHUsername = a})++-- | The user's IAM ARN.+upIAMUserARN :: Lens' UserProfile (Maybe Text)+upIAMUserARN = lens _upIAMUserARN (\ s a -> s{_upIAMUserARN = a})++-- | The user's name.+upName :: Lens' UserProfile (Maybe Text)+upName = lens _upName (\ s a -> s{_upName = a})++instance FromJSON UserProfile where+        parseJSON+          = withObject "UserProfile"+              (\ x ->+                 UserProfile' <$>+                   (x .:? "AllowSelfManagement") <*>+                     (x .:? "SshPublicKey")+                     <*> (x .:? "SshUsername")+                     <*> (x .:? "IamUserArn")+                     <*> (x .:? "Name"))++instance Hashable UserProfile where++instance NFData UserProfile where++-- | Describes an instance's Amazon EBS volume.+--+--+--+-- /See:/ 'volume' smart constructor.+data Volume = Volume'+  { _vInstanceId       :: !(Maybe Text)+  , _vStatus           :: !(Maybe Text)+  , _vSize             :: !(Maybe Int)+  , _vIOPS             :: !(Maybe Int)+  , _vDevice           :: !(Maybe Text)+  , _vEncrypted        :: !(Maybe Bool)+  , _vAvailabilityZone :: !(Maybe Text)+  , _vName             :: !(Maybe Text)+  , _vRAIdArrayId      :: !(Maybe Text)+  , _vVolumeId         :: !(Maybe Text)+  , _vRegion           :: !(Maybe Text)+  , _vVolumeType       :: !(Maybe Text)+  , _vEC2VolumeId      :: !(Maybe Text)+  , _vMountPoint       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Volume' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vInstanceId' - The instance ID.+--+-- * 'vStatus' - The value returned by <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html DescribeVolumes> .+--+-- * 'vSize' - The volume size.+--+-- * 'vIOPS' - For PIOPS volumes, the IOPS per disk.+--+-- * 'vDevice' - The device name.+--+-- * 'vEncrypted' - Undocumented member.+--+-- * 'vAvailabilityZone' - The volume Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'vName' - The volume name.+--+-- * 'vRAIdArrayId' - The RAID array ID.+--+-- * 'vVolumeId' - The volume ID.+--+-- * 'vRegion' - The AWS region. For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+--+-- * 'vVolumeType' - The volume type, standard or PIOPS.+--+-- * 'vEC2VolumeId' - The Amazon EC2 volume ID.+--+-- * 'vMountPoint' - The volume mount point. For example, "/mnt/disk1".+volume+    :: Volume+volume =+  Volume'+    { _vInstanceId = Nothing+    , _vStatus = Nothing+    , _vSize = Nothing+    , _vIOPS = Nothing+    , _vDevice = Nothing+    , _vEncrypted = Nothing+    , _vAvailabilityZone = Nothing+    , _vName = Nothing+    , _vRAIdArrayId = Nothing+    , _vVolumeId = Nothing+    , _vRegion = Nothing+    , _vVolumeType = Nothing+    , _vEC2VolumeId = Nothing+    , _vMountPoint = Nothing+    }+++-- | The instance ID.+vInstanceId :: Lens' Volume (Maybe Text)+vInstanceId = lens _vInstanceId (\ s a -> s{_vInstanceId = a})++-- | The value returned by <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html DescribeVolumes> .+vStatus :: Lens' Volume (Maybe Text)+vStatus = lens _vStatus (\ s a -> s{_vStatus = a})++-- | The volume size.+vSize :: Lens' Volume (Maybe Int)+vSize = lens _vSize (\ s a -> s{_vSize = a})++-- | For PIOPS volumes, the IOPS per disk.+vIOPS :: Lens' Volume (Maybe Int)+vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a})++-- | The device name.+vDevice :: Lens' Volume (Maybe Text)+vDevice = lens _vDevice (\ s a -> s{_vDevice = a})++-- | Undocumented member.+vEncrypted :: Lens' Volume (Maybe Bool)+vEncrypted = lens _vEncrypted (\ s a -> s{_vEncrypted = a})++-- | The volume Availability Zone. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+vAvailabilityZone :: Lens' Volume (Maybe Text)+vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a})++-- | The volume name.+vName :: Lens' Volume (Maybe Text)+vName = lens _vName (\ s a -> s{_vName = a})++-- | The RAID array ID.+vRAIdArrayId :: Lens' Volume (Maybe Text)+vRAIdArrayId = lens _vRAIdArrayId (\ s a -> s{_vRAIdArrayId = a})++-- | The volume ID.+vVolumeId :: Lens' Volume (Maybe Text)+vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a})++-- | The AWS region. For more information about AWS regions, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> .+vRegion :: Lens' Volume (Maybe Text)+vRegion = lens _vRegion (\ s a -> s{_vRegion = a})++-- | The volume type, standard or PIOPS.+vVolumeType :: Lens' Volume (Maybe Text)+vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a})++-- | The Amazon EC2 volume ID.+vEC2VolumeId :: Lens' Volume (Maybe Text)+vEC2VolumeId = lens _vEC2VolumeId (\ s a -> s{_vEC2VolumeId = a})++-- | The volume mount point. For example, "/mnt/disk1".+vMountPoint :: Lens' Volume (Maybe Text)+vMountPoint = lens _vMountPoint (\ s a -> s{_vMountPoint = a})++instance FromJSON Volume where+        parseJSON+          = withObject "Volume"+              (\ x ->+                 Volume' <$>+                   (x .:? "InstanceId") <*> (x .:? "Status") <*>+                     (x .:? "Size")+                     <*> (x .:? "Iops")+                     <*> (x .:? "Device")+                     <*> (x .:? "Encrypted")+                     <*> (x .:? "AvailabilityZone")+                     <*> (x .:? "Name")+                     <*> (x .:? "RaidArrayId")+                     <*> (x .:? "VolumeId")+                     <*> (x .:? "Region")+                     <*> (x .:? "VolumeType")+                     <*> (x .:? "Ec2VolumeId")+                     <*> (x .:? "MountPoint"))++instance Hashable Volume where++instance NFData Volume where++-- | Describes an Amazon EBS volume configuration.+--+--+--+-- /See:/ 'volumeConfiguration' smart constructor.+data VolumeConfiguration = VolumeConfiguration'+  { _vcIOPS          :: !(Maybe Int)+  , _vcRAIdLevel     :: !(Maybe Int)+  , _vcEncrypted     :: !(Maybe Bool)+  , _vcVolumeType    :: !(Maybe Text)+  , _vcMountPoint    :: !Text+  , _vcNumberOfDisks :: !Int+  , _vcSize          :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VolumeConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcIOPS' - For PIOPS volumes, the IOPS per disk.+--+-- * 'vcRAIdLevel' - The volume <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .+--+-- * 'vcEncrypted' - Specifies whether an Amazon EBS volume is encrypted. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption> .+--+-- * 'vcVolumeType' - The volume type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types> .     * @standard@ - Magnetic     * @io1@ - Provisioned IOPS (SSD)     * @gp2@ - General Purpose (SSD)     * @st1@ - Throughput Optimized hard disk drive (HDD)     * @sc1@ - Cold HDD+--+-- * 'vcMountPoint' - The volume mount point. For example "/dev/sdh".+--+-- * 'vcNumberOfDisks' - The number of disks in the volume.+--+-- * 'vcSize' - The volume size.+volumeConfiguration+    :: Text -- ^ 'vcMountPoint'+    -> Int -- ^ 'vcNumberOfDisks'+    -> Int -- ^ 'vcSize'+    -> VolumeConfiguration+volumeConfiguration pMountPoint_ pNumberOfDisks_ pSize_ =+  VolumeConfiguration'+    { _vcIOPS = Nothing+    , _vcRAIdLevel = Nothing+    , _vcEncrypted = Nothing+    , _vcVolumeType = Nothing+    , _vcMountPoint = pMountPoint_+    , _vcNumberOfDisks = pNumberOfDisks_+    , _vcSize = pSize_+    }+++-- | For PIOPS volumes, the IOPS per disk.+vcIOPS :: Lens' VolumeConfiguration (Maybe Int)+vcIOPS = lens _vcIOPS (\ s a -> s{_vcIOPS = a})++-- | The volume <http://en.wikipedia.org/wiki/Standard_RAID_levels RAID level> .+vcRAIdLevel :: Lens' VolumeConfiguration (Maybe Int)+vcRAIdLevel = lens _vcRAIdLevel (\ s a -> s{_vcRAIdLevel = a})++-- | Specifies whether an Amazon EBS volume is encrypted. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html Amazon EBS Encryption> .+vcEncrypted :: Lens' VolumeConfiguration (Maybe Bool)+vcEncrypted = lens _vcEncrypted (\ s a -> s{_vcEncrypted = a})++-- | The volume type. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html Amazon EBS Volume Types> .     * @standard@ - Magnetic     * @io1@ - Provisioned IOPS (SSD)     * @gp2@ - General Purpose (SSD)     * @st1@ - Throughput Optimized hard disk drive (HDD)     * @sc1@ - Cold HDD+vcVolumeType :: Lens' VolumeConfiguration (Maybe Text)+vcVolumeType = lens _vcVolumeType (\ s a -> s{_vcVolumeType = a})++-- | The volume mount point. For example "/dev/sdh".+vcMountPoint :: Lens' VolumeConfiguration Text+vcMountPoint = lens _vcMountPoint (\ s a -> s{_vcMountPoint = a})++-- | The number of disks in the volume.+vcNumberOfDisks :: Lens' VolumeConfiguration Int+vcNumberOfDisks = lens _vcNumberOfDisks (\ s a -> s{_vcNumberOfDisks = a})++-- | The volume size.+vcSize :: Lens' VolumeConfiguration Int+vcSize = lens _vcSize (\ s a -> s{_vcSize = a})++instance FromJSON VolumeConfiguration where+        parseJSON+          = withObject "VolumeConfiguration"+              (\ x ->+                 VolumeConfiguration' <$>+                   (x .:? "Iops") <*> (x .:? "RaidLevel") <*>+                     (x .:? "Encrypted")+                     <*> (x .:? "VolumeType")+                     <*> (x .: "MountPoint")+                     <*> (x .: "NumberOfDisks")+                     <*> (x .: "Size"))++instance Hashable VolumeConfiguration where++instance NFData VolumeConfiguration where++instance ToJSON VolumeConfiguration where+        toJSON VolumeConfiguration'{..}+          = object+              (catMaybes+                 [("Iops" .=) <$> _vcIOPS,+                  ("RaidLevel" .=) <$> _vcRAIdLevel,+                  ("Encrypted" .=) <$> _vcEncrypted,+                  ("VolumeType" .=) <$> _vcVolumeType,+                  Just ("MountPoint" .= _vcMountPoint),+                  Just ("NumberOfDisks" .= _vcNumberOfDisks),+                  Just ("Size" .= _vcSize)])++-- | Describes a time-based instance's auto scaling schedule. The schedule consists of a set of key-value pairs.+--+--+--     * The key is the time period (a UTC hour) and must be an integer from 0 - 23.+--+--     * The value indicates whether the instance should be online or offline for the specified period, and must be set to "on" or "off"+--+--+--+-- The default setting for all time periods is off, so you use the following parameters primarily to specify the online periods. You don't have to explicitly specify offline periods unless you want to change an online period to an offline period.+--+-- The following example specifies that the instance should be online for four hours, from UTC 1200 - 1600. It will be off for the remainder of the day.+--+-- @{ "12":"on", "13":"on", "14":"on", "15":"on" } @+--+--+-- /See:/ 'weeklyAutoScalingSchedule' smart constructor.+data WeeklyAutoScalingSchedule = WeeklyAutoScalingSchedule'+  { _wassThursday  :: !(Maybe (Map Text Text))+  , _wassWednesday :: !(Maybe (Map Text Text))+  , _wassSaturday  :: !(Maybe (Map Text Text))+  , _wassMonday    :: !(Maybe (Map Text Text))+  , _wassFriday    :: !(Maybe (Map Text Text))+  , _wassSunday    :: !(Maybe (Map Text Text))+  , _wassTuesday   :: !(Maybe (Map Text Text))+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WeeklyAutoScalingSchedule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wassThursday' - The schedule for Thursday.+--+-- * 'wassWednesday' - The schedule for Wednesday.+--+-- * 'wassSaturday' - The schedule for Saturday.+--+-- * 'wassMonday' - The schedule for Monday.+--+-- * 'wassFriday' - The schedule for Friday.+--+-- * 'wassSunday' - The schedule for Sunday.+--+-- * 'wassTuesday' - The schedule for Tuesday.+weeklyAutoScalingSchedule+    :: WeeklyAutoScalingSchedule+weeklyAutoScalingSchedule =+  WeeklyAutoScalingSchedule'+    { _wassThursday = Nothing+    , _wassWednesday = Nothing+    , _wassSaturday = Nothing+    , _wassMonday = Nothing+    , _wassFriday = Nothing+    , _wassSunday = Nothing+    , _wassTuesday = Nothing+    }+++-- | The schedule for Thursday.+wassThursday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassThursday = lens _wassThursday (\ s a -> s{_wassThursday = a}) . _Default . _Map++-- | The schedule for Wednesday.+wassWednesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassWednesday = lens _wassWednesday (\ s a -> s{_wassWednesday = a}) . _Default . _Map++-- | The schedule for Saturday.+wassSaturday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassSaturday = lens _wassSaturday (\ s a -> s{_wassSaturday = a}) . _Default . _Map++-- | The schedule for Monday.+wassMonday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassMonday = lens _wassMonday (\ s a -> s{_wassMonday = a}) . _Default . _Map++-- | The schedule for Friday.+wassFriday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassFriday = lens _wassFriday (\ s a -> s{_wassFriday = a}) . _Default . _Map++-- | The schedule for Sunday.+wassSunday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassSunday = lens _wassSunday (\ s a -> s{_wassSunday = a}) . _Default . _Map++-- | The schedule for Tuesday.+wassTuesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)+wassTuesday = lens _wassTuesday (\ s a -> s{_wassTuesday = a}) . _Default . _Map  instance FromJSON WeeklyAutoScalingSchedule where         parseJSON
gen/Network/AWS/OpsWorks/Types/Sum.hs view
@@ -9,7 +9,7 @@  -- | -- Module      : Network.AWS.OpsWorks.Types.Sum--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
gen/Network/AWS/OpsWorks/UnassignInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UnassignInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The instance ID. uInstanceId :: Lens' UnassignInstance Text-uInstanceId = lens _uInstanceId (\ s a -> s{_uInstanceId = a});+uInstanceId = lens _uInstanceId (\ s a -> s{_uInstanceId = a})  instance AWSRequest UnassignInstance where         type Rs UnassignInstance = UnassignInstanceResponse
gen/Network/AWS/OpsWorks/UnassignVolume.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UnassignVolume--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -62,7 +62,7 @@  -- | The volume ID. uvVolumeId :: Lens' UnassignVolume Text-uvVolumeId = lens _uvVolumeId (\ s a -> s{_uvVolumeId = a});+uvVolumeId = lens _uvVolumeId (\ s a -> s{_uvVolumeId = a})  instance AWSRequest UnassignVolume where         type Rs UnassignVolume = UnassignVolumeResponse
gen/Network/AWS/OpsWorks/UntagResource.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UntagResource--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -65,11 +65,11 @@  -- | The stack or layer's Amazon Resource Number (ARN). urResourceARN :: Lens' UntagResource Text-urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a});+urResourceARN = lens _urResourceARN (\ s a -> s{_urResourceARN = a})  -- | A list of the keys of tags to be removed from a stack or layer. urTagKeys :: Lens' UntagResource [Text]-urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce;+urTagKeys = lens _urTagKeys (\ s a -> s{_urTagKeys = a}) . _Coerce  instance AWSRequest UntagResource where         type Rs UntagResource = UntagResourceResponse
gen/Network/AWS/OpsWorks/UpdateApp.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateApp--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -99,63 +99,63 @@     -> UpdateApp updateApp pAppId_ =   UpdateApp'-  { _uaSSLConfiguration = Nothing-  , _uaEnvironment = Nothing-  , _uaEnableSSL = Nothing-  , _uaDataSources = Nothing-  , _uaAppSource = Nothing-  , _uaAttributes = Nothing-  , _uaName = Nothing-  , _uaType = Nothing-  , _uaDomains = Nothing-  , _uaDescription = Nothing-  , _uaAppId = pAppId_-  }+    { _uaSSLConfiguration = Nothing+    , _uaEnvironment = Nothing+    , _uaEnableSSL = Nothing+    , _uaDataSources = Nothing+    , _uaAppSource = Nothing+    , _uaAttributes = Nothing+    , _uaName = Nothing+    , _uaType = Nothing+    , _uaDomains = Nothing+    , _uaDescription = Nothing+    , _uaAppId = pAppId_+    }   -- | An @SslConfiguration@ object with the SSL configuration. uaSSLConfiguration :: Lens' UpdateApp (Maybe SSLConfiguration)-uaSSLConfiguration = lens _uaSSLConfiguration (\ s a -> s{_uaSSLConfiguration = a});+uaSSLConfiguration = lens _uaSSLConfiguration (\ s a -> s{_uaSSLConfiguration = a})  -- | An array of @EnvironmentVariable@ objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment Environment Variables> . There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 10KB)." uaEnvironment :: Lens' UpdateApp [EnvironmentVariable]-uaEnvironment = lens _uaEnvironment (\ s a -> s{_uaEnvironment = a}) . _Default . _Coerce;+uaEnvironment = lens _uaEnvironment (\ s a -> s{_uaEnvironment = a}) . _Default . _Coerce  -- | Whether SSL is enabled for the app. uaEnableSSL :: Lens' UpdateApp (Maybe Bool)-uaEnableSSL = lens _uaEnableSSL (\ s a -> s{_uaEnableSSL = a});+uaEnableSSL = lens _uaEnableSSL (\ s a -> s{_uaEnableSSL = a})  -- | The app's data sources. uaDataSources :: Lens' UpdateApp [DataSource]-uaDataSources = lens _uaDataSources (\ s a -> s{_uaDataSources = a}) . _Default . _Coerce;+uaDataSources = lens _uaDataSources (\ s a -> s{_uaDataSources = a}) . _Default . _Coerce  -- | A @Source@ object that specifies the app repository. uaAppSource :: Lens' UpdateApp (Maybe Source)-uaAppSource = lens _uaAppSource (\ s a -> s{_uaAppSource = a});+uaAppSource = lens _uaAppSource (\ s a -> s{_uaAppSource = a})  -- | One or more user-defined key/value pairs to be added to the stack attributes. uaAttributes :: Lens' UpdateApp (HashMap AppAttributesKeys Text)-uaAttributes = lens _uaAttributes (\ s a -> s{_uaAttributes = a}) . _Default . _Map;+uaAttributes = lens _uaAttributes (\ s a -> s{_uaAttributes = a}) . _Default . _Map  -- | The app name. uaName :: Lens' UpdateApp (Maybe Text)-uaName = lens _uaName (\ s a -> s{_uaName = a});+uaName = lens _uaName (\ s a -> s{_uaName = a})  -- | The app type. uaType :: Lens' UpdateApp (Maybe AppType)-uaType = lens _uaType (\ s a -> s{_uaType = a});+uaType = lens _uaType (\ s a -> s{_uaType = a})  -- | The app's virtual host settings, with multiple domains separated by commas. For example: @'www.example.com, example.com'@ uaDomains :: Lens' UpdateApp [Text]-uaDomains = lens _uaDomains (\ s a -> s{_uaDomains = a}) . _Default . _Coerce;+uaDomains = lens _uaDomains (\ s a -> s{_uaDomains = a}) . _Default . _Coerce  -- | A description of the app. uaDescription :: Lens' UpdateApp (Maybe Text)-uaDescription = lens _uaDescription (\ s a -> s{_uaDescription = a});+uaDescription = lens _uaDescription (\ s a -> s{_uaDescription = a})  -- | The app ID. uaAppId :: Lens' UpdateApp Text-uaAppId = lens _uaAppId (\ s a -> s{_uaAppId = a});+uaAppId = lens _uaAppId (\ s a -> s{_uaAppId = a})  instance AWSRequest UpdateApp where         type Rs UpdateApp = UpdateAppResponse
gen/Network/AWS/OpsWorks/UpdateElasticIP.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateElasticIP--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,11 +67,11 @@  -- | The new name. ueiName :: Lens' UpdateElasticIP (Maybe Text)-ueiName = lens _ueiName (\ s a -> s{_ueiName = a});+ueiName = lens _ueiName (\ s a -> s{_ueiName = a})  -- | The address. ueiElasticIP :: Lens' UpdateElasticIP Text-ueiElasticIP = lens _ueiElasticIP (\ s a -> s{_ueiElasticIP = a});+ueiElasticIP = lens _ueiElasticIP (\ s a -> s{_ueiElasticIP = a})  instance AWSRequest UpdateElasticIP where         type Rs UpdateElasticIP = UpdateElasticIPResponse
gen/Network/AWS/OpsWorks/UpdateInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -87,7 +87,7 @@ -- -- * 'uiEBSOptimized' - This property cannot be updated. ----- * 'uiOS' - The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> . For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> .+-- * 'uiOS' - The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> . For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . -- -- * 'uiAutoScalingType' - For load-based or time-based instances, the type. Windows stacks can use only time-based instances. --@@ -103,68 +103,68 @@     -> UpdateInstance updateInstance pInstanceId_ =   UpdateInstance'-  { _uiInstallUpdatesOnBoot = Nothing-  , _uiHostname = Nothing-  , _uiSSHKeyName = Nothing-  , _uiAgentVersion = Nothing-  , _uiInstanceType = Nothing-  , _uiEBSOptimized = Nothing-  , _uiOS = Nothing-  , _uiAutoScalingType = Nothing-  , _uiLayerIds = Nothing-  , _uiArchitecture = Nothing-  , _uiAMIId = Nothing-  , _uiInstanceId = pInstanceId_-  }+    { _uiInstallUpdatesOnBoot = Nothing+    , _uiHostname = Nothing+    , _uiSSHKeyName = Nothing+    , _uiAgentVersion = Nothing+    , _uiInstanceType = Nothing+    , _uiEBSOptimized = Nothing+    , _uiOS = Nothing+    , _uiAutoScalingType = Nothing+    , _uiLayerIds = Nothing+    , _uiArchitecture = Nothing+    , _uiAMIId = Nothing+    , _uiInstanceId = pInstanceId_+    }   -- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . To control when updates are installed, set this value to @false@ . You must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or by manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances. uiInstallUpdatesOnBoot :: Lens' UpdateInstance (Maybe Bool)-uiInstallUpdatesOnBoot = lens _uiInstallUpdatesOnBoot (\ s a -> s{_uiInstallUpdatesOnBoot = a});+uiInstallUpdatesOnBoot = lens _uiInstallUpdatesOnBoot (\ s a -> s{_uiInstallUpdatesOnBoot = a})  -- | The instance host name. uiHostname :: Lens' UpdateInstance (Maybe Text)-uiHostname = lens _uiHostname (\ s a -> s{_uiHostname = a});+uiHostname = lens _uiHostname (\ s a -> s{_uiHostname = a})  -- | The instance's Amazon EC2 key name. uiSSHKeyName :: Lens' UpdateInstance (Maybe Text)-uiSSHKeyName = lens _uiSSHKeyName (\ s a -> s{_uiSSHKeyName = a});+uiSSHKeyName = lens _uiSSHKeyName (\ s a -> s{_uiSSHKeyName = a})  -- | The default AWS OpsWorks Stacks agent version. You have the following options:     * @INHERIT@ - Use the stack's default agent version setting.     * /version_number/ - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance. The default setting is @INHERIT@ . To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call 'DescribeAgentVersions' . AgentVersion cannot be set to Chef 12.2. uiAgentVersion :: Lens' UpdateInstance (Maybe Text)-uiAgentVersion = lens _uiAgentVersion (\ s a -> s{_uiAgentVersion = a});+uiAgentVersion = lens _uiAgentVersion (\ s a -> s{_uiAgentVersion = a})  -- | The instance type, such as @t2.micro@ . For a list of supported instance types, open the stack in the console, choose __Instances__ , and choose __+ Instance__ . The __Size__ list contains the currently supported types. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Families and Types> . The parameter values that you use to specify the various types are in the __API Name__ column of the __Available Instance Types__ table. uiInstanceType :: Lens' UpdateInstance (Maybe Text)-uiInstanceType = lens _uiInstanceType (\ s a -> s{_uiInstanceType = a});+uiInstanceType = lens _uiInstanceType (\ s a -> s{_uiInstanceType = a})  -- | This property cannot be updated. uiEBSOptimized :: Lens' UpdateInstance (Maybe Bool)-uiEBSOptimized = lens _uiEBSOptimized (\ s a -> s{_uiEBSOptimized = a});+uiEBSOptimized = lens _uiEBSOptimized (\ s a -> s{_uiEBSOptimized = a}) --- | The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> . For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> .+-- | The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ . For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . The default option is the current Amazon Linux version. If you set this parameter to @Custom@ , you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html Operating Systems> . For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . uiOS :: Lens' UpdateInstance (Maybe Text)-uiOS = lens _uiOS (\ s a -> s{_uiOS = a});+uiOS = lens _uiOS (\ s a -> s{_uiOS = a})  -- | For load-based or time-based instances, the type. Windows stacks can use only time-based instances. uiAutoScalingType :: Lens' UpdateInstance (Maybe AutoScalingType)-uiAutoScalingType = lens _uiAutoScalingType (\ s a -> s{_uiAutoScalingType = a});+uiAutoScalingType = lens _uiAutoScalingType (\ s a -> s{_uiAutoScalingType = a})  -- | The instance's layer IDs. uiLayerIds :: Lens' UpdateInstance [Text]-uiLayerIds = lens _uiLayerIds (\ s a -> s{_uiLayerIds = a}) . _Default . _Coerce;+uiLayerIds = lens _uiLayerIds (\ s a -> s{_uiLayerIds = a}) . _Default . _Coerce  -- | The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html Instance Families and Types> . uiArchitecture :: Lens' UpdateInstance (Maybe Architecture)-uiArchitecture = lens _uiArchitecture (\ s a -> s{_uiArchitecture = a});+uiArchitecture = lens _uiArchitecture (\ s a -> s{_uiArchitecture = a})  -- | The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs. uiAMIId :: Lens' UpdateInstance (Maybe Text)-uiAMIId = lens _uiAMIId (\ s a -> s{_uiAMIId = a});+uiAMIId = lens _uiAMIId (\ s a -> s{_uiAMIId = a})  -- | The instance ID. uiInstanceId :: Lens' UpdateInstance Text-uiInstanceId = lens _uiInstanceId (\ s a -> s{_uiInstanceId = a});+uiInstanceId = lens _uiInstanceId (\ s a -> s{_uiInstanceId = a})  instance AWSRequest UpdateInstance where         type Rs UpdateInstance = UpdateInstanceResponse
gen/Network/AWS/OpsWorks/UpdateLayer.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateLayer--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -123,93 +123,93 @@     -> UpdateLayer updateLayer pLayerId_ =   UpdateLayer'-  { _ulCustomInstanceProfileARN = Nothing-  , _ulCustomSecurityGroupIds = Nothing-  , _ulInstallUpdatesOnBoot = Nothing-  , _ulCloudWatchLogsConfiguration = Nothing-  , _ulLifecycleEventConfiguration = Nothing-  , _ulShortname = Nothing-  , _ulCustomRecipes = Nothing-  , _ulCustomJSON = Nothing-  , _ulVolumeConfigurations = Nothing-  , _ulEnableAutoHealing = Nothing-  , _ulPackages = Nothing-  , _ulAttributes = Nothing-  , _ulName = Nothing-  , _ulAutoAssignPublicIPs = Nothing-  , _ulUseEBSOptimizedInstances = Nothing-  , _ulAutoAssignElasticIPs = Nothing-  , _ulLayerId = pLayerId_-  }+    { _ulCustomInstanceProfileARN = Nothing+    , _ulCustomSecurityGroupIds = Nothing+    , _ulInstallUpdatesOnBoot = Nothing+    , _ulCloudWatchLogsConfiguration = Nothing+    , _ulLifecycleEventConfiguration = Nothing+    , _ulShortname = Nothing+    , _ulCustomRecipes = Nothing+    , _ulCustomJSON = Nothing+    , _ulVolumeConfigurations = Nothing+    , _ulEnableAutoHealing = Nothing+    , _ulPackages = Nothing+    , _ulAttributes = Nothing+    , _ulName = Nothing+    , _ulAutoAssignPublicIPs = Nothing+    , _ulUseEBSOptimizedInstances = Nothing+    , _ulAutoAssignElasticIPs = Nothing+    , _ulLayerId = pLayerId_+    }   -- | The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . ulCustomInstanceProfileARN :: Lens' UpdateLayer (Maybe Text)-ulCustomInstanceProfileARN = lens _ulCustomInstanceProfileARN (\ s a -> s{_ulCustomInstanceProfileARN = a});+ulCustomInstanceProfileARN = lens _ulCustomInstanceProfileARN (\ s a -> s{_ulCustomInstanceProfileARN = a})  -- | An array containing the layer's custom security group IDs. ulCustomSecurityGroupIds :: Lens' UpdateLayer [Text]-ulCustomSecurityGroupIds = lens _ulCustomSecurityGroupIds (\ s a -> s{_ulCustomSecurityGroupIds = a}) . _Default . _Coerce;+ulCustomSecurityGroupIds = lens _ulCustomSecurityGroupIds (\ s a -> s{_ulCustomSecurityGroupIds = a}) . _Default . _Coerce  -- | Whether to install operating system and package updates when the instance boots. The default value is @true@ . To control when updates are installed, set this value to @false@ . You must then update your instances manually by using 'CreateDeployment' to run the @update_dependencies@ stack command or manually running @yum@ (Amazon Linux) or @apt-get@ (Ubuntu) on the instances. ulInstallUpdatesOnBoot :: Lens' UpdateLayer (Maybe Bool)-ulInstallUpdatesOnBoot = lens _ulInstallUpdatesOnBoot (\ s a -> s{_ulInstallUpdatesOnBoot = a});+ulInstallUpdatesOnBoot = lens _ulInstallUpdatesOnBoot (\ s a -> s{_ulInstallUpdatesOnBoot = a})  -- | Specifies CloudWatch Logs configuration options for the layer. For more information, see 'CloudWatchLogsLogStream' . ulCloudWatchLogsConfiguration :: Lens' UpdateLayer (Maybe CloudWatchLogsConfiguration)-ulCloudWatchLogsConfiguration = lens _ulCloudWatchLogsConfiguration (\ s a -> s{_ulCloudWatchLogsConfiguration = a});+ulCloudWatchLogsConfiguration = lens _ulCloudWatchLogsConfiguration (\ s a -> s{_ulCloudWatchLogsConfiguration = a})  -- | ulLifecycleEventConfiguration :: Lens' UpdateLayer (Maybe LifecycleEventConfiguration)-ulLifecycleEventConfiguration = lens _ulLifecycleEventConfiguration (\ s a -> s{_ulLifecycleEventConfiguration = a});+ulLifecycleEventConfiguration = lens _ulLifecycleEventConfiguration (\ s a -> s{_ulLifecycleEventConfiguration = a})  -- | For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\A[a-z0-9\-\_\.]+\Z/. The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the <http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html Layer Reference> ulShortname :: Lens' UpdateLayer (Maybe Text)-ulShortname = lens _ulShortname (\ s a -> s{_ulShortname = a});+ulShortname = lens _ulShortname (\ s a -> s{_ulShortname = a})  -- | A @LayerCustomRecipes@ object that specifies the layer's custom recipes. ulCustomRecipes :: Lens' UpdateLayer (Maybe Recipes)-ulCustomRecipes = lens _ulCustomRecipes (\ s a -> s{_ulCustomRecipes = a});+ulCustomRecipes = lens _ulCustomRecipes (\ s a -> s{_ulCustomRecipes = a})  -- | A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html Using Custom JSON> . ulCustomJSON :: Lens' UpdateLayer (Maybe Text)-ulCustomJSON = lens _ulCustomJSON (\ s a -> s{_ulCustomJSON = a});+ulCustomJSON = lens _ulCustomJSON (\ s a -> s{_ulCustomJSON = a})  -- | A @VolumeConfigurations@ object that describes the layer's Amazon EBS volumes. ulVolumeConfigurations :: Lens' UpdateLayer [VolumeConfiguration]-ulVolumeConfigurations = lens _ulVolumeConfigurations (\ s a -> s{_ulVolumeConfigurations = a}) . _Default . _Coerce;+ulVolumeConfigurations = lens _ulVolumeConfigurations (\ s a -> s{_ulVolumeConfigurations = a}) . _Default . _Coerce  -- | Whether to disable auto healing for the layer. ulEnableAutoHealing :: Lens' UpdateLayer (Maybe Bool)-ulEnableAutoHealing = lens _ulEnableAutoHealing (\ s a -> s{_ulEnableAutoHealing = a});+ulEnableAutoHealing = lens _ulEnableAutoHealing (\ s a -> s{_ulEnableAutoHealing = a})  -- | An array of @Package@ objects that describe the layer's packages. ulPackages :: Lens' UpdateLayer [Text]-ulPackages = lens _ulPackages (\ s a -> s{_ulPackages = a}) . _Default . _Coerce;+ulPackages = lens _ulPackages (\ s a -> s{_ulPackages = a}) . _Default . _Coerce  -- | One or more user-defined key/value pairs to be added to the stack attributes. ulAttributes :: Lens' UpdateLayer (HashMap LayerAttributesKeys (Maybe Text))-ulAttributes = lens _ulAttributes (\ s a -> s{_ulAttributes = a}) . _Default . _Map;+ulAttributes = lens _ulAttributes (\ s a -> s{_ulAttributes = a}) . _Default . _Map  -- | The layer name, which is used by the console. ulName :: Lens' UpdateLayer (Maybe Text)-ulName = lens _ulName (\ s a -> s{_ulName = a});+ulName = lens _ulName (\ s a -> s{_ulName = a})  -- | For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> . ulAutoAssignPublicIPs :: Lens' UpdateLayer (Maybe Bool)-ulAutoAssignPublicIPs = lens _ulAutoAssignPublicIPs (\ s a -> s{_ulAutoAssignPublicIPs = a});+ulAutoAssignPublicIPs = lens _ulAutoAssignPublicIPs (\ s a -> s{_ulAutoAssignPublicIPs = a})  -- | Whether to use Amazon EBS-optimized instances. ulUseEBSOptimizedInstances :: Lens' UpdateLayer (Maybe Bool)-ulUseEBSOptimizedInstances = lens _ulUseEBSOptimizedInstances (\ s a -> s{_ulUseEBSOptimizedInstances = a});+ulUseEBSOptimizedInstances = lens _ulUseEBSOptimizedInstances (\ s a -> s{_ulUseEBSOptimizedInstances = a})  -- | Whether to automatically assign an <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html Elastic IP address> to the layer's instances. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html How to Edit a Layer> . ulAutoAssignElasticIPs :: Lens' UpdateLayer (Maybe Bool)-ulAutoAssignElasticIPs = lens _ulAutoAssignElasticIPs (\ s a -> s{_ulAutoAssignElasticIPs = a});+ulAutoAssignElasticIPs = lens _ulAutoAssignElasticIPs (\ s a -> s{_ulAutoAssignElasticIPs = a})  -- | The layer ID. ulLayerId :: Lens' UpdateLayer Text-ulLayerId = lens _ulLayerId (\ s a -> s{_ulLayerId = a});+ulLayerId = lens _ulLayerId (\ s a -> s{_ulLayerId = a})  instance AWSRequest UpdateLayer where         type Rs UpdateLayer = UpdateLayerResponse
gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateMyUserProfile--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -61,7 +61,7 @@  -- | The user's SSH public key. umupSSHPublicKey :: Lens' UpdateMyUserProfile (Maybe Text)-umupSSHPublicKey = lens _umupSSHPublicKey (\ s a -> s{_umupSSHPublicKey = a});+umupSSHPublicKey = lens _umupSSHPublicKey (\ s a -> s{_umupSSHPublicKey = a})  instance AWSRequest UpdateMyUserProfile where         type Rs UpdateMyUserProfile =
gen/Network/AWS/OpsWorks/UpdateRDSDBInstance.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateRDSDBInstance--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,23 +67,23 @@     -> UpdateRDSDBInstance updateRDSDBInstance pRDSDBInstanceARN_ =   UpdateRDSDBInstance'-  { _urdiDBUser = Nothing-  , _urdiDBPassword = Nothing-  , _urdiRDSDBInstanceARN = pRDSDBInstanceARN_-  }+    { _urdiDBUser = Nothing+    , _urdiDBPassword = Nothing+    , _urdiRDSDBInstanceARN = pRDSDBInstanceARN_+    }   -- | The master user name. urdiDBUser :: Lens' UpdateRDSDBInstance (Maybe Text)-urdiDBUser = lens _urdiDBUser (\ s a -> s{_urdiDBUser = a});+urdiDBUser = lens _urdiDBUser (\ s a -> s{_urdiDBUser = a})  -- | The database password. urdiDBPassword :: Lens' UpdateRDSDBInstance (Maybe Text)-urdiDBPassword = lens _urdiDBPassword (\ s a -> s{_urdiDBPassword = a});+urdiDBPassword = lens _urdiDBPassword (\ s a -> s{_urdiDBPassword = a})  -- | The Amazon RDS instance's ARN. urdiRDSDBInstanceARN :: Lens' UpdateRDSDBInstance Text-urdiRDSDBInstanceARN = lens _urdiRDSDBInstanceARN (\ s a -> s{_urdiRDSDBInstanceARN = a});+urdiRDSDBInstanceARN = lens _urdiRDSDBInstanceARN (\ s a -> s{_urdiRDSDBInstanceARN = a})  instance AWSRequest UpdateRDSDBInstance where         type Rs UpdateRDSDBInstance =
gen/Network/AWS/OpsWorks/UpdateStack.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateStack--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -63,23 +63,23 @@ -- | /See:/ 'updateStack' smart constructor. data UpdateStack = UpdateStack'   { _usDefaultInstanceProfileARN :: !(Maybe Text)-  , _usServiceRoleARN            :: !(Maybe Text)-  , _usDefaultRootDeviceType     :: !(Maybe RootDeviceType)-  , _usChefConfiguration         :: !(Maybe ChefConfiguration)-  , _usAgentVersion              :: !(Maybe Text)-  , _usDefaultSSHKeyName         :: !(Maybe Text)-  , _usCustomJSON                :: !(Maybe Text)-  , _usCustomCookbooksSource     :: !(Maybe Source)-  , _usDefaultAvailabilityZone   :: !(Maybe Text)-  , _usAttributes                :: !(Maybe (Map StackAttributesKeys Text))-  , _usName                      :: !(Maybe Text)-  , _usDefaultOS                 :: !(Maybe Text)+  , _usServiceRoleARN :: !(Maybe Text)+  , _usDefaultRootDeviceType :: !(Maybe RootDeviceType)+  , _usChefConfiguration :: !(Maybe ChefConfiguration)+  , _usAgentVersion :: !(Maybe Text)+  , _usDefaultSSHKeyName :: !(Maybe Text)+  , _usCustomJSON :: !(Maybe Text)+  , _usCustomCookbooksSource :: !(Maybe Source)+  , _usDefaultAvailabilityZone :: !(Maybe Text)+  , _usAttributes :: !(Maybe (Map StackAttributesKeys (Maybe Text)))+  , _usName :: !(Maybe Text)+  , _usDefaultOS :: !(Maybe Text)   , _usUseOpsworksSecurityGroups :: !(Maybe Bool)-  , _usUseCustomCookbooks        :: !(Maybe Bool)-  , _usDefaultSubnetId           :: !(Maybe Text)-  , _usConfigurationManager      :: !(Maybe StackConfigurationManager)-  , _usHostnameTheme             :: !(Maybe Text)-  , _usStackId                   :: !Text+  , _usUseCustomCookbooks :: !(Maybe Bool)+  , _usDefaultSubnetId :: !(Maybe Text)+  , _usConfigurationManager :: !(Maybe StackConfigurationManager)+  , _usHostnameTheme :: !(Maybe Text)+  , _usStackId :: !Text   } deriving (Eq, Read, Show, Data, Typeable, Generic)  @@ -109,7 +109,7 @@ -- -- * 'usName' - The stack's new name. ----- * 'usDefaultOS' - The stack's operating system, which must be set to one of the following:     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the stack's current operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- * 'usDefaultOS' - The stack's operating system, which must be set to one of the following:     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the stack's current operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . -- -- * 'usUseOpsworksSecurityGroups' - Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. @UseOpsworksSecurityGroups@ allows you to provide your own custom security groups instead of using the built-in groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . --@@ -127,98 +127,98 @@     -> UpdateStack updateStack pStackId_ =   UpdateStack'-  { _usDefaultInstanceProfileARN = Nothing-  , _usServiceRoleARN = Nothing-  , _usDefaultRootDeviceType = Nothing-  , _usChefConfiguration = Nothing-  , _usAgentVersion = Nothing-  , _usDefaultSSHKeyName = Nothing-  , _usCustomJSON = Nothing-  , _usCustomCookbooksSource = Nothing-  , _usDefaultAvailabilityZone = Nothing-  , _usAttributes = Nothing-  , _usName = Nothing-  , _usDefaultOS = Nothing-  , _usUseOpsworksSecurityGroups = Nothing-  , _usUseCustomCookbooks = Nothing-  , _usDefaultSubnetId = Nothing-  , _usConfigurationManager = Nothing-  , _usHostnameTheme = Nothing-  , _usStackId = pStackId_-  }+    { _usDefaultInstanceProfileARN = Nothing+    , _usServiceRoleARN = Nothing+    , _usDefaultRootDeviceType = Nothing+    , _usChefConfiguration = Nothing+    , _usAgentVersion = Nothing+    , _usDefaultSSHKeyName = Nothing+    , _usCustomJSON = Nothing+    , _usCustomCookbooksSource = Nothing+    , _usDefaultAvailabilityZone = Nothing+    , _usAttributes = Nothing+    , _usName = Nothing+    , _usDefaultOS = Nothing+    , _usUseOpsworksSecurityGroups = Nothing+    , _usUseCustomCookbooks = Nothing+    , _usDefaultSubnetId = Nothing+    , _usConfigurationManager = Nothing+    , _usHostnameTheme = Nothing+    , _usStackId = pStackId_+    }   -- | The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html Using Identifiers> . usDefaultInstanceProfileARN :: Lens' UpdateStack (Maybe Text)-usDefaultInstanceProfileARN = lens _usDefaultInstanceProfileARN (\ s a -> s{_usDefaultInstanceProfileARN = a});+usDefaultInstanceProfileARN = lens _usDefaultInstanceProfileARN (\ s a -> s{_usDefaultInstanceProfileARN = a})  -- | Do not use this parameter. You cannot update a stack's service role. usServiceRoleARN :: Lens' UpdateStack (Maybe Text)-usServiceRoleARN = lens _usServiceRoleARN (\ s a -> s{_usServiceRoleARN = a});+usServiceRoleARN = lens _usServiceRoleARN (\ s a -> s{_usServiceRoleARN = a})  -- | The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device Storage for the Root Device> . usDefaultRootDeviceType :: Lens' UpdateStack (Maybe RootDeviceType)-usDefaultRootDeviceType = lens _usDefaultRootDeviceType (\ s a -> s{_usDefaultRootDeviceType = a});+usDefaultRootDeviceType = lens _usDefaultRootDeviceType (\ s a -> s{_usDefaultRootDeviceType = a})  -- | A @ChefConfiguration@ object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . usChefConfiguration :: Lens' UpdateStack (Maybe ChefConfiguration)-usChefConfiguration = lens _usChefConfiguration (\ s a -> s{_usChefConfiguration = a});+usChefConfiguration = lens _usChefConfiguration (\ s a -> s{_usChefConfiguration = a})  -- | The default AWS OpsWorks Stacks agent version. You have the following options:     * Auto-update - Set this parameter to @LATEST@ . AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.     * Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances. The default setting is @LATEST@ . To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call 'DescribeAgentVersions' . AgentVersion cannot be set to Chef 12.2. usAgentVersion :: Lens' UpdateStack (Maybe Text)-usAgentVersion = lens _usAgentVersion (\ s a -> s{_usAgentVersion = a});+usAgentVersion = lens _usAgentVersion (\ s a -> s{_usAgentVersion = a})  -- | A default Amazon EC2 key-pair name. The default value is @none@ . If you specify a key-pair name, AWS OpsWorks Stacks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html Using SSH to Communicate with an Instance> and <http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html Managing SSH Access> . You can override this setting by specifying a different key pair, or no key pair, when you <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html create an instance> . usDefaultSSHKeyName :: Lens' UpdateStack (Maybe Text)-usDefaultSSHKeyName = lens _usDefaultSSHKeyName (\ s a -> s{_usDefaultSSHKeyName = a});+usDefaultSSHKeyName = lens _usDefaultSSHKeyName (\ s a -> s{_usDefaultSSHKeyName = a})  -- | A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format: @"{\"key1\": \"value1\", \"key2\": \"value2\",...}"@  For more information on custom JSON, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html Use Custom JSON to Modify the Stack Configuration Attributes> . usCustomJSON :: Lens' UpdateStack (Maybe Text)-usCustomJSON = lens _usCustomJSON (\ s a -> s{_usCustomJSON = a});+usCustomJSON = lens _usCustomJSON (\ s a -> s{_usCustomJSON = a})  -- | Undocumented member. usCustomCookbooksSource :: Lens' UpdateStack (Maybe Source)-usCustomCookbooksSource = lens _usCustomCookbooksSource (\ s a -> s{_usCustomCookbooksSource = a});+usCustomCookbooksSource = lens _usCustomCookbooksSource (\ s a -> s{_usCustomCookbooksSource = a})  -- | The stack's default Availability Zone, which must be in the stack's region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html Regions and Endpoints> . If you also specify a value for @DefaultSubnetId@ , the subnet must be in the same zone. For more information, see 'CreateStack' . usDefaultAvailabilityZone :: Lens' UpdateStack (Maybe Text)-usDefaultAvailabilityZone = lens _usDefaultAvailabilityZone (\ s a -> s{_usDefaultAvailabilityZone = a});+usDefaultAvailabilityZone = lens _usDefaultAvailabilityZone (\ s a -> s{_usDefaultAvailabilityZone = a})  -- | One or more user-defined key-value pairs to be added to the stack attributes.-usAttributes :: Lens' UpdateStack (HashMap StackAttributesKeys Text)-usAttributes = lens _usAttributes (\ s a -> s{_usAttributes = a}) . _Default . _Map;+usAttributes :: Lens' UpdateStack (HashMap StackAttributesKeys (Maybe Text))+usAttributes = lens _usAttributes (\ s a -> s{_usAttributes = a}) . _Default . _Map  -- | The stack's new name. usName :: Lens' UpdateStack (Maybe Text)-usName = lens _usName (\ s a -> s{_usName = a});+usName = lens _usName (\ s a -> s{_usName = a}) --- | The stack's operating system, which must be set to one of the following:     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the stack's current operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> .+-- | The stack's operating system, which must be set to one of the following:     * A supported Linux operating system: An Amazon Linux version, such as @Amazon Linux 2017.09@ , @Amazon Linux 2017.03@ , @Amazon Linux 2016.09@ , @Amazon Linux 2016.03@ , @Amazon Linux 2015.09@ , or @Amazon Linux 2015.03@ .     * A supported Ubuntu operating system, such as @Ubuntu 16.04 LTS@ , @Ubuntu 14.04 LTS@ , or @Ubuntu 12.04 LTS@ .     * @CentOS Linux 7@      * @Red Hat Enterprise Linux 7@      * A supported Windows operating system, such as @Microsoft Windows Server 2012 R2 Base@ , @Microsoft Windows Server 2012 R2 with SQL Server Express@ , @Microsoft Windows Server 2012 R2 with SQL Server Standard@ , or @Microsoft Windows Server 2012 R2 with SQL Server Web@ .     * A custom AMI: @Custom@ . You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html Using Custom AMIs> . The default option is the stack's current operating system. For more information on the supported operating systems, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html AWS OpsWorks Stacks Operating Systems> . usDefaultOS :: Lens' UpdateStack (Maybe Text)-usDefaultOS = lens _usDefaultOS (\ s a -> s{_usDefaultOS = a});+usDefaultOS = lens _usDefaultOS (\ s a -> s{_usDefaultOS = a})  -- | Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers. AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. @UseOpsworksSecurityGroups@ allows you to provide your own custom security groups instead of using the built-in groups. @UseOpsworksSecurityGroups@ has the following settings:      * True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.     * False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html Create a New Stack> . usUseOpsworksSecurityGroups :: Lens' UpdateStack (Maybe Bool)-usUseOpsworksSecurityGroups = lens _usUseOpsworksSecurityGroups (\ s a -> s{_usUseOpsworksSecurityGroups = a});+usUseOpsworksSecurityGroups = lens _usUseOpsworksSecurityGroups (\ s a -> s{_usUseOpsworksSecurityGroups = a})  -- | Whether the stack uses custom cookbooks. usUseCustomCookbooks :: Lens' UpdateStack (Maybe Bool)-usUseCustomCookbooks = lens _usUseCustomCookbooks (\ s a -> s{_usUseCustomCookbooks = a});+usUseCustomCookbooks = lens _usUseCustomCookbooks (\ s a -> s{_usUseCustomCookbooks = a})  -- | The stack's default VPC subnet ID. This parameter is required if you specify a value for the @VpcId@ parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for @DefaultAvailabilityZone@ , the subnet must be in that zone. For information on default values and when this parameter is required, see the @VpcId@ parameter description. usDefaultSubnetId :: Lens' UpdateStack (Maybe Text)-usDefaultSubnetId = lens _usDefaultSubnetId (\ s a -> s{_usDefaultSubnetId = a});+usDefaultSubnetId = lens _usDefaultSubnetId (\ s a -> s{_usDefaultSubnetId = a})  -- | The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4. usConfigurationManager :: Lens' UpdateStack (Maybe StackConfigurationManager)-usConfigurationManager = lens _usConfigurationManager (\ s a -> s{_usConfigurationManager = a});+usConfigurationManager = lens _usConfigurationManager (\ s a -> s{_usConfigurationManager = a})  -- | The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, @HostnameTheme@ is set to @Layer_Dependent@ , which creates host names by appending integers to the layer's short name. The other themes are:     * @Baked_Goods@      * @Clouds@      * @Europe_Cities@      * @Fruits@      * @Greek_Deities@      * @Legendary_creatures_from_Japan@      * @Planets_and_Moons@      * @Roman_Deities@      * @Scottish_Islands@      * @US_Cities@      * @Wild_Cats@  To obtain a generated host name, call @GetHostNameSuggestion@ , which returns a host name based on the current theme. usHostnameTheme :: Lens' UpdateStack (Maybe Text)-usHostnameTheme = lens _usHostnameTheme (\ s a -> s{_usHostnameTheme = a});+usHostnameTheme = lens _usHostnameTheme (\ s a -> s{_usHostnameTheme = a})  -- | The stack ID. usStackId :: Lens' UpdateStack Text-usStackId = lens _usStackId (\ s a -> s{_usStackId = a});+usStackId = lens _usStackId (\ s a -> s{_usStackId = a})  instance AWSRequest UpdateStack where         type Rs UpdateStack = UpdateStackResponse
gen/Network/AWS/OpsWorks/UpdateUserProfile.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateUserProfile--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -71,28 +71,28 @@     -> UpdateUserProfile updateUserProfile pIAMUserARN_ =   UpdateUserProfile'-  { _uupAllowSelfManagement = Nothing-  , _uupSSHPublicKey = Nothing-  , _uupSSHUsername = Nothing-  , _uupIAMUserARN = pIAMUserARN_-  }+    { _uupAllowSelfManagement = Nothing+    , _uupSSHPublicKey = Nothing+    , _uupSSHUsername = Nothing+    , _uupIAMUserARN = pIAMUserARN_+    }   -- | Whether users can specify their own SSH public key through the My Settings page. For more information, see <http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html Managing User Permissions> . uupAllowSelfManagement :: Lens' UpdateUserProfile (Maybe Bool)-uupAllowSelfManagement = lens _uupAllowSelfManagement (\ s a -> s{_uupAllowSelfManagement = a});+uupAllowSelfManagement = lens _uupAllowSelfManagement (\ s a -> s{_uupAllowSelfManagement = a})  -- | The user's new SSH public key. uupSSHPublicKey :: Lens' UpdateUserProfile (Maybe Text)-uupSSHPublicKey = lens _uupSSHPublicKey (\ s a -> s{_uupSSHPublicKey = a});+uupSSHPublicKey = lens _uupSSHPublicKey (\ s a -> s{_uupSSHPublicKey = a})  -- | The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, @my.name@ will be changed to @myname@ . If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name. uupSSHUsername :: Lens' UpdateUserProfile (Maybe Text)-uupSSHUsername = lens _uupSSHUsername (\ s a -> s{_uupSSHUsername = a});+uupSSHUsername = lens _uupSSHUsername (\ s a -> s{_uupSSHUsername = a})  -- | The user IAM ARN. This can also be a federated user's ARN. uupIAMUserARN :: Lens' UpdateUserProfile Text-uupIAMUserARN = lens _uupIAMUserARN (\ s a -> s{_uupIAMUserARN = a});+uupIAMUserARN = lens _uupIAMUserARN (\ s a -> s{_uupIAMUserARN = a})  instance AWSRequest UpdateUserProfile where         type Rs UpdateUserProfile = UpdateUserProfileResponse
gen/Network/AWS/OpsWorks/UpdateVolume.hs view
@@ -12,7 +12,7 @@  -- | -- Module      : Network.AWS.OpsWorks.UpdateVolume--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -67,20 +67,20 @@     -> UpdateVolume updateVolume pVolumeId_ =   UpdateVolume'-  {_uName = Nothing, _uMountPoint = Nothing, _uVolumeId = pVolumeId_}+    {_uName = Nothing, _uMountPoint = Nothing, _uVolumeId = pVolumeId_}   -- | The new name. uName :: Lens' UpdateVolume (Maybe Text)-uName = lens _uName (\ s a -> s{_uName = a});+uName = lens _uName (\ s a -> s{_uName = a})  -- | The new mount point. uMountPoint :: Lens' UpdateVolume (Maybe Text)-uMountPoint = lens _uMountPoint (\ s a -> s{_uMountPoint = a});+uMountPoint = lens _uMountPoint (\ s a -> s{_uMountPoint = a})  -- | The volume ID. uVolumeId :: Lens' UpdateVolume Text-uVolumeId = lens _uVolumeId (\ s a -> s{_uVolumeId = a});+uVolumeId = lens _uVolumeId (\ s a -> s{_uVolumeId = a})  instance AWSRequest UpdateVolume where         type Rs UpdateVolume = UpdateVolumeResponse
gen/Network/AWS/OpsWorks/Waiters.hs view
@@ -7,7 +7,7 @@  -- | -- Module      : Network.AWS.OpsWorks.Waiters--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -30,223 +30,219 @@ instanceTerminated :: Wait DescribeInstances instanceTerminated =   Wait-  { _waitName = "InstanceTerminated"-  , _waitAttempts = 40-  , _waitDelay = 15-  , _waitAcceptors =-      [ matchAll-          "terminated"-          AcceptSuccess-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchError "ResourceNotFoundException" AcceptSuccess-      , matchAny-          "booting"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "online"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "pending"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "rebooting"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "requested"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "running_setup"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "setup_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "start_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      ]-  }+    { _waitName = "InstanceTerminated"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors =+        [ matchAll+            "terminated"+            AcceptSuccess+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchError "ResourceNotFoundException" AcceptSuccess+        , matchAny+            "booting"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "online"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "pending"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "rebooting"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "requested"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "running_setup"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "setup_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "start_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        ]+    }   -- | Polls 'Network.AWS.OpsWorks.DescribeDeployments' every 15 seconds until a successful state is reached. An error is returned after 40 failed checks. deploymentSuccessful :: Wait DescribeDeployments deploymentSuccessful =   Wait-  { _waitName = "DeploymentSuccessful"-  , _waitAttempts = 40-  , _waitDelay = 15-  , _waitAcceptors =-      [ matchAll-          "successful"-          AcceptSuccess-          (folding (concatOf ddrsDeployments) . dStatus . _Just . to toTextCI)-      , matchAny-          "failed"-          AcceptFailure-          (folding (concatOf ddrsDeployments) . dStatus . _Just . to toTextCI)-      ]-  }+    { _waitName = "DeploymentSuccessful"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors =+        [ matchAll+            "successful"+            AcceptSuccess+            (folding (concatOf ddrsDeployments) . dStatus . _Just . to toTextCI)+        , matchAny+            "failed"+            AcceptFailure+            (folding (concatOf ddrsDeployments) . dStatus . _Just . to toTextCI)+        ]+    }   -- | Polls 'Network.AWS.OpsWorks.DescribeInstances' every 15 seconds until a successful state is reached. An error is returned after 40 failed checks. instanceStopped :: Wait DescribeInstances instanceStopped =   Wait-  { _waitName = "InstanceStopped"-  , _waitAttempts = 40-  , _waitDelay = 15-  , _waitAcceptors =-      [ matchAll-          "stopped"-          AcceptSuccess-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "booting"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "online"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "pending"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "rebooting"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "requested"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "running_setup"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "setup_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "start_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stop_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      ]-  }+    { _waitName = "InstanceStopped"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors =+        [ matchAll+            "stopped"+            AcceptSuccess+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "booting"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "pending"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "rebooting"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "requested"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "running_setup"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "setup_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "start_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stop_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        ]+    }   -- | Polls 'Network.AWS.OpsWorks.DescribeInstances' every 15 seconds until a successful state is reached. An error is returned after 40 failed checks. instanceOnline :: Wait DescribeInstances instanceOnline =   Wait-  { _waitName = "InstanceOnline"-  , _waitAttempts = 40-  , _waitDelay = 15-  , _waitAcceptors =-      [ matchAll-          "online"-          AcceptSuccess-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "setup_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "shutting_down"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "start_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stopped"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stopping"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "terminating"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "terminated"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stop_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      ]-  }+    { _waitName = "InstanceOnline"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors =+        [ matchAll+            "online"+            AcceptSuccess+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "setup_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "shutting_down"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "start_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stopped"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stopping"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "terminating"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "terminated"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stop_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        ]+    }   -- | Polls 'Network.AWS.OpsWorks.DescribeApps' every 1 seconds until a successful state is reached. An error is returned after 40 failed checks. appExists :: Wait DescribeApps appExists =   Wait-  { _waitName = "AppExists"-  , _waitAttempts = 40-  , _waitDelay = 1-  , _waitAcceptors =-      [matchStatus 200 AcceptSuccess, matchStatus 400 AcceptFailure]-  }+    { _waitName = "AppExists"+    , _waitAttempts = 40+    , _waitDelay = 1+    , _waitAcceptors =+        [matchStatus 200 AcceptSuccess, matchStatus 400 AcceptFailure]+    }   -- | Polls 'Network.AWS.OpsWorks.DescribeInstances' every 15 seconds until a successful state is reached. An error is returned after 40 failed checks. instanceRegistered :: Wait DescribeInstances instanceRegistered =   Wait-  { _waitName = "InstanceRegistered"-  , _waitAttempts = 40-  , _waitDelay = 15-  , _waitAcceptors =-      [ matchAll-          "registered"-          AcceptSuccess-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "setup_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "shutting_down"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stopped"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stopping"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "terminating"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "terminated"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      , matchAny-          "stop_failed"-          AcceptFailure-          (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)-      ]-  }+    { _waitName = "InstanceRegistered"+    , _waitAttempts = 40+    , _waitDelay = 15+    , _waitAcceptors =+        [ matchAll+            "registered"+            AcceptSuccess+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "setup_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "shutting_down"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stopped"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stopping"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "terminating"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "terminated"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        , matchAny+            "stop_failed"+            AcceptFailure+            (folding (concatOf dirsInstances) . iStatus . _Just . to toTextCI)+        ]+    } 
test/Main.hs view
@@ -2,7 +2,7 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated
test/Test/AWS/Gen/OpsWorks.hs view
@@ -5,7 +5,7 @@  -- | -- Module      : Test.AWS.Gen.OpsWorks--- Copyright   : (c) 2013-2017 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated@@ -220,6 +220,9 @@ --         , requestCreateUserProfile $ --             createUserProfile --+--         , requestDescribeOperatingSystems $+--             describeOperatingSystems+-- --         , requestDescribeCommands $ --             describeCommands --@@ -442,6 +445,9 @@ --         , responseCreateUserProfile $ --             createUserProfileResponse --+--         , responseDescribeOperatingSystems $+--             describeOperatingSystemsResponse+-- --         , responseDescribeCommands $ --             describeCommandsResponse --@@ -794,6 +800,11 @@     "CreateUserProfile"     "fixture/CreateUserProfile.yaml" +requestDescribeOperatingSystems :: DescribeOperatingSystems -> TestTree+requestDescribeOperatingSystems = req+    "DescribeOperatingSystems"+    "fixture/DescribeOperatingSystems.yaml"+ requestDescribeCommands :: DescribeCommands -> TestTree requestDescribeCommands = req     "DescribeCommands"@@ -1288,6 +1299,13 @@     "fixture/CreateUserProfileResponse.proto"     opsWorks     (Proxy :: Proxy CreateUserProfile)++responseDescribeOperatingSystems :: DescribeOperatingSystemsResponse -> TestTree+responseDescribeOperatingSystems = res+    "DescribeOperatingSystemsResponse"+    "fixture/DescribeOperatingSystemsResponse.proto"+    opsWorks+    (Proxy :: Proxy DescribeOperatingSystems)  responseDescribeCommands :: DescribeCommandsResponse -> TestTree responseDescribeCommands = res
test/Test/AWS/OpsWorks.hs view
@@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-}  -- Module      : Test.AWS.OpsWorks--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or
test/Test/AWS/OpsWorks/Internal.hs view
@@ -2,7 +2,7 @@ {-# OPTIONS_GHC -fno-warn-unused-imports #-}  -- Module      : Test.AWS.OpsWorks.Internal--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2018 Brendan Hay -- License     : This Source Code Form is subject to the terms of --               the Mozilla Public License, v. 2.0. --               A copy of the MPL can be found in the LICENSE file or